kiro-gsd
v0.1.0
Published
Use get-shit-done (GSD) workflows in kiro-cli — self-contained native .kiro agent + prompts.
Maintainers
Readme
kiro-gsd
English · Español
Run get-shit-done (GSD) structured planning/execution workflows inside kiro-cli — self-contained, with no dependency on any other AI runtime.
GSD ships installers for ~16 runtimes (Claude Code, OpenCode, Cursor, Gemini, Codex…) but
not kiro-cli. kiro-gsd brings the GSD content itself (it depends on the upstream
@opengsd/get-shit-done-redux package, MIT) and generates a native .kiro/ integration.
It does not require .opencode/ or any other runtime to be installed.
What it does
npx kiro-gsd in a project:
- Vendors the self-contained GSD content (engine + command specs + agent specs + the
sdk/shareddata manifests) from the bundled@opengsd/get-shit-done-reduxdependency into.kiro/gsd/, rewriting the upstream~/.claude/get-shit-donepath tokens. - Generates a native kiro agent and one prompt per GSD command:
.kiro/
gsd/ # vendored GSD content (self-contained)
get-shit-done/ # engine: workflows, references, templates, bin
commands/gsd/*.md # command specs
agents/*.md # subagent specs
sdk/shared/*.json # data manifests (model-catalog, …)
bin/gsd-sdk # SDK launcher (persistent installs only)
get-shit-done-kiro/
gsd-agent-prompt.md # orchestrator system prompt
agents/gsd.json # the "gsd" orchestrator agent (validated)
prompts/gsd-*.md # one prompt per GSD command (invokable via @gsd-*)The engine runs via the self-contained node .kiro/gsd/get-shit-done/bin/gsd-tools.cjs.
Requirements
kiro-cli(v2.5+) andnode >= 20. The GSD content comes with the package.
Install
# in your project root — content + integration, works offline afterwards
npx kiro-gsd
npx kiro-gsd uninstallupdate is an alias of install — re-run after upgrading the package to refresh content.
Flags: --source <dir> (use a local @opengsd/get-shit-done-redux checkout) and
--project <dir> (target another directory).
Full gsd-sdk (optional)
The newer gsd-sdk surface needs npm deps (ws, synckit, @anthropic-ai/claude-agent-sdk,
@opengsd/gsd-sdk), so it is not vendored loose. For a working gsd-sdk, install
persistently and re-run so the launcher points at a stable location:
npm i -g kiro-gsd
kiro-gsd # writes .kiro/gsd/bin/gsd-sdk -> the global installWithout it, the agent uses gsd-tools.cjs (self-contained) and the workflows' .planning/
state, which covers the core loop.
Usage in kiro-cli
kiro-cli reserves / for built-in commands, so GSD commands are exposed as prompts:
/agent gsd— switch to the GSD orchestrator and work in natural language.@gsd-<name>— invoke a command directly (type@gsd+ Tab to autocomplete), e.g.@gsd-help,@gsd-new-project,@gsd-plan-phase./prompts gsd-<name>— pick from the menu / run by name.
kiro-cli does not always bind trailing text to
$ARGUMENTS. If a command needs an argument and none is captured, the agent will ask — or just use thegsdagent and describe the task.
Development
git clone https://github.com/eliecer2000/kiro-gsd && cd kiro-gsd
npm install # also installs the git pre-commit hook (husky)
npm run lint # ESLint
npm run format # Prettier (write) · npm run format:check
npm run typecheck # tsc --noEmit (checkJs)
npm run build # node --check bin/cli.mjs
npm run check # all of the above (run by the pre-commit hook)The pre-commit hook runs npm run check; CI runs the same on every push/PR.
Releasing
Versioning follows Semantic Versioning. Releases are published to
npm automatically when a vX.Y.Z tag is pushed (.github/workflows/release.yml).
# 1. update CHANGELOG.md (move Unreleased -> new version)
# 2. bump version + create the tag (choose patch | minor | major)
npm version patch
# 3. push commit + tag -> triggers the npm publish workflow
git push --follow-tagsOne-time setup: add an npm automation token as the repo secret NPM_TOKEN. The workflow
runs npm run check, verifies the tag matches package.json, and publishes with provenance.
Design notes
- Self-contained content: the GSD engine + command/agent specs are MIT-licensed and copied locally, so the project keeps working offline and independently of upstream.
- SDK: not vendored loose (heavy deps incl. the Anthropic SDK, which kiro doesn't need);
exposed via a launcher to a persistent install, with
gsd-tools.cjsas the fallback. - Subagents: GSD subagents aren't separate kiro agents; the orchestrator reads the spec
and delegates via the
subagenttool (rolekiro_default) or inline. - Hooks: upstream OpenCode/Claude hooks use the
{hookSpecificOutput}protocol, incompatible with kiro's exit-code protocol, so they're not ported; only a nativeagentSpawnhook that surfaces.planning/state is added.
Credits
GSD content © Lex Christopherson, MIT — open-gsd/get-shit-done-redux.
kiro-gsd adapter: MIT.
License
MIT
