Commit Graph

9 Commits

Author SHA1 Message Date
Srinivas Koduri
32c6d880bf fix: address maintainer review — gate findProjectRoot, warn on unmatched files
1. Gate findProjectRoot to commands that access .planning/ — skip for
   pure-utility commands (generate-slug, current-timestamp, template,
   frontmatter, verify-path-exists, verify-summary) to avoid unnecessary
   filesystem traversal on every invocation.

2. Warn to stderr when commit-to-subrepo encounters files that don't
   match any configured sub-repo prefix.

3. Document that loadConfig auto-syncs sub_repos with the filesystem,
   so config.json may be rewritten when repos are added or removed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 12:19:00 -07:00
Srinivas Koduri
21081dc821 feat: multi-repo workspace support with auto-detection and project root resolution
Add support for workspaces with multiple independent git repositories.
When configured, GSD routes commits to the correct sub-repo and ensures
.planning/ stays at the project root.

Core features:
- detectSubRepos(): scans child directories for .git to discover repos
- findProjectRoot(): walks up from CWD to find the project root that
  owns .planning/, preventing orphaned .planning/ in sub-repos
- loadConfig auto-syncs sub_repos when repos are added or removed
- Migrates legacy "multiRepo: true" to sub_repos array automatically
- All init commands include project_root in output
- cmdCommitToSubrepo: groups files by sub-repo prefix, commits independently

Zero impact on single-repo workflows — sub_repos defaults to empty array.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 12:18:20 -07:00
Tom Boucher
3bfc0f6845 fix: add --no-verify support for parallel executor commits (#1116)
Parallel executor agents trigger pre-commit hooks on every commit, causing
build lock contention (e.g., cargo lock fights in Rust projects) and 40+
minute delays from cascading retries.

Changes:
- Add --no-verify flag to gsd-tools commit command (commands.cjs)
- Wire --no-verify through gsd-tools.cjs CLI parser
- Update execute-phase.md to instruct parallel agents to use --no-verify
- Add post-wave hook validation step so orchestrator runs hooks once
- Update execute-plan.md pre-commit handling: parallel agents skip hooks,
  sequential agents still handle hooks normally
- Add parallel agent note to git-integration.md reference

Fixes #1116
2026-03-18 17:17:34 -04:00
Lex Christopherson
69b28eeca4 fix: use $HOME instead of ~ for gsd-tools.cjs paths to prevent subagent MODULE_NOT_FOUND (#786)
Claude Code subagents sometimes rewrite ~/. paths to relative paths,
causing MODULE_NOT_FOUND when CWD is the project directory. $HOME is a
shell variable resolved at runtime, immune to model path rewriting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 13:11:19 -06:00
Lex Christopherson
24b933e018 fix: rename gsd-tools.js to .cjs to prevent ESM conflicts (closes #495)
Projects with "type": "module" in package.json cause Node to treat
gsd-tools.js as ESM, crashing on require(). The .cjs extension forces
CommonJS regardless of the host project's module configuration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 11:03:22 -06:00
TÂCHES
01c9115f3a fix(#478): respect commit_docs=false in all .planning commit paths (#482)
* fix(execute-phase): pass file paths to subagents instead of content

The --include flag added in fa81821 caused orchestrator context bloat
by reading STATE, config, and plan files into the orchestrator's context,
then embedding all content in Task() prompts.

With multiple plans, this consumed 50-60%+ of context before execution.

Fix: Pass file paths only. Subagents read files themselves in their
fresh 200k context. Orchestrator stays lean (~10-15% as intended).

Fixes #479

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: respect commit_docs=false in execute-plan and debugger workflows

Two code paths bypassed the commit_docs configuration check, causing
.planning files to be intermittently committed when commit_docs=false:

1. execute-plan.md: update_codebase_map step ran `git add .planning/codebase/*.md`
   unconditionally — now gated behind commit_docs check
2. gsd-debugger.md: used `git add -A` which stages .planning/ files — replaced
   with explicit individual file staging and proper commit_docs conditional

Fixes #478

https://claude.ai/code/session_013yS1F2VR3Jn2pdwqr5NuDo

* fix: route all .planning commits through gsd-tools.js CLI

Instead of wrapping direct git commands in markdown conditionals,
both bypass paths now use gsd-tools.js commit which has the
commit_docs check built in:

1. execute-plan.md: uses `gsd-tools.js commit --amend` for codebase
   map updates (new --amend flag added to CLI)
2. gsd-debugger.md: code commit uses direct git (no .planning files),
   planning docs commit uses gsd-tools.js commit

Also added --amend support to gsd-tools.js commit command so the
execute-plan codebase map step can amend the previous metadata commit.

Fixes #478

https://claude.ai/code/session_013yS1F2VR3Jn2pdwqr5NuDo

* docs: update reference docs to use gsd-tools.js CLI for all .planning commits

Reference documentation showed direct git add/commit patterns for
.planning files, which agents copy-paste and bypass the commit_docs
check. Updated all three reference files to show gsd-tools.js commit
as the canonical pattern:

- git-planning-commit.md: replaced manual bash conditionals with CLI
- git-integration.md: replaced direct git add/commit in initialization,
  plan-completion, and handoff examples
- planning-config.md: replaced conditional git example with CLI call

https://claude.ai/code/session_013yS1F2VR3Jn2pdwqr5NuDo

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 08:09:03 -06:00
Lex Christopherson
875ac900a2 feat: implement per-task atomic commits for better AI observability
- Each task commits immediately after completion (feat/fix/test/refactor)
- Plan completion commits metadata only (docs: SUMMARY + STATE + ROADMAP)
- Git history becomes primary context source for future Claude sessions
- Better bisect granularity, failure recovery, and revert capabilities

Changes:
- execute-phase.md: Added <task_commit> protocol and per-task commit flow
- execute-plan.md: Updated commit rules and success criteria
- git-integration.md: New task-completion format, strategy rationale
- tdd.md: Aligned TDD commits with standard task commit pattern
- summary.md: Added Task Commits section with commit hashes
- README.md: Rewrote git history section with atomic commit benefits
- scope-estimation.md: Clarified commit counts per plan
- principles.md: Added <atomic_commits> section explaining strategy

Each plan now produces 3-4 commits (2-3 task commits + 1 metadata commit)
instead of single monolithic commit. Optimizes observability for solo
developer + Claude Code workflow.
2026-01-05 16:09:14 -06:00
Lex Christopherson
e8d68685c1 feat(gsd): add research-phase for niche domain ecosystem discovery
- Add /gsd:research-phase command for comprehensive ecosystem research
- Rename FINDINGS.md → DISCOVERY.md for clarity
- Rename research-phase.md → discovery-phase.md (shallow "which library")
- New research-phase.md for deep "how experts build this" research
- Creates RESEARCH.md with stack, patterns, pitfalls, don't-hand-roll
- plan-phase loads RESEARCH.md when present

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 18:15:22 -06:00
Lex Christopherson
1fe3fa427e Initial commit: Get Shit Done - meta-prompting system for Claude Code
- NPX install: npx get-shit-done-cc
- Slash commands for project management
- Context engineering templates and workflows

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 07:44:41 -06:00