Skip to content

[Refactor] Decouple Git from Conductor commands to support multi-VCS (JJ, Piper). #70

@mahimashanware

Description

@mahimashanware

Overview

Currently, Conductor commands are tightly coupled to Git. We need to refactor this to support other VCS systems like Jujutsu (JJ) and Piper.

This issue tracks the work to remove Git-specific logic from the core commands and move them into specific workflow templates.

Architecture Changes

1. Workflow Templates

We need to move the default workflow from being hardcoded to Git.

  • Current: templates/workflow.md is the default.
  • Plan: Rename the current templates/workflow.md to a Git-specific workflow (templates/git_workflow.md) and make the system select the correct workflow based on the user's VCS.

2. Revert Flow

The revert logic in commands/conductor/revert.toml currently assumes Git behavior. We need to:

  • Abstract the "revert" concept so it works for various VCS.
  • Create separate configuration or strategy patterns for each VCS.

Task List

  • Phase 1: Extraction
    • Refactor conductor commands to remove direct Git dependencies.
    • Rename templates/workflow.md to templates/git_workflow.md.
  • Phase 2: The Interface
    • Implement a mechanism to select the correct workflow file based on the detected VCS.
  • Phase 3: New Systems
    • Add templates/jj_workflow.md.
    • Update revert.toml logic to handle non-Git revert flows.

Related Issues

Metadata

Metadata

Labels

area:revertRelated to conductor:revert commandfeatureNew feature or requestp1High priority. Must be fixed in the upcoming release

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions