mirror of
https://github.com/github/spec-kit.git
synced 2026-01-30 04:32:02 +00:00
Update command reference
This commit is contained in:
@@ -40,7 +40,7 @@ Here are a few things you can do that will increase the likelihood of your pull
|
|||||||
|
|
||||||
When working on spec-kit:
|
When working on spec-kit:
|
||||||
|
|
||||||
1. Test changes with the `specify` CLI commands (`/specify`, `/plan`, `/tasks`) in your coding agent of choice
|
1. Test changes with the `specify` CLI commands (`/speckit.specify`, `/speckit.plan`, `/speckit.tasks`) in your coding agent of choice
|
||||||
2. Verify templates are working correctly in `templates/` directory
|
2. Verify templates are working correctly in `templates/` directory
|
||||||
3. Test script functionality in the `scripts/` directory
|
3. Test script functionality in the `scripts/` directory
|
||||||
4. Ensure memory files (`memory/constitution.md`) are updated if major process changes are made
|
4. Ensure memory files (`memory/constitution.md`) are updated if major process changes are made
|
||||||
|
|||||||
66
README.md
66
README.md
@@ -73,42 +73,42 @@ uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME
|
|||||||
|
|
||||||
### 2. Establish project principles
|
### 2. Establish project principles
|
||||||
|
|
||||||
Use the **`/constitution`** command to create your project's governing principles and development guidelines that will guide all subsequent development.
|
Use the **`/speckit.constitution`** command to create your project's governing principles and development guidelines that will guide all subsequent development.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements
|
/speckit.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. Create the spec
|
### 3. Create the spec
|
||||||
|
|
||||||
Use the **`/specify`** command to describe what you want to build. Focus on the **what** and **why**, not the tech stack.
|
Use the **`/speckit.specify`** command to describe what you want to build. Focus on the **what** and **why**, not the tech stack.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.
|
/speckit.specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. Create a technical implementation plan
|
### 4. Create a technical implementation plan
|
||||||
|
|
||||||
Use the **`/plan`** command to provide your tech stack and architecture choices.
|
Use the **`/speckit.plan`** command to provide your tech stack and architecture choices.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.
|
/speckit.plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5. Break down into tasks
|
### 5. Break down into tasks
|
||||||
|
|
||||||
Use **`/tasks`** to create an actionable task list from your implementation plan.
|
Use **`/speckit.tasks`** to create an actionable task list from your implementation plan.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/tasks
|
/speckit.tasks
|
||||||
```
|
```
|
||||||
|
|
||||||
### 6. Execute implementation
|
### 6. Execute implementation
|
||||||
|
|
||||||
Use **`/implement`** to execute all tasks and build your feature according to the plan.
|
Use **`/speckit.implement`** to execute all tasks and build your feature according to the plan.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/implement
|
/speckit.implement
|
||||||
```
|
```
|
||||||
|
|
||||||
For detailed step-by-step instructions, see our [comprehensive guide](./spec-driven.md).
|
For detailed step-by-step instructions, see our [comprehensive guide](./spec-driven.md).
|
||||||
@@ -211,29 +211,29 @@ After running `specify init`, your AI coding agent will have access to these sla
|
|||||||
|
|
||||||
Essential commands for the Spec-Driven Development workflow:
|
Essential commands for the Spec-Driven Development workflow:
|
||||||
|
|
||||||
| Command | Description |
|
| Command | Description |
|
||||||
|-----------------|-----------------------------------------------------------------------|
|
|--------------------------|-----------------------------------------------------------------------|
|
||||||
| `/constitution` | Create or update project governing principles and development guidelines |
|
| `/speckit.constitution` | Create or update project governing principles and development guidelines |
|
||||||
| `/specify` | Define what you want to build (requirements and user stories) |
|
| `/speckit.specify` | Define what you want to build (requirements and user stories) |
|
||||||
| `/plan` | Create technical implementation plans with your chosen tech stack |
|
| `/speckit.plan` | Create technical implementation plans with your chosen tech stack |
|
||||||
| `/tasks` | Generate actionable task lists for implementation |
|
| `/speckit.tasks` | Generate actionable task lists for implementation |
|
||||||
| `/implement` | Execute all tasks to build the feature according to the plan |
|
| `/speckit.implement` | Execute all tasks to build the feature according to the plan |
|
||||||
|
|
||||||
#### Optional Commands
|
#### Optional Commands
|
||||||
|
|
||||||
Additional commands for enhanced quality and validation:
|
Additional commands for enhanced quality and validation:
|
||||||
|
|
||||||
| Command | Description |
|
| Command | Description |
|
||||||
|-----------------|-----------------------------------------------------------------------|
|
|----------------------|-----------------------------------------------------------------------|
|
||||||
| `/clarify` | Clarify underspecified areas (recommended before `/plan`; formerly `/quizme`) |
|
| `/speckit.clarify` | Clarify underspecified areas (recommended before `/speckit.plan`; formerly `/quizme`) |
|
||||||
| `/analyze` | Cross-artifact consistency & coverage analysis (run after /tasks, before /implement) |
|
| `/speckit.analyze` | Cross-artifact consistency & coverage analysis (run after `/speckit.tasks`, before `/speckit.implement`) |
|
||||||
| `/checklist` | Generate custom quality checklists that validate requirements completeness, clarity, and consistency (like "unit tests for English") |
|
| `/speckit.checklist` | Generate custom quality checklists that validate requirements completeness, clarity, and consistency (like "unit tests for English") |
|
||||||
|
|
||||||
### Environment Variables
|
### Environment Variables
|
||||||
|
|
||||||
| Variable | Description |
|
| Variable | Description |
|
||||||
|------------------|------------------------------------------------------------------------------------------------|
|
|------------------|------------------------------------------------------------------------------------------------|
|
||||||
| `SPECIFY_FEATURE` | Override feature detection for non-Git repositories. Set to the feature directory name (e.g., `001-photo-albums`) to work on a specific feature when not using Git branches.<br/>**Must be set in the context of the agent you're working with prior to using `/plan` or follow-up commands. |
|
| `SPECIFY_FEATURE` | Override feature detection for non-Git repositories. Set to the feature directory name (e.g., `001-photo-albums`) to work on a specific feature when not using Git branches.<br/>**Must be set in the context of the agent you're working with prior to using `/speckit.plan` or follow-up commands. |
|
||||||
|
|
||||||
## 📚 Core philosophy
|
## 📚 Core philosophy
|
||||||
|
|
||||||
@@ -354,19 +354,19 @@ Go to the project folder and run your AI agent. In our example, we're using `cla
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
You will know that things are configured correctly if you see the `/constitution`, `/specify`, `/plan`, `/tasks`, and `/implement` commands available.
|
You will know that things are configured correctly if you see the `/speckit.constitution`, `/speckit.specify`, `/speckit.plan`, `/speckit.tasks`, and `/speckit.implement` commands available.
|
||||||
|
|
||||||
The first step should be establishing your project's governing principles using the `/constitution` command. This helps ensure consistent decision-making throughout all subsequent development phases:
|
The first step should be establishing your project's governing principles using the `/speckit.constitution` command. This helps ensure consistent decision-making throughout all subsequent development phases:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
/constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements. Include governance for how these principles should guide technical decisions and implementation choices.
|
/speckit.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements. Include governance for how these principles should guide technical decisions and implementation choices.
|
||||||
```
|
```
|
||||||
|
|
||||||
This step creates or updates the `.specify/memory/constitution.md` file with your project's foundational guidelines that the AI agent will reference during specification, planning, and implementation phases.
|
This step creates or updates the `.specify/memory/constitution.md` file with your project's foundational guidelines that the AI agent will reference during specification, planning, and implementation phases.
|
||||||
|
|
||||||
### **STEP 2:** Create project specifications
|
### **STEP 2:** Create project specifications
|
||||||
|
|
||||||
With your project principles established, you can now create the functional specifications. Use the `/specify` command and then provide the concrete requirements for the project you want to develop.
|
With your project principles established, you can now create the functional specifications. Use the `/speckit.specify` command and then provide the concrete requirements for the project you want to develop.
|
||||||
|
|
||||||
>[!IMPORTANT]
|
>[!IMPORTANT]
|
||||||
>Be as explicit as possible about _what_ you are trying to build and _why_. **Do not focus on the tech stack at this point**.
|
>Be as explicit as possible about _what_ you are trying to build and _why_. **Do not focus on the tech stack at this point**.
|
||||||
@@ -426,12 +426,12 @@ With the baseline specification created, you can go ahead and clarify any of the
|
|||||||
You should run the structured clarification workflow **before** creating a technical plan to reduce rework downstream.
|
You should run the structured clarification workflow **before** creating a technical plan to reduce rework downstream.
|
||||||
|
|
||||||
Preferred order:
|
Preferred order:
|
||||||
1. Use `/clarify` (structured) – sequential, coverage-based questioning that records answers in a Clarifications section.
|
1. Use `/speckit.clarify` (structured) – sequential, coverage-based questioning that records answers in a Clarifications section.
|
||||||
2. Optionally follow up with ad-hoc free-form refinement if something still feels vague.
|
2. Optionally follow up with ad-hoc free-form refinement if something still feels vague.
|
||||||
|
|
||||||
If you intentionally want to skip clarification (e.g., spike or exploratory prototype), explicitly state that so the agent doesn't block on missing clarifications.
|
If you intentionally want to skip clarification (e.g., spike or exploratory prototype), explicitly state that so the agent doesn't block on missing clarifications.
|
||||||
|
|
||||||
Example free-form refinement prompt (after `/clarify` if still needed):
|
Example free-form refinement prompt (after `/speckit.clarify` if still needed):
|
||||||
|
|
||||||
```text
|
```text
|
||||||
For each sample project or project that you create there should be a variable number of tasks between 5 and 15
|
For each sample project or project that you create there should be a variable number of tasks between 5 and 15
|
||||||
@@ -449,7 +449,7 @@ It's important to use the interaction with Claude Code as an opportunity to clar
|
|||||||
|
|
||||||
### **STEP 4:** Generate a plan
|
### **STEP 4:** Generate a plan
|
||||||
|
|
||||||
You can now be specific about the tech stack and other technical requirements. You can use the `/plan` command that is built into the project template with a prompt like this:
|
You can now be specific about the tech stack and other technical requirements. You can use the `/speckit.plan` command that is built into the project template with a prompt like this:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
We are going to generate this using .NET Aspire, using Postgres as the database. The frontend should use
|
We are going to generate this using .NET Aspire, using Postgres as the database. The frontend should use
|
||||||
@@ -535,13 +535,13 @@ You can also ask Claude Code (if you have the [GitHub CLI](https://docs.github.c
|
|||||||
|
|
||||||
### STEP 6: Implementation
|
### STEP 6: Implementation
|
||||||
|
|
||||||
Once ready, use the `/implement` command to execute your implementation plan:
|
Once ready, use the `/speckit.implement` command to execute your implementation plan:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
/implement
|
/speckit.implement
|
||||||
```
|
```
|
||||||
|
|
||||||
The `/implement` command will:
|
The `/speckit.implement` command will:
|
||||||
- Validate that all prerequisites are in place (constitution, spec, plan, and tasks)
|
- Validate that all prerequisites are in place (constitution, spec, plan, and tasks)
|
||||||
- Parse the task breakdown from `tasks.md`
|
- Parse the task breakdown from `tasks.md`
|
||||||
- Execute tasks in the correct order, respecting dependencies and parallel execution markers
|
- Execute tasks in the correct order, respecting dependencies and parallel execution markers
|
||||||
|
|||||||
@@ -62,9 +62,9 @@ uvx --from git+https://github.com/github/spec-kit.git specify init <project_name
|
|||||||
## Verification
|
## Verification
|
||||||
|
|
||||||
After initialization, you should see the following commands available in your AI agent:
|
After initialization, you should see the following commands available in your AI agent:
|
||||||
- `/specify` - Create specifications
|
- `/speckit.specify` - Create specifications
|
||||||
- `/plan` - Generate implementation plans
|
- `/speckit.plan` - Generate implementation plans
|
||||||
- `/tasks` - Break down into actionable tasks
|
- `/speckit.tasks` - Break down into actionable tasks
|
||||||
|
|
||||||
The `.specify/scripts` directory will contain both `.sh` and `.ps1` scripts.
|
The `.specify/scripts` directory will contain both `.sh` and `.ps1` scripts.
|
||||||
|
|
||||||
|
|||||||
@@ -22,29 +22,29 @@ uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME
|
|||||||
|
|
||||||
### 2. Create the Spec
|
### 2. Create the Spec
|
||||||
|
|
||||||
Use the `/specify` command to describe what you want to build. Focus on the **what** and **why**, not the tech stack.
|
Use the `/speckit.specify` command to describe what you want to build. Focus on the **what** and **why**, not the tech stack.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.
|
/speckit.specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. Create a Technical Implementation Plan
|
### 3. Create a Technical Implementation Plan
|
||||||
|
|
||||||
Use the `/plan` command to provide your tech stack and architecture choices.
|
Use the `/speckit.plan` command to provide your tech stack and architecture choices.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.
|
/speckit.plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. Break Down and Implement
|
### 4. Break Down and Implement
|
||||||
|
|
||||||
Use `/tasks` to create an actionable task list, then ask your agent to implement the feature.
|
Use `/speckit.tasks` to create an actionable task list, then ask your agent to implement the feature.
|
||||||
|
|
||||||
## Detailed Example: Building Taskify
|
## Detailed Example: Building Taskify
|
||||||
|
|
||||||
Here's a complete example of building a team productivity platform:
|
Here's a complete example of building a team productivity platform:
|
||||||
|
|
||||||
### Step 1: Define Requirements with `/specify`
|
### Step 1: Define Requirements with `/speckit.specify`
|
||||||
|
|
||||||
```text
|
```text
|
||||||
Develop Taskify, a team productivity platform. It should allow users to create projects, add team members,
|
Develop Taskify, a team productivity platform. It should allow users to create projects, add team members,
|
||||||
@@ -81,7 +81,7 @@ Also validate the specification checklist:
|
|||||||
Read the review and acceptance checklist, and check off each item in the checklist if the feature spec meets the criteria. Leave it empty if it does not.
|
Read the review and acceptance checklist, and check off each item in the checklist if the feature spec meets the criteria. Leave it empty if it does not.
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 3: Generate Technical Plan with `/plan`
|
### Step 3: Generate Technical Plan with `/speckit.plan`
|
||||||
|
|
||||||
Be specific about your tech stack and technical requirements:
|
Be specific about your tech stack and technical requirements:
|
||||||
|
|
||||||
|
|||||||
@@ -102,20 +102,20 @@ fi
|
|||||||
# Validate required directories and files
|
# Validate required directories and files
|
||||||
if [[ ! -d "$FEATURE_DIR" ]]; then
|
if [[ ! -d "$FEATURE_DIR" ]]; then
|
||||||
echo "ERROR: Feature directory not found: $FEATURE_DIR" >&2
|
echo "ERROR: Feature directory not found: $FEATURE_DIR" >&2
|
||||||
echo "Run /specify first to create the feature structure." >&2
|
echo "Run /speckit.specify first to create the feature structure." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -f "$IMPL_PLAN" ]]; then
|
if [[ ! -f "$IMPL_PLAN" ]]; then
|
||||||
echo "ERROR: plan.md not found in $FEATURE_DIR" >&2
|
echo "ERROR: plan.md not found in $FEATURE_DIR" >&2
|
||||||
echo "Run /plan first to create the implementation plan." >&2
|
echo "Run /speckit.plan first to create the implementation plan." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for tasks.md if required
|
# Check for tasks.md if required
|
||||||
if $REQUIRE_TASKS && [[ ! -f "$TASKS" ]]; then
|
if $REQUIRE_TASKS && [[ ! -f "$TASKS" ]]; then
|
||||||
echo "ERROR: tasks.md not found in $FEATURE_DIR" >&2
|
echo "ERROR: tasks.md not found in $FEATURE_DIR" >&2
|
||||||
echo "Run /tasks first to create the task list." >&2
|
echo "Run /speckit.tasks first to create the task list." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -88,20 +88,20 @@ if ($PathsOnly) {
|
|||||||
# Validate required directories and files
|
# Validate required directories and files
|
||||||
if (-not (Test-Path $paths.FEATURE_DIR -PathType Container)) {
|
if (-not (Test-Path $paths.FEATURE_DIR -PathType Container)) {
|
||||||
Write-Output "ERROR: Feature directory not found: $($paths.FEATURE_DIR)"
|
Write-Output "ERROR: Feature directory not found: $($paths.FEATURE_DIR)"
|
||||||
Write-Output "Run /specify first to create the feature structure."
|
Write-Output "Run /speckit.specify first to create the feature structure."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if (-not (Test-Path $paths.IMPL_PLAN -PathType Leaf)) {
|
if (-not (Test-Path $paths.IMPL_PLAN -PathType Leaf)) {
|
||||||
Write-Output "ERROR: plan.md not found in $($paths.FEATURE_DIR)"
|
Write-Output "ERROR: plan.md not found in $($paths.FEATURE_DIR)"
|
||||||
Write-Output "Run /plan first to create the implementation plan."
|
Write-Output "Run /speckit.plan first to create the implementation plan."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check for tasks.md if required
|
# Check for tasks.md if required
|
||||||
if ($RequireTasks -and -not (Test-Path $paths.TASKS -PathType Leaf)) {
|
if ($RequireTasks -and -not (Test-Path $paths.TASKS -PathType Leaf)) {
|
||||||
Write-Output "ERROR: tasks.md not found in $($paths.FEATURE_DIR)"
|
Write-Output "ERROR: tasks.md not found in $($paths.FEATURE_DIR)"
|
||||||
Write-Output "Run /tasks first to create the task list."
|
Write-Output "Run /speckit.tasks first to create the task list."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ The key is treating specifications as the source of truth, with code as the gene
|
|||||||
|
|
||||||
The SDD methodology is significantly enhanced through three powerful commands that automate the specification → planning → tasking workflow:
|
The SDD methodology is significantly enhanced through three powerful commands that automate the specification → planning → tasking workflow:
|
||||||
|
|
||||||
### The `/specify` Command
|
### The `/speckit.specify` Command
|
||||||
|
|
||||||
This command transforms a simple feature description (the user-prompt) into a complete, structured specification with automatic repository management:
|
This command transforms a simple feature description (the user-prompt) into a complete, structured specification with automatic repository management:
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ This command transforms a simple feature description (the user-prompt) into a co
|
|||||||
3. **Template-Based Generation**: Copies and customizes the feature specification template with your requirements
|
3. **Template-Based Generation**: Copies and customizes the feature specification template with your requirements
|
||||||
4. **Directory Structure**: Creates the proper `specs/[branch-name]/` structure for all related documents
|
4. **Directory Structure**: Creates the proper `specs/[branch-name]/` structure for all related documents
|
||||||
|
|
||||||
### The `/plan` Command
|
### The `/speckit.plan` Command
|
||||||
|
|
||||||
Once a feature specification exists, this command creates a comprehensive implementation plan:
|
Once a feature specification exists, this command creates a comprehensive implementation plan:
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ Once a feature specification exists, this command creates a comprehensive implem
|
|||||||
4. **Detailed Documentation**: Generates supporting documents for data models, API contracts, and test scenarios
|
4. **Detailed Documentation**: Generates supporting documents for data models, API contracts, and test scenarios
|
||||||
5. **Quickstart Validation**: Produces a quickstart guide capturing key validation scenarios
|
5. **Quickstart Validation**: Produces a quickstart guide capturing key validation scenarios
|
||||||
|
|
||||||
### The `/tasks` Command
|
### The `/speckit.tasks` Command
|
||||||
|
|
||||||
After a plan is created, this command analyzes the plan and related design documents to generate an executable task list:
|
After a plan is created, this command analyzes the plan and related design documents to generate an executable task list:
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ Total: ~12 hours of documentation work
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Step 1: Create the feature specification (5 minutes)
|
# Step 1: Create the feature specification (5 minutes)
|
||||||
/specify Real-time chat system with message history and user presence
|
/speckit.specify Real-time chat system with message history and user presence
|
||||||
|
|
||||||
# This automatically:
|
# This automatically:
|
||||||
# - Creates branch "003-chat-system"
|
# - Creates branch "003-chat-system"
|
||||||
@@ -129,10 +129,10 @@ Total: ~12 hours of documentation work
|
|||||||
# - Populates it with structured requirements
|
# - Populates it with structured requirements
|
||||||
|
|
||||||
# Step 2: Generate implementation plan (5 minutes)
|
# Step 2: Generate implementation plan (5 minutes)
|
||||||
/plan WebSocket for real-time messaging, PostgreSQL for history, Redis for presence
|
/speckit.plan WebSocket for real-time messaging, PostgreSQL for history, Redis for presence
|
||||||
|
|
||||||
# Step 3: Generate executable tasks (5 minutes)
|
# Step 3: Generate executable tasks (5 minutes)
|
||||||
/tasks
|
/speckit.tasks
|
||||||
|
|
||||||
# This automatically creates:
|
# This automatically creates:
|
||||||
# - specs/003-chat-system/plan.md
|
# - specs/003-chat-system/plan.md
|
||||||
|
|||||||
@@ -1031,11 +1031,11 @@ def init(
|
|||||||
|
|
||||||
steps_lines.append(f"{step_num}. Start using slash commands with your AI agent:")
|
steps_lines.append(f"{step_num}. Start using slash commands with your AI agent:")
|
||||||
|
|
||||||
steps_lines.append(" 2.1 [cyan]/constitution[/] - Establish project principles")
|
steps_lines.append(" 2.1 [cyan]/speckit.constitution[/] - Establish project principles")
|
||||||
steps_lines.append(" 2.2 [cyan]/specify[/] - Create baseline specification")
|
steps_lines.append(" 2.2 [cyan]/speckit.specify[/] - Create baseline specification")
|
||||||
steps_lines.append(" 2.3 [cyan]/plan[/] - Create implementation plan")
|
steps_lines.append(" 2.3 [cyan]/speckit.plan[/] - Create implementation plan")
|
||||||
steps_lines.append(" 2.4 [cyan]/tasks[/] - Generate actionable tasks")
|
steps_lines.append(" 2.4 [cyan]/speckit.tasks[/] - Generate actionable tasks")
|
||||||
steps_lines.append(" 2.5 [cyan]/implement[/] - Execute implementation")
|
steps_lines.append(" 2.5 [cyan]/speckit.implement[/] - Execute implementation")
|
||||||
|
|
||||||
steps_panel = Panel("\n".join(steps_lines), title="Next Steps", border_style="cyan", padding=(1,2))
|
steps_panel = Panel("\n".join(steps_lines), title="Next Steps", border_style="cyan", padding=(1,2))
|
||||||
console.print()
|
console.print()
|
||||||
@@ -1044,9 +1044,9 @@ def init(
|
|||||||
enhancement_lines = [
|
enhancement_lines = [
|
||||||
"Optional commands that you can use for your specs [bright_black](improve quality & confidence)[/bright_black]",
|
"Optional commands that you can use for your specs [bright_black](improve quality & confidence)[/bright_black]",
|
||||||
"",
|
"",
|
||||||
f"○ [cyan]/clarify[/] [bright_black](optional)[/bright_black] - Ask structured questions to de-risk ambiguous areas before planning (run before [cyan]/plan[/] if used)",
|
f"○ [cyan]/speckit.clarify[/] [bright_black](optional)[/bright_black] - Ask structured questions to de-risk ambiguous areas before planning (run before [cyan]/speckit.plan[/] if used)",
|
||||||
f"○ [cyan]/analyze[/] [bright_black](optional)[/bright_black] - Cross-artifact consistency & alignment report (after [cyan]/tasks[/], before [cyan]/implement[/])",
|
f"○ [cyan]/speckit.analyze[/] [bright_black](optional)[/bright_black] - Cross-artifact consistency & alignment report (after [cyan]/speckit.tasks[/], before [cyan]/speckit.implement[/])",
|
||||||
f"○ [cyan]/checklist[/] [bright_black](optional)[/bright_black] - Generate quality checklists to validate requirements completeness, clarity, and consistency (after [cyan]/plan[/])"
|
f"○ [cyan]/speckit.checklist[/] [bright_black](optional)[/bright_black] - Generate quality checklists to validate requirements completeness, clarity, and consistency (after [cyan]/speckit.plan[/])"
|
||||||
]
|
]
|
||||||
enhancements_panel = Panel("\n".join(enhancement_lines), title="Enhancement Commands", border_style="cyan", padding=(1,2))
|
enhancements_panel = Panel("\n".join(enhancement_lines), title="Enhancement Commands", border_style="cyan", padding=(1,2))
|
||||||
console.print()
|
console.print()
|
||||||
|
|||||||
@@ -4,13 +4,13 @@
|
|||||||
**Created**: [DATE]
|
**Created**: [DATE]
|
||||||
**Feature**: [Link to spec.md or relevant documentation]
|
**Feature**: [Link to spec.md or relevant documentation]
|
||||||
|
|
||||||
**Note**: This checklist is generated by the `/checklist` command based on feature context and requirements.
|
**Note**: This checklist is generated by the `/speckit.checklist` command based on feature context and requirements.
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
============================================================================
|
============================================================================
|
||||||
IMPORTANT: The checklist items below are SAMPLE ITEMS for illustration only.
|
IMPORTANT: The checklist items below are SAMPLE ITEMS for illustration only.
|
||||||
|
|
||||||
The /checklist command MUST replace these with actual items based on:
|
The /speckit.checklist command MUST replace these with actual items based on:
|
||||||
- User's specific checklist request
|
- User's specific checklist request
|
||||||
- Feature requirements from spec.md
|
- Feature requirements from spec.md
|
||||||
- Technical context from plan.md
|
- Technical context from plan.md
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|||||||
- Format: `[domain].md`
|
- Format: `[domain].md`
|
||||||
- If file exists, append to existing file
|
- If file exists, append to existing file
|
||||||
- Number items sequentially starting from CHK001
|
- Number items sequentially starting from CHK001
|
||||||
- Each `/checklist` run creates a NEW file (never overwrites existing checklists)
|
- Each `/speckit.checklist` run creates a NEW file (never overwrites existing checklists)
|
||||||
|
|
||||||
**CORE PRINCIPLE - Test the Requirements, Not the Implementation**:
|
**CORE PRINCIPLE - Test the Requirements, Not the Implementation**:
|
||||||
Every checklist item MUST evaluate the REQUIREMENTS THEMSELVES for:
|
Every checklist item MUST evaluate the REQUIREMENTS THEMSELVES for:
|
||||||
@@ -211,7 +211,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|||||||
- Actor/timing
|
- Actor/timing
|
||||||
- Any explicit user-specified must-have items incorporated
|
- Any explicit user-specified must-have items incorporated
|
||||||
|
|
||||||
**Important**: Each `/checklist` command invocation creates a checklist file using short, descriptive names unless file already exists. This allows:
|
**Important**: Each `/speckit.checklist` command invocation creates a checklist file using short, descriptive names unless file already exists. This allows:
|
||||||
|
|
||||||
- Multiple checklists of different types (e.g., `ux.md`, `test.md`, `security.md`)
|
- Multiple checklists of different types (e.g., `ux.md`, `test.md`, `security.md`)
|
||||||
- Simple, memorable filenames that indicate checklist purpose
|
- Simple, memorable filenames that indicate checklist purpose
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|||||||
|
|
||||||
Goal: Detect and reduce ambiguity or missing decision points in the active feature specification and record the clarifications directly in the spec file.
|
Goal: Detect and reduce ambiguity or missing decision points in the active feature specification and record the clarifications directly in the spec file.
|
||||||
|
|
||||||
Note: This clarification workflow is expected to run (and be completed) BEFORE invoking `/plan`. If the user explicitly states they are skipping clarification (e.g., exploratory spike), you may proceed, but must warn that downstream rework risk increases.
|
Note: This clarification workflow is expected to run (and be completed) BEFORE invoking `/speckit.plan`. If the user explicitly states they are skipping clarification (e.g., exploratory spike), you may proceed, but must warn that downstream rework risk increases.
|
||||||
|
|
||||||
Execution steps:
|
Execution steps:
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ Execution steps:
|
|||||||
- `FEATURE_DIR`
|
- `FEATURE_DIR`
|
||||||
- `FEATURE_SPEC`
|
- `FEATURE_SPEC`
|
||||||
- (Optionally capture `IMPL_PLAN`, `TASKS` for future chained flows.)
|
- (Optionally capture `IMPL_PLAN`, `TASKS` for future chained flows.)
|
||||||
- If JSON parsing fails, abort and instruct user to re-run `/specify` or verify feature branch environment.
|
- If JSON parsing fails, abort and instruct user to re-run `/speckit.specify` or verify feature branch environment.
|
||||||
|
|
||||||
2. Load the current spec file. Perform a structured ambiguity & coverage scan using this taxonomy. For each category, mark status: Clear / Partial / Missing. Produce an internal coverage map used for prioritization (do not output raw map unless no questions will be asked).
|
2. Load the current spec file. Perform a structured ambiguity & coverage scan using this taxonomy. For each category, mark status: Clear / Partial / Missing. Produce an internal coverage map used for prioritization (do not output raw map unless no questions will be asked).
|
||||||
|
|
||||||
@@ -150,12 +150,12 @@ Execution steps:
|
|||||||
- Path to updated spec.
|
- Path to updated spec.
|
||||||
- Sections touched (list names).
|
- Sections touched (list names).
|
||||||
- Coverage summary table listing each taxonomy category with Status: Resolved (was Partial/Missing and addressed), Deferred (exceeds question quota or better suited for planning), Clear (already sufficient), Outstanding (still Partial/Missing but low impact).
|
- Coverage summary table listing each taxonomy category with Status: Resolved (was Partial/Missing and addressed), Deferred (exceeds question quota or better suited for planning), Clear (already sufficient), Outstanding (still Partial/Missing but low impact).
|
||||||
- If any Outstanding or Deferred remain, recommend whether to proceed to `/plan` or run `/clarify` again later post-plan.
|
- If any Outstanding or Deferred remain, recommend whether to proceed to `/speckit.plan` or run `/speckit.clarify` again later post-plan.
|
||||||
- Suggested next command.
|
- Suggested next command.
|
||||||
|
|
||||||
Behavior rules:
|
Behavior rules:
|
||||||
- If no meaningful ambiguities found (or all potential questions would be low-impact), respond: "No critical ambiguities detected worth formal clarification." and suggest proceeding.
|
- If no meaningful ambiguities found (or all potential questions would be low-impact), respond: "No critical ambiguities detected worth formal clarification." and suggest proceeding.
|
||||||
- If spec file missing, instruct user to run `/specify` first (do not create a new spec here).
|
- If spec file missing, instruct user to run `/speckit.specify` first (do not create a new spec here).
|
||||||
- Never exceed 5 total asked questions (clarification retries for a single question do not count as new questions).
|
- Never exceed 5 total asked questions (clarification retries for a single question do not count as new questions).
|
||||||
- Avoid speculative tech stack questions unless the absence blocks functional clarity.
|
- Avoid speculative tech stack questions unless the absence blocks functional clarity.
|
||||||
- Respect user early termination signals ("stop", "done", "proceed").
|
- Respect user early termination signals ("stop", "done", "proceed").
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|||||||
|
|
||||||
## Outline
|
## Outline
|
||||||
|
|
||||||
The text the user typed after `/specify` in the triggering message **is** the feature description. Assume you always have it available in this conversation even if `{ARGS}` appears literally below. Do not ask the user to repeat it unless they provided an empty command.
|
The text the user typed after `/speckit.specify` in the triggering message **is** the feature description. Assume you always have it available in this conversation even if `{ARGS}` appears literally below. Do not ask the user to repeat it unless they provided an empty command.
|
||||||
|
|
||||||
Given that feature description, do this:
|
Given that feature description, do this:
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ Given that feature description, do this:
|
|||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- Items marked incomplete require spec updates before `/clarify` or `/plan`
|
- Items marked incomplete require spec updates before `/speckit.clarify` or `/speckit.plan`
|
||||||
```
|
```
|
||||||
|
|
||||||
b. **Run Validation Check**: Review the spec against each checklist item:
|
b. **Run Validation Check**: Review the spec against each checklist item:
|
||||||
@@ -143,7 +143,7 @@ Given that feature description, do this:
|
|||||||
|
|
||||||
d. **Update Checklist**: After each validation iteration, update the checklist file with current pass/fail status
|
d. **Update Checklist**: After each validation iteration, update the checklist file with current pass/fail status
|
||||||
|
|
||||||
6. Report completion with branch name, spec file path, checklist results, and readiness for the next phase (`/clarify` or `/plan`).
|
6. Report completion with branch name, spec file path, checklist results, and readiness for the next phase (`/speckit.clarify` or `/speckit.plan`).
|
||||||
|
|
||||||
**NOTE:** The script creates and checks out the new branch and initializes the spec file before writing.
|
**NOTE:** The script creates and checks out the new branch and initializes the spec file before writing.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
**Branch**: `[###-feature-name]` | **Date**: [DATE] | **Spec**: [link]
|
**Branch**: `[###-feature-name]` | **Date**: [DATE] | **Spec**: [link]
|
||||||
**Input**: Feature specification from `/specs/[###-feature-name]/spec.md`
|
**Input**: Feature specification from `/specs/[###-feature-name]/spec.md`
|
||||||
|
|
||||||
**Note**: This template is filled in by the `/plan` command. See `.specify/templates/commands/plan.md` for the execution workflow.
|
**Note**: This template is filled in by the `/speckit.plan` command. See `.specify/templates/commands/plan.md` for the execution workflow.
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
@@ -39,12 +39,12 @@
|
|||||||
|
|
||||||
```
|
```
|
||||||
specs/[###-feature]/
|
specs/[###-feature]/
|
||||||
├── plan.md # This file (/plan command output)
|
├── plan.md # This file (/speckit.plan command output)
|
||||||
├── research.md # Phase 0 output (/plan command)
|
├── research.md # Phase 0 output (/speckit.plan command)
|
||||||
├── data-model.md # Phase 1 output (/plan command)
|
├── data-model.md # Phase 1 output (/speckit.plan command)
|
||||||
├── quickstart.md # Phase 1 output (/plan command)
|
├── quickstart.md # Phase 1 output (/speckit.plan command)
|
||||||
├── contracts/ # Phase 1 output (/plan command)
|
├── contracts/ # Phase 1 output (/speckit.plan command)
|
||||||
└── tasks.md # Phase 2 output (/tasks command - NOT created by /plan)
|
└── tasks.md # Phase 2 output (/speckit.tasks command - NOT created by /speckit.plan)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Source Code (repository root)
|
### Source Code (repository root)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ description: "Task list template for feature implementation"
|
|||||||
============================================================================
|
============================================================================
|
||||||
IMPORTANT: The tasks below are SAMPLE TASKS for illustration purposes only.
|
IMPORTANT: The tasks below are SAMPLE TASKS for illustration purposes only.
|
||||||
|
|
||||||
The /tasks command MUST replace these with actual tasks based on:
|
The /speckit.tasks command MUST replace these with actual tasks based on:
|
||||||
- User stories from spec.md (with their priorities P1, P2, P3...)
|
- User stories from spec.md (with their priorities P1, P2, P3...)
|
||||||
- Feature requirements from plan.md
|
- Feature requirements from plan.md
|
||||||
- Entities from data-model.md
|
- Entities from data-model.md
|
||||||
|
|||||||
Reference in New Issue
Block a user