Commit Graph

689 Commits

Author SHA1 Message Date
TÂCHES
ecbc692bc9 fix(#326): enforce context fidelity in planning pipeline (#391)
* prompt(001): map dependencies for new-project command

* fix(#326): enforce context fidelity in planning pipeline

Root cause: User decisions from CONTEXT.md were available but not
enforced throughout the RESEARCH → PLAN → VERIFY chain.

Changes:
- gsd-planner: Add <context_fidelity> section requiring agents to
  parse and honor user decisions BEFORE creating tasks. Includes
  self-check checklist and conflict handling guidance.

- gsd-phase-researcher: Add User Constraints as FIRST section in
  downstream consumer table. Require researcher to copy CONTEXT.md
  decisions verbatim to RESEARCH.md so planner sees them even if
  it only skims.

- research.md template: Add <user_constraints> section that must
  be populated first. Locked decisions, Claude's discretion, and
  deferred ideas copied verbatim from CONTEXT.md.

The command file (commands/gsd/plan-phase.md) already passes
CONTEXT_CONTENT to all agents. These changes add the enforcement
layer in the agent instructions.

Fixes #326, #216, #206

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:17:17 -06:00
Solvely-Colin
4267c6cf67 fix: respect parallelization config setting (#379)
Fixes #376
2026-02-03 07:57:23 -06:00
Szymon Gwóźdź
2347fca35e fix: clarify ASCII box-drawing vs text content with diacritics (#289)
- Add Character Preservation section to GSD-STYLE.md
  - Clarify 'no special chars' applies to FILENAME only in add-todo
  - Use 'box-drawing' terminology for tree structure visualization

Co-authored-by: FlightCore Dev <dev@flightcore.pl>
2026-02-02 06:49:33 -06:00
superresistant
d1654960ab feat(install): respect attribution.commit setting (compatible opencode) (#286)
- Reads user's attribution settings during install and processes Co-Authored-By lines accordingly
- Claude Code: reads `attribution.commit` from `~/.claude/settings.json`
  - Empty string ("") → removes Co-Authored-By
  - Custom value ("jojo99") → uses custom attribution
  - Not set → keeps default
- OpenCode: reads `disable_ai_attribution` from `~/.config/opencode/opencode.json`
  - true → removes Co-Authored-By
  - Not set → keeps default
- Gemini: reads `attribution.commit` from `~/.gemini/settings.json` (same as Claude)
- Caches attribution setting per-runtime to avoid repeated file reads
- Escapes $ in custom attribution to prevent regex backreference injection

Rebased onto v1.11.1
2026-02-02 06:45:50 -06:00
Lex Christopherson
b5ca9a2b76 1.11.1 2026-01-31 15:28:26 -06:00
Lex Christopherson
d8840c45d0 1.11.0 2026-01-31 15:28:22 -06:00
Lex Christopherson
f3db981fa7 docs: update changelog and README for v1.11.0 2026-01-31 15:27:42 -06:00
Lex Christopherson
325713903b fix(plan-phase): pass CONTEXT.md to all downstream agents
CONTEXT.md from /gsd:discuss-phase now flows through entire pipeline:
- Loaded early in step 4, stored for all agent spawns
- Researcher: constrains research scope (locked decisions vs discretion)
- Planner: explicit guidance to honor locked decisions
- Checker: new Context Compliance dimension to verify plans respect user vision
- Revision: reminder to maintain context compliance during fixes

Adds Dimension 7 (Context Compliance) to gsd-plan-checker:
- Verifies locked decisions have implementing tasks
- Flags if tasks contradict locked decisions
- Flags if deferred ideas included in plans

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 15:27:42 -06:00
Lex Christopherson
5ee22e6256 feat(git): add squash merge option for branching strategies
- Add "Squash merge" as recommended option at complete-milestone
- Keep "Merge with history" (--no-ff) as alternative
- Document merge options in planning-config reference

Improves on #298 based on community feedback from @oojacoboo.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 17:24:32 -06:00
TÂCHES
f8fd7104c0 Merge pull request #298 from davesienkowski/feature/branching-strategy
Thanks @davesienkowski! Merging as-is, will follow up with squash merge option.
2026-01-30 17:23:42 -06:00
Lex Christopherson
80d67994ec 1.10.1 2026-01-30 06:55:28 -06:00
Lex Christopherson
3b70b10252 docs: update changelog for v1.10.1 2026-01-30 06:55:18 -06:00
Cristian Uibar
5660b6fc0b fix: Gemini CLI agent loading errors (#347)
* fix: convert agent frontmatter for Gemini CLI compatibility

- Add claudeToGeminiTools mapping (Read→read_file, Bash→run_shell_command, etc.)
- Add convertGeminiToolName() to map tools and filter out mcp__*/Task
- Add convertClaudeToGeminiAgent() to convert agent YAML frontmatter
- Hook conversion into agent copy logic for Gemini installs
- Fixes: tools as YAML array (not string), color field removed, mcp__* excluded

* fix: enable experimental.enableAgents for Gemini CLI installs

* fix: strip HTML <sub> tags for Gemini CLI terminal output

* fix: replace ${VAR} with $VAR in agent templates to avoid Gemini CLI template parsing
2026-01-29 19:43:01 -06:00
Lex Christopherson
beca9faead 1.10.0 2026-01-29 13:31:13 -06:00
Lex Christopherson
d58f2b5462 docs: update README and changelog for v1.9.14
- Add Gemini CLI to supported runtimes
- Update install examples with --gemini and --all flags
- Note native Gemini/OpenCode support in Community Ports section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 13:30:53 -06:00
Lex Christopherson
91aaa3533c chore: remove dead code from Gemini PR
The if/else branches in copyFlattenedCommands were identical.
This function is only used by OpenCode (Gemini uses copyWithPathReplacement).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 13:24:29 -06:00
Dryade AI
5379832fc2 feat: add Gemini support to installer (#301) 2026-01-29 13:22:46 -06:00
David Novák
87b2cd0e21 fix: scale context bar to show 100% at actual 80% limit
Claude Code enforces an 80% context window limit as a safety mechanism.
The statusline was showing the raw percentage, which meant the bar never
reached 100% before Claude ran out of context.

This change scales the percentage so that:
- 0% real usage = 0% displayed
- 80% real usage (the actual limit) = 100% displayed

Color thresholds are adjusted accordingly to maintain the same visual
progression (green -> yellow -> orange -> red with skull).

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 12:28:22 -06:00
Lex Christopherson
339e911299 chore: remove GitHub Actions release workflow
npm publish is the only distribution channel needed.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 18:53:56 -06:00
Dave
197800e2d1 feat(git): add unified branching strategy option
Add configurable git branching with three strategies:
- none (default): commit to current branch
- phase: create branch per phase (gsd/phase-{N}-{slug})
- milestone: create branch per milestone (gsd/{version}-{slug})

Changes:
- planning-config.md: add git.branching_strategy and templates
- execute-phase.md: handle branch creation based on strategy
- settings.md: add branching strategy to settings UI
- complete-milestone.md: handle branch merging at milestone end
2026-01-24 14:32:53 -05:00
Lex Christopherson
3d2a960cd9 1.9.13 2026-01-23 18:12:33 -06:00
Lex Christopherson
f4b9dc12a5 1.9.12 2026-01-23 17:26:49 -06:00
Lex Christopherson
0769d2ec72 docs: update changelog for v1.9.12 2026-01-23 17:26:49 -06:00
Lex Christopherson
7ebde26d8e docs: remove whats-new references, update stays
/gsd:update now covers changelog viewing with cancel option.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:26:49 -06:00
Lex Christopherson
d85f32e846 chore: remove redundant whats-new command
/gsd:update already shows changelog before updating, with cancel option.
Two commands for nearly the same purpose adds unnecessary cognitive load.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:26:49 -06:00
TÂCHES
4c0cd9d1e0 Update README.md 2026-01-23 17:09:28 -06:00
Lex Christopherson
d27d5a350b ci: restore auto-release workflow for GitHub Releases 2026-01-23 17:07:11 -06:00
Lex Christopherson
f74369feab 1.9.11 2026-01-23 17:05:16 -06:00
Lex Christopherson
ebbaa0066a docs: update changelog for v1.9.11 2026-01-23 17:05:12 -06:00
Lex Christopherson
346639507b chore: ignore animation assets 2026-01-23 17:03:49 -06:00
Lex Christopherson
3a6a900c10 chore: remove GitHub Actions workflows
Manual npm publish preferred over automated CI/CD.
2026-01-23 17:03:45 -06:00
Lex Christopherson
2f225d7b08 docs: reorder badges - stars before license
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 02:11:12 -06:00
Lex Christopherson
7a7ada6222 docs: use static Discord badge
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 02:10:38 -06:00
Lex Christopherson
73aad664ca docs: add Discord badge to README
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 02:06:43 -06:00
Lex Christopherson
8a00b4af54 1.9.10 2026-01-23 01:45:31 -06:00
Lex Christopherson
c3d6a69f94 docs: update changelog for v1.9.10 2026-01-23 01:45:31 -06:00
Lex Christopherson
bdbcbc4787 feat: show Discord invite link in install completion message
Helps new users discover the community right after installation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 01:45:03 -06:00
Lex Christopherson
c22aed4d01 1.9.9 2026-01-23 01:43:24 -06:00
Lex Christopherson
0482681fa1 docs: update changelog for v1.9.9 2026-01-23 01:43:20 -06:00
Lex Christopherson
3a43501832 docs: add join-discord to README command table 2026-01-23 01:42:46 -06:00
Lex Christopherson
6e2f46c9e3 feat: add /gsd:join-discord command
Lets users quickly access the GSD Discord community invite link
directly from Claude Code.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 01:42:06 -06:00
Lex Christopherson
a558ad277e 1.9.8 2026-01-22 23:26:38 -06:00
Lex Christopherson
58e489dc84 docs: update changelog for v1.9.8 2026-01-22 23:26:34 -06:00
Lex Christopherson
12e6acbf53 feat(installer): add --uninstall flag to remove GSD files
Adds -u/--uninstall option that cleanly removes all GSD-installed files:
- commands/gsd/ directory (Claude Code) or gsd-*.md files (OpenCode)
- get-shit-done/ directory
- gsd-*.md agent files
- GSD hooks (gsd-statusline.js, gsd-check-update.js/sh)
- GSD entries from settings.json (statusline, hooks)
- GSD permissions from opencode.json (OpenCode only)

Usage: npx get-shit-done-cc --claude --global --uninstall

Closes #236

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 20:37:35 -06:00
Lex Christopherson
f059a6cfb3 fix: use *-CONTEXT.md glob for filename variants
Standardize on *-CONTEXT.md glob pattern to match files like
03-CONTEXT.md across all workflows.

Files updated:
- commands/gsd/plan-phase.md
- commands/gsd/research-phase.md
- get-shit-done/workflows/discuss-phase.md
- get-shit-done/workflows/resume-project.md

Closes #219

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 20:32:10 -06:00
Lex Christopherson
8ecb8cd820 1.9.7 2026-01-22 15:02:13 -06:00
Lex Christopherson
5b366210b1 docs: update changelog for v1.9.7 2026-01-22 15:02:09 -06:00
Lex Christopherson
c313f78f6a docs: add CONTRIBUTING.md with project guidelines
Based on PR #222 by @davesienkowski with minor edits.

Co-Authored-By: davesienkowski <davesienkowski@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 15:02:02 -06:00
Juliano Farias
707d4b47b0 fix(installer): use correct OpenCode config path (~/.config/opencode) (#233)
OpenCode follows XDG Base Directory spec and expects config at
~/.config/opencode/, not ~/.opencode/. This fix:

- Add getOpencodeGlobalDir() to detect correct path via:
  - OPENCODE_CONFIG_DIR env var
  - OPENCODE_CONFIG env var (uses dirname)
  - XDG_CONFIG_HOME/opencode
  - ~/.config/opencode (default)

- Use 'command/' (singular) instead of 'commands/' (plural)

- Use flat file structure: command/gsd-help.md instead of
  commands/gsd/help.md (invoked as /gsd-help)

- Write permissions to ~/.config/opencode/opencode.json

- Update content conversion to replace ~/.claude with
  ~/.config/opencode and /gsd: with /gsd-

Fixes OpenCode installation which was previously installing to
~/.opencode/ where OpenCode couldn't find the commands.
2026-01-22 15:00:53 -06:00
Lex Christopherson
0d65da1ceb 1.9.6 2026-01-22 12:56:54 -06:00