From 66f48ba21716cca76ed8f280de5b9fd31eb90895 Mon Sep 17 00:00:00 2001 From: fry-lobster Date: Thu, 30 Apr 2026 20:17:10 +0000 Subject: [PATCH] feat: cherry-pick checklist categories and --integration doc rename MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two of the five candidates from fellowship-dev/pylot#289: - Item 2: checklist philosophy — added the six quality dimensions (Completeness, Clarity, Consistency, Measurability, Coverage, Edge Cases) as explicit categories in checklist.md. Skipped the ~300 lines of upstream examples per the issue's terse-templates rule. - Item 5: replaced deprecated --ai with --integration in user-facing docs (README.md, CONTRIBUTING.md). CLI source kept as-is for backward compatibility (matches upstream PR #2359). Item 3 (feature auto-directory naming) is already implemented: specify.md reads .specify/init-options.json for branch_numbering (sequential|timestamp), and the CLI's --branch-numbering flag writes it during specify init. No template change needed. Items 1 (extension hooks) and 4 (feature metadata persistence) deferred — medium-effort changes that need closer evaluation against the terse-templates philosophy. Refs fellowship-dev/pylot#289 Co-Authored-By: Claude Opus 4.7 (1M context) --- CONTRIBUTING.md | 2 +- README.md | 30 +++++++++++++++--------------- templates/commands/checklist.md | 10 ++++++++-- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c44063b16f..e23c3193b5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -94,7 +94,7 @@ uv pip install -e . # Ensure the `specify` binary in this environment points at your working tree so the agent runs the branch you're testing. # Initialize a test project using your local changes -uv run specify init /speckit-test --ai --offline +uv run specify init /speckit-test --integration cd /speckit-test # Open in your agent diff --git a/README.md b/README.md index b877d3744a..4b79954bec 100644 --- a/README.md +++ b/README.md @@ -81,9 +81,9 @@ And use the tool directly: specify init # Or initialize in existing project -specify init . --ai copilot +specify init . --integration copilot # or -specify init --here --ai copilot +specify init --here --integration copilot # Check installed tools specify check @@ -105,9 +105,9 @@ Run directly without installing: uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init # Or initialize in existing project -uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init . --ai copilot +uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init . --integration copilot # or -uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here --ai copilot +uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here --integration copilot ``` **Benefits of persistent installation:** @@ -301,7 +301,7 @@ Run `specify integration list` to see all available integrations in your install ## Available Slash Commands -After running `specify init`, your AI coding agent will have access to these slash commands for structured development. If you pass `--ai --ai-skills`, Spec Kit installs agent skills instead of slash-command prompt files; `--ai-skills` requires `--ai`. +After running `specify init`, your AI coding agent will have access to these slash commands for structured development. For integrations that support skills mode, passing `--integration --integration-options="--skills"` installs agent skills instead of slash-command prompt files. #### Core Commands @@ -477,29 +477,29 @@ specify init --here --force You will be prompted to select the AI agent you are using. You can also proactively specify it directly in the terminal: ```bash -specify init --ai copilot -specify init --ai gemini -specify init --ai copilot +specify init --integration copilot +specify init --integration gemini +specify init --integration codex # Or in current directory: -specify init . --ai copilot -specify init . --ai codex --ai-skills +specify init . --integration copilot +specify init . --integration codex --integration-options="--skills" # or use --here flag -specify init --here --ai copilot -specify init --here --ai codex --ai-skills +specify init --here --integration copilot +specify init --here --integration codex --integration-options="--skills" # Force merge into a non-empty current directory -specify init . --force --ai copilot +specify init . --force --integration copilot # or -specify init --here --force --ai copilot +specify init --here --force --integration copilot ``` The CLI will check if you have Claude Code, Gemini CLI, Cursor CLI, Qwen CLI, opencode, Codex CLI, Qoder CLI, Tabnine CLI, Kiro CLI, Pi, Forge, Goose, or Mistral Vibe installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command: ```bash -specify init --ai copilot --ignore-agent-tools +specify init --integration copilot --ignore-agent-tools ``` ### **STEP 1:** Establish project principles diff --git a/templates/commands/checklist.md b/templates/commands/checklist.md index aa7155eadf..833adf1e0d 100644 --- a/templates/commands/checklist.md +++ b/templates/commands/checklist.md @@ -39,9 +39,15 @@ Checklists validate **requirements writing quality** — not implementation. 4. **Generate checklist** at `FEATURE_DIR/checklists/.md`: - Start from `templates/checklist-template.md`. - - 10–20 items grouped by quality dimension (completeness, clarity, consistency, coverage, edge cases). + - 10–20 items grouped by quality dimension. Use these six: + - **Completeness**: are all needed requirements present? + - **Clarity**: are they unambiguous and specific? + - **Consistency**: do they agree with each other? + - **Measurability**: can each be objectively verified? + - **Coverage**: are all flows / scenario classes addressed? + - **Edge Cases**: are boundary and failure conditions defined? - Each item is a yes/no question targeting requirement quality. - - Tie each question to specific spec sections where possible. + - Tie each question to specific spec sections where possible (`[Spec §X.Y]` or `[Gap]`). 5. **Report**: path to checklist file, item count, grouping summary.