Skip to content

Unify workflow scripts under a single Python implementation per command #3277

Description

@mnriem

Goal

Replace the paired bash (.sh) + PowerShell (.ps1) scripts with one Python script per occurrence, eliminating dual-maintenance and the jq/manual-JSON divergence. The specify CLI is already Python, so the interpreter is guaranteed present — no new runtime dependency.

Scope

~4,500 lines across ~10 script pairs:

  • Core scripts/{bash,powershell}/common, check-prerequisites, create-new-feature, setup-plan, setup-tasks
  • extensions/agent-context/scripts/update-agent-context
  • extensions/git/scripts/git-common, initialize-repo, auto-commit, create-new-feature-branch

Strategy

Incremental. Introduce py as a third script type alongside sh/ps, port one script end-to-end as a proof of concept with output-parity tests, then migrate the rest. Only after parity is proven do we consider deprecating sh/ps.

Contract to preserve

Agents parse script stdout (FEATURE_DIR:…, AVAILABLE_DOCS:…, JSON shapes, and the --json / --paths-only / --require-tasks / --include-tasks flags). Behavioral parity is the acceptance bar for every port.

Sub-issues

Out of scope (for now)

Removing .sh/.ps1 files. They stay until py reaches full parity and adoption.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions