cumulus-sdd 0.1.0

Token-efficient spec-driven development CLI (embedded prompts + slash-command generators).
# cumulus (Rust CLI)

Standalone, dependency-free Rust build of the **cumulus-sdd** framework. All
prompts, spec templates, and agent personas are embedded into the binary at
compile time via `include_str!` — the binary *is* the framework distribution.
No runtime, no network, no external crates.

## Build & install

Install as a global command (`cargo install` drops it into `~/.cargo/bin/`,
which is on your `PATH`). Two interchangeable names are produced — `cumulus`
and `cumulus-sdd`:

```bash
cargo install --path .      # → cumulus, cumulus-sdd on PATH
```

Build without installing:

```bash
cargo build --release       # → target/release/{cumulus,cumulus-sdd}
```

> `cargo build` alone does not add the binary to `PATH`. Re-run
> `cargo install --path .` after editing any `agents/` or `templates/`
> file to refresh the embedded copies. For a system-wide command:
> `sudo install -m755 ~/.cargo/bin/cumulus-sdd /usr/local/bin/cumulus-sdd`.

## Commands

### `cumulus-sdd init`
Writes the embedded framework into the current repo and scaffolds specs dir:

```
.cumulus-sdd/agents/*.md        # analyst / architect / developer / qa personas
.cumulus-sdd/templates/*.md     # brief / prd / arch / story schemas
.cumulus-sdd/templates/skills/  # portable slash-command sources
docs/sdd/ (+ stories/)          # generated specs live here
```

### `cumulus-sdd skills [target]`
Transforms the embedded skill sources into target-native slash commands.
`target` ∈ `copilot | claude | gemini | all` (default `all`).

| target | output | arg token |
|--------|--------|-----------|
| copilot | `.github/prompts/<name>.prompt.md` | `${input:storyId:story-id}` |
| claude  | `.claude/skills/<name>/SKILL.md`   | `$ARGUMENTS` |
| gemini  | `.gemini/commands/<name>.toml`     | `{{args}}` |

Generated commands: `/create-project-context`, `/prd-review`,
`/create-sprint`, `/create-story`, `/implement-story <id>`,
`/code-review <id>`.

## Source of truth

Skill definitions live in `templates/skills/*.md` (portable frontmatter +
caveman-dense body, `{{ARG}}` placeholder). Editing those `.md` files and
rebuilding is all that's needed — the embedded copies are refreshed at compile
time via `include_str!`.