Skip to content
Open
39 changes: 39 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,52 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [Unreleased]

### Fixed
- **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

## [1.22.0] - 2026-02-27

### Added
- Codex multi-agent support: `request_user_input` mapping, multi-agent config, and agent role generation for Codex runtime
- 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