bms-speckit-plugin 1.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +2 -2
- package/package.json +2 -3
- package/skills/speckit/SKILL.md +112 -59
- package/commands/analyze.md +0 -70
- package/commands/constitution.md +0 -36
- package/commands/implement.md +0 -72
- package/commands/plan.md +0 -71
- package/commands/specify.md +0 -67
- package/commands/tasks.md +0 -74
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bms-speckit",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Single-command automated development pipeline. /bms-speckit takes requirements and runs the full engineering workflow with TDD and quality gates.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "manoirx"
|
|
7
7
|
},
|
package/package.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bms-speckit-plugin",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "Single-command automated development pipeline: /bms-speckit takes requirements and runs constitution → specify → plan → tasks → analyze → implement → verify",
|
|
5
5
|
"files": [
|
|
6
6
|
".claude-plugin/",
|
|
7
|
-
"commands/",
|
|
8
7
|
"skills/"
|
|
9
8
|
],
|
|
10
9
|
"keywords": [
|
package/skills/speckit/SKILL.md
CHANGED
|
@@ -1,74 +1,127 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bms-speckit
|
|
3
|
-
description: This skill should be used when the user
|
|
3
|
+
description: Full automated development workflow. This skill should be used when the user asks to "build an application", "create a dashboard", "develop a feature", "speckit", "bms-speckit", or provides a software requirement to implement end-to-end with TDD, specifications, and quality gates.
|
|
4
|
+
argument-hint: <your requirement description>
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Skill, Agent, WebSearch, WebFetch
|
|
4
7
|
---
|
|
5
8
|
|
|
6
|
-
# Speckit —
|
|
9
|
+
# BMS Speckit — Automated Development Pipeline
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
Takes a single requirement and runs the complete engineering workflow automatically:
|
|
12
|
+
**constitution → specify → plan → tasks → analyze → implement → verify**
|
|
9
13
|
|
|
10
|
-
|
|
14
|
+
## Engineering Constitution
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
constitution → specify → plan → tasks → analyze → implement
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Each step produces artifacts in `specs/` directory that feed into the next step.
|
|
17
|
-
|
|
18
|
-
## Workflow Commands
|
|
16
|
+
All work follows these principles:
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
| `/bms-speckit:plan` | Create implementation plan from spec | Specification | `specs/{feature}/plan.md` |
|
|
25
|
-
| `/bms-speckit:tasks` | Break plan into executable tasks | Plan | `specs/{feature}/tasks.md` |
|
|
26
|
-
| `/bms-speckit:analyze` | Review tasks for improvements | Tasks | Updated `tasks.md` |
|
|
27
|
-
| `/bms-speckit:implement` | Execute tasks one by one with TDD | Tasks | Working code + tests |
|
|
28
|
-
|
|
29
|
-
## Directory Structure
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
specs/
|
|
33
|
-
├── constitution.md # Engineering principles
|
|
34
|
-
└── {feature-name}/
|
|
35
|
-
├── specification.md # What to build
|
|
36
|
-
├── plan.md # How to build it
|
|
37
|
-
└── tasks.md # Task checklist with status
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Constitution Principles
|
|
41
|
-
|
|
42
|
-
The constitution governs all speckit work. Default principles:
|
|
43
|
-
|
|
44
|
-
1. **Code Quality** — High standards, strict TypeScript, no shortcuts
|
|
45
|
-
2. **TDD** — Write tests first, confirm failure, then implement
|
|
46
|
-
3. **Testing Levels** — Unit, component, integration, API tests as appropriate
|
|
47
|
-
4. **UX** — Consistent, professional, user-friendly interfaces
|
|
18
|
+
1. **Code Quality** — No hardcoded conditions, strict TypeScript, no shortcuts
|
|
19
|
+
2. **TDD** — Always write tests FIRST, confirm failure, then implement
|
|
20
|
+
3. **Testing** — Unit, component, integration, and API tests as appropriate
|
|
21
|
+
4. **UX** — Consistent, professional, user-friendly interfaces with clear feedback
|
|
48
22
|
5. **Performance** — Efficient architecture and resource management
|
|
49
|
-
6. **Version Control** —
|
|
23
|
+
6. **Version Control** — Commit after every meaningful change with descriptive messages
|
|
50
24
|
7. **Reusability** — Modular components, centralized business logic, no duplication
|
|
51
25
|
8. **User Feedback** — Informative progress reporting and error messages
|
|
52
|
-
9. **Tool Leverage** — Use available
|
|
53
|
-
|
|
54
|
-
##
|
|
26
|
+
9. **Tool Leverage** — Use all available skills, MCP tools, frameworks, and domain expertise
|
|
27
|
+
|
|
28
|
+
## Workflow — Execute ALL steps in order, do NOT ask for confirmation
|
|
29
|
+
|
|
30
|
+
### Step 1: Setup Constitution
|
|
31
|
+
- Create `specs/` directory
|
|
32
|
+
- Write `specs/constitution.md` with the principles above
|
|
33
|
+
- Check CLAUDE.md compliance — update if needed
|
|
34
|
+
- Commit: `feat: establish engineering constitution`
|
|
35
|
+
|
|
36
|
+
### Step 2: Create Specification
|
|
37
|
+
- The user's requirement is provided as the command argument: $ARGUMENTS
|
|
38
|
+
- Analyze this requirement thoroughly
|
|
39
|
+
- If database access is needed and MCP tools are available (list_tables, describe_table, query), explore the actual database schema
|
|
40
|
+
- Create `specs/{feature-name}/specification.md` containing:
|
|
41
|
+
- Overview and user requirements
|
|
42
|
+
- Functional requirements (numbered, testable)
|
|
43
|
+
- Non-functional requirements (performance, security, UX)
|
|
44
|
+
- Technical analysis (database schema, API dependencies)
|
|
45
|
+
- Architecture (components, data flow)
|
|
46
|
+
- UI/UX design (screens, navigation, interactions)
|
|
47
|
+
- Data model (tables, relationships, queries)
|
|
48
|
+
- Constraints and success criteria
|
|
49
|
+
- Commit: `feat: add specification for {feature-name}`
|
|
50
|
+
|
|
51
|
+
### Step 3: Create Implementation Plan
|
|
52
|
+
- Read the specification
|
|
53
|
+
- Create `specs/{feature-name}/plan.md` containing:
|
|
54
|
+
- Architecture overview and file structure
|
|
55
|
+
- Implementation phases: Foundation → Core → UI → Integration → Testing
|
|
56
|
+
- Technology stack with justification
|
|
57
|
+
- Testing strategy (what to test, coverage targets)
|
|
58
|
+
- Risk assessment
|
|
59
|
+
- Commit: `feat: add implementation plan for {feature-name}`
|
|
60
|
+
|
|
61
|
+
### Step 4: Create Task List
|
|
62
|
+
- Read the plan
|
|
63
|
+
- Create `specs/{feature-name}/tasks.md` with granular tasks (5-15 min each)
|
|
64
|
+
- Each task includes:
|
|
55
65
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
### Task 1: [Name]
|
|
60
|
-
- **Status**: pending | in_progress | completed | blocked
|
|
66
|
+
```
|
|
67
|
+
### Task N: {Name}
|
|
68
|
+
- **Status**: pending
|
|
61
69
|
- **Priority**: high | medium | low
|
|
62
|
-
- **
|
|
63
|
-
- **
|
|
64
|
-
- **
|
|
70
|
+
- **Phase**: N
|
|
71
|
+
- **Files**: exact file paths
|
|
72
|
+
- **Description**: specific and actionable
|
|
73
|
+
- **Tests**: what tests to write first
|
|
74
|
+
- **Acceptance**: measurable verification criteria
|
|
75
|
+
- **Commit message**: descriptive message
|
|
65
76
|
```
|
|
66
77
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
78
|
+
- Order: setup → data layer → business logic → UI → integration → polish
|
|
79
|
+
- Commit: `feat: add task list for {feature-name}`
|
|
80
|
+
|
|
81
|
+
### Step 5: Analyze Tasks
|
|
82
|
+
- Review all tasks for quality:
|
|
83
|
+
- Granular enough? (5-15 min each)
|
|
84
|
+
- Each independently testable?
|
|
85
|
+
- Dependencies correct and explicit?
|
|
86
|
+
- Every task has test-first step?
|
|
87
|
+
- Acceptance criteria clear and measurable?
|
|
88
|
+
- Fix any issues found in tasks.md
|
|
89
|
+
- Commit if changes made
|
|
90
|
+
|
|
91
|
+
### Step 6: Implement ALL Tasks
|
|
92
|
+
For each pending task, execute the TDD cycle:
|
|
93
|
+
|
|
94
|
+
1. Update task status to `in_progress` in tasks.md
|
|
95
|
+
2. **Write the test first** — meaningful tests that verify behavior
|
|
96
|
+
3. **Run tests — verify they FAIL** (if they pass, tests are wrong)
|
|
97
|
+
4. **Write minimal implementation** to make tests pass
|
|
98
|
+
5. **Run ALL tests — verify they PASS** (fix regressions)
|
|
99
|
+
6. **Commit** with the task's commit message
|
|
100
|
+
7. Update task status to `completed` and increment completed count
|
|
101
|
+
8. Move to next pending task
|
|
102
|
+
|
|
103
|
+
If a task is blocked, mark as `blocked` with reason and continue.
|
|
104
|
+
|
|
105
|
+
### Step 7: Final Verification
|
|
106
|
+
- Run the full test suite
|
|
107
|
+
- Review all specification requirements are met
|
|
108
|
+
- Check for security issues
|
|
109
|
+
- Run the analyze step again on completed code
|
|
110
|
+
- If issues found, create new tasks and implement them
|
|
111
|
+
- Commit any final fixes
|
|
112
|
+
|
|
113
|
+
### Step 8: Summary Report
|
|
114
|
+
Output a final report:
|
|
115
|
+
- What was built
|
|
116
|
+
- Total tests passing
|
|
117
|
+
- Files created/modified
|
|
118
|
+
- How to run the application
|
|
119
|
+
- Any remaining issues or recommendations
|
|
120
|
+
|
|
121
|
+
## CRITICAL RULES
|
|
122
|
+
- Do NOT ask for confirmation between steps — run everything automatically
|
|
123
|
+
- Do NOT skip the TDD cycle — test first, always
|
|
124
|
+
- Commit after EVERY completed task
|
|
125
|
+
- Use MCP tools if available (bms-session for database access)
|
|
126
|
+
- If blocked on a task, skip it and continue — come back later
|
|
127
|
+
- Push code if git remote is configured
|
package/commands/analyze.md
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyze
|
|
3
|
-
description: Review tasks and implementation for quality, completeness, and constitution compliance
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent
|
|
5
|
-
user-invocable: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Speckit Analyze
|
|
9
|
-
|
|
10
|
-
Review tasks and/or implementation for quality and compliance with the constitution.
|
|
11
|
-
|
|
12
|
-
## Instructions
|
|
13
|
-
|
|
14
|
-
1. Read `specs/constitution.md` for governing principles.
|
|
15
|
-
|
|
16
|
-
2. Find the most recent tasks file (`specs/*/tasks.md`).
|
|
17
|
-
|
|
18
|
-
3. Read the specification and plan for context.
|
|
19
|
-
|
|
20
|
-
4. **If tasks are not yet started (all pending)** — Review task quality:
|
|
21
|
-
- Are tasks granular enough (5-15 min each)?
|
|
22
|
-
- Is each task independently testable?
|
|
23
|
-
- Are dependencies correct and explicit?
|
|
24
|
-
- Does every task include a test-first step?
|
|
25
|
-
- Are acceptance criteria clear and measurable?
|
|
26
|
-
- Are commit messages descriptive?
|
|
27
|
-
- Are there any missing tasks from the plan?
|
|
28
|
-
- Does the task order make sense?
|
|
29
|
-
|
|
30
|
-
5. **If some tasks are completed** — Review implementation quality:
|
|
31
|
-
- Read the code that was written for completed tasks
|
|
32
|
-
- Check if tests exist and are meaningful (not just mocking everything)
|
|
33
|
-
- Check if code follows the constitution principles
|
|
34
|
-
- Check for code duplication or missed reuse opportunities
|
|
35
|
-
- Check if commits were made after each task
|
|
36
|
-
- Check for missing error handling
|
|
37
|
-
- Check UX: is feedback clear? Are loading states handled?
|
|
38
|
-
- Check performance: any obvious inefficiencies?
|
|
39
|
-
|
|
40
|
-
6. **If all tasks are completed** — Final review:
|
|
41
|
-
- Run all tests (`npm test` or equivalent)
|
|
42
|
-
- Check test coverage
|
|
43
|
-
- Review overall architecture matches the plan
|
|
44
|
-
- Verify all specification requirements are met
|
|
45
|
-
- Check for security issues
|
|
46
|
-
- Verify deployment instructions work
|
|
47
|
-
|
|
48
|
-
7. Output a report:
|
|
49
|
-
|
|
50
|
-
```markdown
|
|
51
|
-
## Speckit Analysis Report
|
|
52
|
-
|
|
53
|
-
**Feature**: {name}
|
|
54
|
-
**Tasks**: {completed}/{total}
|
|
55
|
-
**Status**: {needs-work | ready-to-implement | ready-to-ship}
|
|
56
|
-
|
|
57
|
-
### Issues Found
|
|
58
|
-
{List each issue with severity: critical / important / minor}
|
|
59
|
-
|
|
60
|
-
### Recommendations
|
|
61
|
-
{Specific actions to take, with task references}
|
|
62
|
-
|
|
63
|
-
### Constitution Compliance
|
|
64
|
-
{Which principles are met, which need work}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
8. If issues are found, update `tasks.md`:
|
|
68
|
-
- Add new tasks for issues that need fixing
|
|
69
|
-
- Update existing task descriptions if acceptance criteria need strengthening
|
|
70
|
-
- Mark the total task count updated
|
package/commands/constitution.md
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: constitution
|
|
3
|
-
description: Establish engineering principles that govern all speckit development work
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Speckit Constitution
|
|
8
|
-
|
|
9
|
-
Establish the engineering constitution for this project. The constitution defines principles that ALL subsequent speckit commands must follow.
|
|
10
|
-
|
|
11
|
-
## Instructions
|
|
12
|
-
|
|
13
|
-
1. Read the user's input as the constitution text. If no input provided, use the default constitution from the speckit skill.
|
|
14
|
-
|
|
15
|
-
2. Create directory `specs/` if it doesn't exist.
|
|
16
|
-
|
|
17
|
-
3. Write `specs/constitution.md` with the following format:
|
|
18
|
-
|
|
19
|
-
```markdown
|
|
20
|
-
# Engineering Constitution
|
|
21
|
-
|
|
22
|
-
Established: {current date}
|
|
23
|
-
|
|
24
|
-
## Principles
|
|
25
|
-
|
|
26
|
-
{constitution text, formatted as numbered principles}
|
|
27
|
-
|
|
28
|
-
## Enforcement
|
|
29
|
-
|
|
30
|
-
All speckit commands (specify, plan, tasks, implement) must comply with these principles.
|
|
31
|
-
Violations should be flagged during /speckit:analyze.
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
4. Check if CLAUDE.md exists in the project root. If it does, verify it aligns with the constitution. If it doesn't align, suggest specific additions to make it compliant. Only modify CLAUDE.md if the user confirms.
|
|
35
|
-
|
|
36
|
-
5. Report what was created and confirm the constitution is active.
|
package/commands/implement.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: implement
|
|
3
|
-
description: Execute the next pending task from the task list using TDD
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, WebSearch, WebFetch
|
|
5
|
-
user-invocable: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Speckit Implement
|
|
9
|
-
|
|
10
|
-
Execute the next pending task from the task list using TDD.
|
|
11
|
-
|
|
12
|
-
## Instructions
|
|
13
|
-
|
|
14
|
-
1. Read `specs/constitution.md` for governing principles.
|
|
15
|
-
|
|
16
|
-
2. Find the tasks file (`specs/*/tasks.md`). If multiple features exist and user doesn't specify, pick the one with pending tasks.
|
|
17
|
-
|
|
18
|
-
3. Find the **first task with status `pending`**. Update its status to `in_progress` in the tasks file.
|
|
19
|
-
|
|
20
|
-
4. Read the task's description, files, tests, and acceptance criteria.
|
|
21
|
-
|
|
22
|
-
5. **Execute using TDD:**
|
|
23
|
-
|
|
24
|
-
a. **Write the test first**
|
|
25
|
-
- Create the test file specified in the task
|
|
26
|
-
- Write test cases that cover the acceptance criteria
|
|
27
|
-
- Tests should be meaningful — verify behavior, not mock everything
|
|
28
|
-
|
|
29
|
-
b. **Verify the test fails**
|
|
30
|
-
- Run the test suite
|
|
31
|
-
- Confirm the new tests fail (because implementation doesn't exist yet)
|
|
32
|
-
- If tests pass without implementation, the tests are wrong — fix them
|
|
33
|
-
|
|
34
|
-
c. **Write the minimal implementation**
|
|
35
|
-
- Implement only what's needed to pass the tests
|
|
36
|
-
- Follow the file structure from the plan
|
|
37
|
-
- Follow existing code patterns in the project
|
|
38
|
-
|
|
39
|
-
d. **Verify all tests pass**
|
|
40
|
-
- Run the full test suite (not just new tests)
|
|
41
|
-
- Fix any regressions
|
|
42
|
-
|
|
43
|
-
e. **Commit**
|
|
44
|
-
- Stage only the files relevant to this task
|
|
45
|
-
- Use the commit message from the task
|
|
46
|
-
- Never use `--no-verify`
|
|
47
|
-
|
|
48
|
-
6. **Update the tasks file:**
|
|
49
|
-
- Set this task's status to `completed`
|
|
50
|
-
- Update the "Completed" count at the top
|
|
51
|
-
|
|
52
|
-
7. **Check if there are more pending tasks:**
|
|
53
|
-
- If yes, report completion and indicate next task is ready
|
|
54
|
-
- If no, report all tasks complete and suggest `/speckit:analyze` for final review
|
|
55
|
-
|
|
56
|
-
## Error Handling
|
|
57
|
-
|
|
58
|
-
- If a test framework isn't set up yet, set it up as part of the first task
|
|
59
|
-
- If a task is blocked by a missing dependency, mark it as `blocked` with reason, and move to the next pending task
|
|
60
|
-
- If implementation is unclear, read the specification and plan for context
|
|
61
|
-
- Never skip the test-first step — if it's genuinely not testable, document why in the task
|
|
62
|
-
|
|
63
|
-
## Output Format
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
Task {N}: {name}
|
|
67
|
-
Status: completed ✓
|
|
68
|
-
Tests: {X} passing
|
|
69
|
-
Files: {list of files changed}
|
|
70
|
-
Commit: {sha} - {message}
|
|
71
|
-
Next: Task {N+1}: {name} (or "All tasks complete")
|
|
72
|
-
```
|
package/commands/plan.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: plan
|
|
3
|
-
description: Create an implementation plan from a specification
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent
|
|
5
|
-
user-invocable: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Speckit Plan
|
|
9
|
-
|
|
10
|
-
Create a detailed implementation plan from the most recent specification.
|
|
11
|
-
|
|
12
|
-
## Instructions
|
|
13
|
-
|
|
14
|
-
1. Find the most recent specification:
|
|
15
|
-
- Look for `specs/*/specification.md` files
|
|
16
|
-
- If multiple exist, use the most recently modified one
|
|
17
|
-
- If the user provides a feature name argument, use that specific one
|
|
18
|
-
|
|
19
|
-
2. Read `specs/constitution.md` for governing principles.
|
|
20
|
-
|
|
21
|
-
3. Read the specification thoroughly.
|
|
22
|
-
|
|
23
|
-
4. Create `specs/{feature}/plan.md` with this structure:
|
|
24
|
-
|
|
25
|
-
```markdown
|
|
26
|
-
# {Feature Name} Implementation Plan
|
|
27
|
-
|
|
28
|
-
Created: {date}
|
|
29
|
-
Specification: specs/{feature}/specification.md
|
|
30
|
-
|
|
31
|
-
## Architecture Overview
|
|
32
|
-
{Component diagram in text, data flow, key technology choices}
|
|
33
|
-
|
|
34
|
-
## File Structure
|
|
35
|
-
{Every file to create/modify with its purpose}
|
|
36
|
-
|
|
37
|
-
## Implementation Phases
|
|
38
|
-
|
|
39
|
-
### Phase 1: Foundation
|
|
40
|
-
{Project setup, scaffolding, core infrastructure}
|
|
41
|
-
|
|
42
|
-
### Phase 2: Core Features
|
|
43
|
-
{Main functionality, business logic, data layer}
|
|
44
|
-
|
|
45
|
-
### Phase 3: UI/UX
|
|
46
|
-
{User interface, interactions, responsive design}
|
|
47
|
-
|
|
48
|
-
### Phase 4: Integration
|
|
49
|
-
{API connections, authentication, data flow}
|
|
50
|
-
|
|
51
|
-
### Phase 5: Testing & Polish
|
|
52
|
-
{Test coverage, error handling, performance, accessibility}
|
|
53
|
-
|
|
54
|
-
## Technology Stack
|
|
55
|
-
{Frameworks, libraries, tools with justification}
|
|
56
|
-
|
|
57
|
-
## Testing Strategy
|
|
58
|
-
{Test types, what to test at each level, coverage targets}
|
|
59
|
-
|
|
60
|
-
## Deployment
|
|
61
|
-
{How to build, run locally, deploy}
|
|
62
|
-
|
|
63
|
-
## Risk Assessment
|
|
64
|
-
{Potential blockers and mitigation strategies}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
5. Ensure the plan follows TDD approach: every feature implementation starts with tests.
|
|
68
|
-
|
|
69
|
-
6. Ensure the plan includes commit points after each meaningful milestone.
|
|
70
|
-
|
|
71
|
-
7. Report the plan location and suggest running `/speckit:tasks` next.
|
package/commands/specify.md
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: specify
|
|
3
|
-
description: Create a detailed specification from user requirements
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, WebSearch, WebFetch
|
|
5
|
-
user-invocable: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Speckit Specify
|
|
9
|
-
|
|
10
|
-
Create a detailed technical specification from user requirements.
|
|
11
|
-
|
|
12
|
-
## Instructions
|
|
13
|
-
|
|
14
|
-
1. Read the user's requirement text from the command argument.
|
|
15
|
-
|
|
16
|
-
2. Read `specs/constitution.md` to understand governing principles. If it doesn't exist, warn the user to run `/speckit:constitution` first, but continue with default principles.
|
|
17
|
-
|
|
18
|
-
3. Analyze the requirements:
|
|
19
|
-
- Identify the core problem being solved
|
|
20
|
-
- Identify target users and their needs
|
|
21
|
-
- Identify technical constraints and dependencies
|
|
22
|
-
- If database access is needed and BMS MCP tools are available, use them to explore the database schema (list_tables, describe_table) to inform the specification
|
|
23
|
-
|
|
24
|
-
4. Create a feature directory name from the requirements (kebab-case, e.g., `hosxp-dashboard`).
|
|
25
|
-
|
|
26
|
-
5. Write `specs/{feature}/specification.md` with this structure:
|
|
27
|
-
|
|
28
|
-
```markdown
|
|
29
|
-
# {Feature Name} Specification
|
|
30
|
-
|
|
31
|
-
Created: {date}
|
|
32
|
-
Status: Draft
|
|
33
|
-
|
|
34
|
-
## Overview
|
|
35
|
-
{1-2 paragraph summary of what we're building and why}
|
|
36
|
-
|
|
37
|
-
## User Requirements
|
|
38
|
-
{Original requirements from user}
|
|
39
|
-
|
|
40
|
-
## Functional Requirements
|
|
41
|
-
{Numbered list of specific, testable requirements}
|
|
42
|
-
|
|
43
|
-
## Non-Functional Requirements
|
|
44
|
-
{Performance, security, UX, accessibility requirements}
|
|
45
|
-
|
|
46
|
-
## Technical Analysis
|
|
47
|
-
{Database schema analysis, API dependencies, framework choices}
|
|
48
|
-
|
|
49
|
-
## Architecture
|
|
50
|
-
{High-level architecture: components, data flow, key decisions}
|
|
51
|
-
|
|
52
|
-
## UI/UX Design
|
|
53
|
-
{Screen descriptions, navigation flow, key interactions}
|
|
54
|
-
|
|
55
|
-
## Data Model
|
|
56
|
-
{Tables, relationships, queries needed}
|
|
57
|
-
|
|
58
|
-
## Constraints
|
|
59
|
-
{Limitations, assumptions, out of scope}
|
|
60
|
-
|
|
61
|
-
## Success Criteria
|
|
62
|
-
{How we know it's done — measurable outcomes}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
6. If MCP tools are available, use them to validate the data model section against the actual database.
|
|
66
|
-
|
|
67
|
-
7. Report the specification location and ask user to review before proceeding to `/speckit:plan`.
|
package/commands/tasks.md
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tasks
|
|
3
|
-
description: Break an implementation plan into executable tasks with status tracking
|
|
4
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
5
|
-
user-invocable: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Speckit Tasks
|
|
9
|
-
|
|
10
|
-
Break the implementation plan into granular, executable tasks.
|
|
11
|
-
|
|
12
|
-
## Instructions
|
|
13
|
-
|
|
14
|
-
1. Find the most recent plan:
|
|
15
|
-
- Look for `specs/*/plan.md` files
|
|
16
|
-
- If the user provides a feature name argument, use that specific one
|
|
17
|
-
|
|
18
|
-
2. Read the plan and the specification.
|
|
19
|
-
|
|
20
|
-
3. Read `specs/constitution.md` for governing principles.
|
|
21
|
-
|
|
22
|
-
4. Create `specs/{feature}/tasks.md` with granular tasks:
|
|
23
|
-
|
|
24
|
-
```markdown
|
|
25
|
-
# {Feature Name} Tasks
|
|
26
|
-
|
|
27
|
-
Created: {date}
|
|
28
|
-
Plan: specs/{feature}/plan.md
|
|
29
|
-
Total Tasks: {count}
|
|
30
|
-
Completed: 0
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
### Task 1: {Name}
|
|
35
|
-
- **Status**: pending
|
|
36
|
-
- **Priority**: high
|
|
37
|
-
- **Phase**: 1 (Foundation)
|
|
38
|
-
- **Files**: `path/to/file1.ts`, `path/to/file2.ts`
|
|
39
|
-
- **Description**: {What to do — specific and actionable}
|
|
40
|
-
- **Tests**: {What tests to write first}
|
|
41
|
-
- **Acceptance**: {How to verify it's done}
|
|
42
|
-
- **Commit message**: `feat: {short description}`
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
### Task 2: {Name}
|
|
47
|
-
...
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Task Granularity Rules
|
|
51
|
-
|
|
52
|
-
- Each task should take 5-15 minutes to implement
|
|
53
|
-
- Each task must be independently testable
|
|
54
|
-
- Each task produces a commit
|
|
55
|
-
- Tasks follow TDD: write test → verify fail → implement → verify pass → commit
|
|
56
|
-
- Dependencies between tasks should be explicit (e.g., "Depends on: Task 1")
|
|
57
|
-
- Group tasks by phase from the plan
|
|
58
|
-
|
|
59
|
-
## Task Ordering
|
|
60
|
-
|
|
61
|
-
1. Project setup and scaffolding first
|
|
62
|
-
2. Data layer and API connections
|
|
63
|
-
3. Core business logic with tests
|
|
64
|
-
4. UI components
|
|
65
|
-
5. Integration and wiring
|
|
66
|
-
6. Polish, error handling, accessibility
|
|
67
|
-
|
|
68
|
-
## Report
|
|
69
|
-
|
|
70
|
-
After creating tasks, output:
|
|
71
|
-
- Total number of tasks
|
|
72
|
-
- Tasks per phase
|
|
73
|
-
- Estimated task dependencies
|
|
74
|
-
- Suggest running `/speckit:analyze` to review quality
|