Skip to content

Getting Started

Andrew Matthews edited this page Apr 4, 2026 · 4 revisions

Getting Started

specgen is a CLI tool for transforming steering documents into target-specific outputs.

1. Install the latest version of the tool

Use the latest published package (including previews):

dotnet tool install --global aabs.steergen --prerelease

Verify installation:

steergen --version

2. Create and initialize a folder

Create a new working folder, move into it, and initialize baseline structure:

mkdir -p ~/tmp/specgen-demo
cd ~/tmp/specgen-demo
steergen init . --target speckit --target kiro

This creates:

  • steering/global
  • steering/project
  • speckit
  • kiro
  • steergen.config.yaml

The generated steergen.config.yaml is pre-populated with the bootstrapped globalRoot, projectRoot, and registeredTargets values.

3. Create steering rules documents

Create these files in your text editor.

File: steering/global/security-baseline.md

---
id: global-security-baseline
---
:::rule id="SEC-001" severity="error" domain="security"
All production APIs must enforce authentication and authorization.
:::

:::rule id="SEC-002" severity="warning" domain="security"
Sensitive values must not be committed in source control.
:::

File: steering/project/release-policy.md

---
id: project-release-policy
---
:::rule id="REL-001" severity="info" domain="delivery"
Every release candidate must pass CI, validation, and deterministic generation checks.
:::

:::rule id="REL-002" severity="warning" domain="delivery" profile="preview"
Preview builds should be clearly labeled and announced as non-stable.
:::

Validate the documents:

steergen validate

4. Set up targets

The initialized config already registers the targets supplied to steergen init.

Add another target:

steergen target add copilot-agent

Use --config <path> only if the config file has a different name or is not in the current directory.

5. Generate steering documents for targets

Generate outputs for all registered targets from config:

steergen run --output .steergen/out

Inspect generated outputs:

ls -1 .steergen/out
ls -1 .steergen/out/speckit
ls -1 .steergen/out/kiro
ls -1 .steergen/out/copilot-agent

Optionally inspect the resolved model as JSON:

steergen inspect | head -n 20

6. Uninstall the tool

dotnet tool uninstall --global aabs.steergen

7. Getting help

Top-level help:

steergen --help

Command-specific help:

steergen run --help
steergen target --help
steergen validate --help