docs: add presets reference page and rename pack_id to preset_id#2243
docs: add presets reference page and rename pack_id to preset_id#2243mnriem merged 1 commit intogithub:mainfrom
Conversation
- New docs/presets.md: command reference for all 9 specify preset commands and 3 specify preset catalog commands, file resolution stack with Mermaid diagrams, catalog resolution order, and FAQ - src/specify_cli/__init__.py: rename pack_id to preset_id across all preset CLI commands so --help shows PRESET_ID matching the docs - docs/toc.yml: add Presets under Reference section - README.md: update presets link to published docs site
There was a problem hiding this comment.
Pull request overview
Adds a dedicated presets reference page to the docs site and aligns the preset CLI argument naming with the published documentation by renaming the displayed parameter from pack_id to preset_id.
Changes:
- Added
docs/presets.mdcovering the fullspecify preset/specify preset catalogcommand surface, resolution order, and FAQ. - Renamed preset CLI argument display from
pack_id→preset_idacross preset commands so--helpmatches the docs. - Wired the new docs page into the docs TOC and updated README to link to the published presets reference page.
Show a summary per file
| File | Description |
|---|---|
| src/specify_cli/init.py | Updates preset command argument naming (pack_id → preset_id) for consistent CLI help output. |
| docs/presets.md | Introduces a new presets reference page, including command docs, catalog order, and resolution diagrams. |
| docs/toc.yml | Adds Presets under the Reference section in the docs navigation. |
| README.md | Updates the presets documentation link to point to the published docs site. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comments suppressed due to low confidence (3)
docs/presets.md:179
- This table also uses
||instead of standard Markdown table syntax, so it likely won’t render correctly on the docs site. Please convert it to the same| ... |format used elsewhere.
| Type | Subdirectory | Override path |
| --------- | -------------- | ------------------------------------------ |
| Templates | `templates/` | `.specify/templates/overrides/` |
| Commands | `commands/` | `.specify/templates/overrides/` |
| Scripts | `scripts/` | `.specify/templates/overrides/scripts/` |
docs/presets.md:106
- This options table uses
||instead of standard Markdown table formatting, so it likely won’t render correctly (same issue as earlier tables in this doc). Convert to single|pipes with a proper header separator row.
| Option | Description |
| -------------------------------------------- | -------------------------------------------------- |
| `--name <name>` | Required. Unique name for the catalog |
| `--priority <N>` | Priority (default: 10; lower = higher precedence) |
| `--install-allowed / --no-install-allowed` | Whether presets can be installed from this catalog (default: discovery only) |
| `--description <text>` | Optional description |
docs/presets.md:28
- Same table formatting issue here: rows start with
||and are missing standard Markdown pipe formatting, so the options table likely won’t render correctly.
| Option | Description |
| ---------------- | -------------------------------------------------------- |
| `--dev <path>` | Install from a local directory (for development) |
| `--from <url>` | Install from a custom URL instead of the catalog |
| `--priority <N>` | Resolution priority (default: 10; lower = higher precedence) |
- Files reviewed: 4/4 changed files
- Comments generated: 3
|
|
||
| ```mermaid | ||
| flowchart TB | ||
| A["File requested:<br/>plan-template.md"] --> B{"Project-local override?"} |
There was a problem hiding this comment.
The Mermaid example labels the input as plan-template.md, but specify preset resolve expects a template name without the .md extension (per CLI help: e.g., spec-template). Consider changing the diagram/text to plan-template (no extension) to avoid users passing *.md and getting a miss.
| A["File requested:<br/>plan-template.md"] --> B{"Project-local override?"} | |
| A["File requested:<br/>plan-template"] --> B{"Project-local override?"} |
| For example, presets could restructure spec templates to require regulatory traceability, adapt the workflow to fit the methodology you use (e.g., Agile, Kanban, Waterfall, jobs-to-be-done, or domain-driven design), add mandatory security review gates to plans, enforce test-first task ordering, or localize the entire workflow to a different language. The [pirate-speak demo](https://github.com/mnriem/spec-kit-pirate-speak-preset-demo) shows just how deep the customization can go. Multiple presets can be stacked with priority ordering. | ||
|
|
||
| See the [Presets README](./presets/README.md) for the full guide, including resolution order, priority, and how to create your own. | ||
| See the [Presets reference](https://github.github.io/spec-kit/presets.html) for the full command guide, including resolution order and priority stacking. |
There was a problem hiding this comment.
In the code block immediately above, the install example uses specify preset add <preset-name>, but the CLI/docs are standardizing on preset_id (and --help will show PRESET_ID). Update the README example to <preset-id> / <preset_id> so users don’t assume the display name is accepted.
| | Option | Description | | ||
| | ---------- | -------------------- | | ||
| | `--tag` | Filter by tag | | ||
| | `--author` | Filter by author | | ||
|
|
There was a problem hiding this comment.
Markdown tables in this doc use || at the start of each row, which won’t render as tables in standard Markdown (and is inconsistent with other docs like docs/extensions.md). Use single | pipes and add the closing | per row.
This issue also appears in the following locations of the same file:
- line 24
- line 101
- line 175
Adds a dedicated
docs/presets.mdreference page and renames the CLI parameter frompack_idtopreset_idfor consistency.Changes
docs/presets.md— command reference for all 9specify presetcommands and 3specify preset catalogcommands, file resolution stack with Mermaid diagrams, catalog resolution order, and FAQsrc/specify_cli/__init__.py— renamedpack_idtopreset_idacross all preset CLI commands so--helpshowsPRESET_IDmatching the docsdocs/toc.yml— added Presets under Reference sectionREADME.md— updated presets link to published docs site (github.github.io/spec-kit/)Motivation
Follows the same pattern established in #2241 (integrations) and #2242 (extensions). The presets reference page documents all CLI commands, the file resolution stack (with Mermaid diagrams showing the 4-tier priority system), catalog management, and FAQ.
Tests
All 179 preset tests pass after the
pack_id→preset_idrename.