-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Open
Open
Feature
Copy link
Labels
Description
Summary
- Replace duplicated Bash and PowerShell scripts with a single cross‑platform CLI implemented in Bun/Node.js to reduce drift, simplify maintenance, and ensure consistent behavior across Windows, macOS, and Linux.
Motivation
- The repo maintains parallel Bash and PowerShell variants for common tasks, increasing upkeep and risk of divergence.
- Shell differences around quoting, path handling, env, and exit codes create fragile workflows for contributors and CI.
- JSON/FS/process orchestration and richer UX (prompts, colors, structured logs) are more robust in JS than in shell.
Proposal
- Introduce a unified CLI package (e.g., “spec-kit”) in TypeScript targeting Bun and Node.js, exposing existing scripts as subcommands.
- Bun‑first for speed and DX, Node‑compatible for ubiquity in CI and contributor environments.
Scope (initial port)
- scripts/check-task-prerequisites.sh → spec-kit check.
- scripts/create-new-feature.sh → spec-kit feature create.
- scripts/get-feature-paths.sh → spec-kit feature paths.
- scripts/setup-plan.sh → spec-kit plan setup.
- scripts/update-claude-md.sh → spec-kit docs update.
Command mapping
Current script | Purpose | Proposed command |
---|---|---|
check-task-prerequisites.sh | Tooling/env validation | spec-kit check |
create-new-feature.sh | Branch + spec bootstrap | spec-kit feature create |
get-feature-paths.sh | Resolve spec paths | spec-kit feature paths |
setup-plan.sh | Initialize planning artifacts | spec-kit plan setup |
update-claude-md.sh | Sync/update docs | spec-kit docs update |
Migration plan
- MVP: implement spec-kit check and spec-kit feature create with parity outputs/exit codes.
- Port remaining scripts and add E2E tests comparing against current shell behavior.
- Deprecate shell scripts via thin shims delegating to spec-kit for one release.
- Remove legacy scripts after one minor release with clear notes in README and releases.
Requested feedback
- Agreement on approach and package name, plus any additional scripts to include in the first wave.
amondnet and morookiddRednas83