- Create VISION.md with full product spec
- Scaffold AI-native tooling (.context, .claude, .cursor, project docs)
- Decide implementation language → TypeScript + Node.js 20 LTS
- Set up project config (pnpm, tsup, vitest, biome, strict TS)
- Implement CLI skeleton with 3 MVP commands (split, apply, push)
- Config module (cosmiconfig + Zod schema for .stacksmithrc)
- Core types + StackPlan Zod schemas (whole/dissect/delete with inline SliceContent)
- Build diff parser (parse-diff wrapper → DiffFile/DiffHunk)
- Build dependency graph from import analysis (TS + Python)
- Implement file classifier (7 roles: types/core/integration/tests/docs/config/unknown)
- Implement heuristic slicer (bucket by role, topological sort by dependency)
- LLM adapter interface + Claude CLI adapter + AI SDK adapter (BYOK)
- Implement AI planner (prompt builder, structured output, retry loop)
- Implement boundary verification (tsc/py_compile per slice, integrated into split)
- Implement auto-collapse (merge failing slices, renumber, retry)
- Wire
splitend-to-end with validation loop - Implement
apply(plan applier: whole/dissect/delete, git branch per slice) - Implement
push(force-with-lease, GitHub PRs ready/draft, stack TOC, backfill links) - Add "tiny diff" bypass (< 300 LOC + ≤ 5 files → single PR, skip AI)
- Add 400 LOC per-slice warning
- Add per-slice file list in PR body
- Handle file deletions and renames in plan applier
- E2E test suite (golden plans, fixture repos, live Claude CLI test)
- 82 tests across 15 test files, all passing
See docs/ROADMAP.md for full rationale and competitive context.
- Implement
sync(rebase downstream PRs after review edits usinggit rebase --update-refs, re-verify, force-push) - Implement
next(rebase on main after PR1 merge, flip PR2 to Ready)
- Query branch protection API before push (detect required checks, force-push restrictions, reviewer counts)
- Add representative CI lane selector (parse
.github/workflows/*.yml, pick one matrix combo) - Full CI verification mode (run extracted CI commands locally)
- Remote CI fallback: push drafts early, poll check runs, promote when green (
push --watch) - Thread verification metadata into PR bodies (which checks ran, pass/fail per slice)
- No force-push mode (ghstack-style synthetic branches for strict-ruleset repos)
- GHES support (custom API base URL, auth flow)
- Audit logging (structured log of all git/GitHub operations)
- MCP server (expose split/apply/push as tools for Copilot/VS Code/Cursor/Claude Code)
- Named splitting strategies (
--strategy layer|feature|module) - Parallel (DAG) stacks (multiple PRs depending on a shared foundation PR)
- GitHub Marketplace listing
- GitHub App for automatic reaction to review comments (auto-sync, auto-next)
- Real-world smoke test on a non-trivial repo
- Python fixture repo for broader E2E coverage
- Add feature flag detection heuristic
- Support for GitLab / Bitbucket