Add a Gemini CLI extension package so users can install, update, and remove GSD through Gemini's own extension lifecycle and have it appear in `gemini extensions list`: gemini extensions install https://github.com/open-gsd/gsd-core gemini extensions update gsd-core gemini extensions uninstall gsd-core gemini extensions link /path/to/gsd-core # dev This mirrors the additive Claude Code plugin manifest (#766): a thin, version-stamped manifest enforced by an in-repo drift test. The extension ships the context-file payload (GEMINI.md), loaded into every Gemini session; slash-command/agent/hook TOML projection into the extension is a documented follow-up. The manual `npx gsd-core --gemini` installer (which provides the /gsd:* commands) is unchanged — purely additive, no breaking change. - gemini-extension.json: name=binName, version tracks package.json, description, contextFileName=GEMINI.md (minimal; no mcpServers — gsd ships no MCP server) - GEMINI.md: Gemini-session context payload - package.json: add both artifacts to files[] so they publish - CONTEXT.md: add "Gemini Extension Package" glossary entry - docs: USER-GUIDE + install-on-your-runtime how-to - tests/issue-775-gemini-extension.test.cjs: manifest validity, version parity with package.json, contextFileName existence, files[] publication Closes #775 Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
54 lines
2.5 KiB
Markdown
54 lines
2.5 KiB
Markdown
# GSD Core — Gemini CLI context
|
|
|
|
This context is loaded by the **gsd-core Gemini CLI extension**. It gives Gemini
|
|
the operating context for [GSD Core](https://github.com/open-gsd/gsd-core), a
|
|
meta-prompting, context-engineering, and spec-driven development system for AI
|
|
coding agents.
|
|
|
|
## What GSD is
|
|
|
|
GSD turns a vague goal into shipped software through an explicit,
|
|
resumable workflow: **explore → plan → execute → verify → ship**. Work is
|
|
organised into milestones and phases under a `.planning/` directory, with each
|
|
phase carrying a SPEC, a PLAN, and verification criteria. The system favours
|
|
small, atomic, test-backed commits and keeps durable context in version-tracked
|
|
files rather than in the conversation.
|
|
|
|
## The slash commands (installed separately)
|
|
|
|
> **This extension ships only the context above — not the slash commands.** It
|
|
> loads gsd's operating context into your Gemini sessions and is managed through
|
|
> `gemini extensions list / update / uninstall`. To install the `/gsd:*` command
|
|
> set, agents, and hooks into `~/.gemini/`, run the dedicated installer:
|
|
>
|
|
> ```bash
|
|
> npx gsd-core --gemini --global
|
|
> ```
|
|
>
|
|
> The two paths are complementary and the manual installer remains fully
|
|
> supported. The commands below are available only once that installer has run.
|
|
|
|
If you have installed the gsd commands, the workflow is driven by these `/gsd:*`
|
|
slash commands (Gemini registers gsd's commands under the `gsd` namespace, so the
|
|
colon form is canonical):
|
|
|
|
- `/gsd:new-project` — initialise a project and gather deep context.
|
|
- `/gsd:progress` — the unified situational command: check progress, advance the
|
|
workflow, or dispatch a freeform intent.
|
|
- `/gsd:plan-phase <N>` — produce a detailed phase plan with a verification loop.
|
|
- `/gsd:execute-phase <N>` — execute a phase's plans with wave-based parallelism.
|
|
- `/gsd:verify-work` — validate built features through conversational UAT.
|
|
- `/gsd:ship` — open a PR, run review, and prepare for merge.
|
|
- `/gsd:help` — list every available command.
|
|
|
|
## Working with GSD
|
|
|
|
- Treat `.planning/` as the source of truth for project state — read it before
|
|
acting, and keep it current as work progresses.
|
|
- Prefer the smallest change that satisfies the phase's verification criteria.
|
|
- Run the project's tests and linters before declaring a phase done.
|
|
- When unsure what to do next, and the gsd commands are installed, `/gsd:progress`
|
|
is the situational entry point.
|
|
|
|
Learn more: <https://github.com/open-gsd/gsd-core>
|