Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,41 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [Unreleased]

### Fixed
- **Statusline context bar** — corrected calculation to use Claude Code's actual 16.5% autocompact buffer instead of a hardcoded 80% ceiling, so the displayed percentage now reflects when compaction is truly imminent (#769)
- Color thresholds updated to intuitive levels: green < 50%, yellow < 65%, orange < 80%, red ≥ 80%
- Display now shows two decimal places (e.g. `42.37%`) so small context changes are visible
- **Hooks not tracked in file manifest** — `gsd-statusline.js`, `gsd-check-update.js`, and `gsd-context-monitor.js` are now included in `gsd-file-manifest.json` so local modifications are detected and backed up before `/gsd:update` (#769)
- **Quality/balanced profiles now deliver Opus subagents** — `resolveModelInternal` previously
converted `opus` to `inherit`, causing agents to silently run on Sonnet when the parent
session used the default Sonnet 4.6 model. Opus is now passed directly to Task calls (#695)

### Added
- **Kimi CLI support** — install GSD skills and agents to [Kimi](https://github.com/MoonshotAI/kimi-cli) via `--kimi --global`
- Skills install to XDG path `~/.config/agents/skills/gsd-<name>/SKILL.md` and are invoked with `/skill:gsd-<name>`
- Agents install as dual-file format: `~/.kimi/agents/gsd-<name>.yaml` + `gsd-<name>.md` system prompt
- Tool names translated to full module paths (`kimi_cli.tools.file:ReadFile`, `kimi_cli.tools.shell:Shell`, etc.)
- MCP tools excluded from agent tool lists (configured separately via Kimi's config)
- `${VAR}` patterns in agent bodies escaped for Kimi CLI compatibility
- Local install guard — Kimi's XDG skills path is always global; `--kimi --local` exits with a clear error
- `KIMI_CONFIG_DIR` and `KIMI_SKILLS_DIR` env overrides for custom paths
- **Adaptive model profile** — fourth model profile (`adaptive`) that auto-selects models per-plan based on complexity evaluation (#210)
- `evaluateComplexity()` scores plan metadata (files modified, task count, objective keywords, plan type, dependencies) on 0-10+ scale
- Three tiers: Simple (haiku/sonnet), Medium (sonnet/opus), Complex (opus/sonnet)
- `adaptive_settings` config: `min_model`/`max_model` clamping, `log_selections` usage logging
- `resolve-adaptive-model` CLI command with `--context` for per-plan resolution
- `init plan-phase` and `init quick` now return `model_profile` and `adaptive_settings` for workflow use
- Plan index includes `type` and `depends_on` for enriched complexity evaluation
- Verifier uses per-plan adaptive resolution when in adaptive mode
- Full backward compatibility — non-adaptive profiles unaffected
- `/gsd:report-bug` command for structured bug reporting with severity tracking, diagnostic log capture, and GitHub issue creation
- `gsd-tools bug list/update/resolve` CLI commands for bug management
- `gsd-tools init bugs` and `scaffold bugs` for workflow bootstrapping
- Severity inference from keywords (critical/high/medium/low)
- Automatic diagnostic capture (git state, log files, error output)
- Optional GitHub issue creation via `gh` CLI
- Bug lifecycle: reported → investigating → fixing → resolved

### Fixed
- Scope phase counting in `buildStateFrontmatter` and `cmdPhaseComplete` to current milestone — multi-milestone projects no longer report inflated total/completed phases
- Use ROADMAP phase count for `total_phases` when phases lack directories — prevents premature milestone completion detection
Expand All @@ -25,6 +60,14 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Analysis paralysis guard in agents to prevent over-deliberation during planning
- Exhaustive cross-check and task-level TDD patterns in agent workflows
- Code-aware discuss phase with codebase scouting — `/gsd:discuss-phase` now analyzes relevant source files before asking questions
- Concurrent milestone execution: work on multiple milestones in parallel with isolated state (#291)
- Milestone-scoped directories under `.planning/milestones/<name>/`
- `ACTIVE_MILESTONE` pointer file for switching context
- `/gsd:switch-milestone` command with in-progress work warnings
- `--milestone` CLI flag for explicit milestone targeting
- Statusline shows active milestone in multi-milestone mode
- All 28 workflow files updated for milestone-aware paths
- Zero behavioral change for single-milestone projects (legacy mode)

### Fixed
- Update checker clears both cache paths to prevent stale version notifications
Expand Down
36 changes: 30 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# GET SHIT DONE

**A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code, OpenCode, Gemini CLI, and Codex.**
**A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code, OpenCode, Gemini CLI, Codex, and Kimi.**

**Solves context rot — the quality degradation that happens as Claude fills its context window.**

Expand Down Expand Up @@ -80,16 +80,18 @@ npx get-shit-done-cc@latest
```

The installer prompts you to choose:
1. **Runtime** — Claude Code, OpenCode, Gemini, Codex, or all
1. **Runtime** — Claude Code, OpenCode, Gemini, Codex, Kimi, or all
2. **Location** — Global (all projects) or local (current project only)

Verify with:
- Claude Code / Gemini: `/gsd:help`
- OpenCode: `/gsd-help`
- Codex: `$gsd-help`
- Kimi: `/skill:gsd-help`

> [!NOTE]
> Codex installation uses skills (`skills/gsd-*/SKILL.md`) rather than custom prompts.
> Codex and Kimi installations use skills (`skills/gsd-*/SKILL.md`) rather than custom prompts.
> Kimi installs globally to `~/.config/agents/skills/` and does not support local install.

### Staying Updated

Expand Down Expand Up @@ -117,12 +119,15 @@ npx get-shit-done-cc --gemini --global # Install to ~/.gemini/
npx get-shit-done-cc --codex --global # Install to ~/.codex/
npx get-shit-done-cc --codex --local # Install to ./.codex/

# Kimi (skills-first, XDG global only)
npx get-shit-done-cc --kimi --global # Install to ~/.config/agents/skills/

# All runtimes
npx get-shit-done-cc --all --global # Install to all directories
```

Use `--global` (`-g`) or `--local` (`-l`) to skip the location prompt.
Use `--claude`, `--opencode`, `--gemini`, `--codex`, or `--all` to skip the runtime prompt.
Use `--claude`, `--opencode`, `--gemini`, `--codex`, `--kimi`, or `--all` to skip the runtime prompt.

</details>

Expand Down Expand Up @@ -474,6 +479,7 @@ You're never locked in. The system adapts.
| `/gsd:audit-milestone` | Verify milestone achieved its definition of done |
| `/gsd:complete-milestone` | Archive milestone, tag release |
| `/gsd:new-milestone [name]` | Start next version: questions → research → requirements → roadmap |
| `/gsd:switch-milestone <name>` | Switch active milestone for concurrent work |

### Navigation

Expand Down Expand Up @@ -512,15 +518,31 @@ You're never locked in. The system adapts.
| Command | What it does |
|---------|--------------|
| `/gsd:settings` | Configure model profile and workflow agents |
| `/gsd:set-profile <profile>` | Switch model profile (quality/balanced/budget) |
| `/gsd:set-profile <profile>` | Switch model profile (quality/balanced/budget/adaptive) |
| `/gsd:report-bug [desc]` | Report bug with severity tracking and GitHub issue creation |
| `/gsd:add-todo [desc]` | Capture idea for later |
| `/gsd:check-todos` | List pending todos |
| `/gsd:debug [desc]` | Systematic debugging with persistent state |
| `/gsd:add-tests <N> [instructions]` | Generate unit and E2E tests for completed phase |
| `/gsd:quick [--full]` | Execute ad-hoc task with GSD guarantees (`--full` adds plan-checking and verification) |
| `/gsd:health [--repair]` | Validate `.planning/` directory integrity, auto-repair with `--repair` |

<sup>¹ Contributed by reddit user OracleGreyBeard</sup>

### Concurrent Milestones

Work on multiple milestones simultaneously — e.g., v2.0 features + v1.5.1 hotfix:

```
/gsd:new-milestone "v1.5.1 Hotfix" # Creates milestone-scoped directory
/gsd:switch-milestone v2.0-features # Switch back to feature work
/gsd:progress # See status of active milestone
```

Each milestone gets isolated state: `STATE.md`, `ROADMAP.md`, `REQUIREMENTS.md`, `phases/` — all scoped under `.planning/milestones/<name>/`. Switch freely without losing progress.

When no second milestone exists, everything stays in `.planning/` as usual (zero behavioral change).

---

## Configuration
Expand Down Expand Up @@ -629,9 +651,10 @@ This prevents Claude from reading these files entirely, regardless of what comma
- Restart your runtime to reload commands/skills
- Verify files exist in `~/.claude/commands/gsd/` (global) or `./.claude/commands/gsd/` (local)
- For Codex, verify skills exist in `~/.codex/skills/gsd-*/SKILL.md` (global) or `./.codex/skills/gsd-*/SKILL.md` (local)
- For Kimi, verify skills exist in `~/.config/agents/skills/gsd-*/SKILL.md`

**Commands not working as expected?**
- Run `/gsd:help` to verify installation
- Run `/gsd:help` (or `/skill:gsd-help` for Kimi) to verify installation
- Re-run `npx get-shit-done-cc` to reinstall

**Updating to the latest version?**
Expand All @@ -656,6 +679,7 @@ To remove GSD completely:
npx get-shit-done-cc --claude --global --uninstall
npx get-shit-done-cc --opencode --global --uninstall
npx get-shit-done-cc --codex --global --uninstall
npx get-shit-done-cc --kimi --global --uninstall

# Local installs (current project)
npx get-shit-done-cc --claude --local --uninstall
Expand Down
Loading