bms-speckit-plugin 1.0.0 → 2.0.0

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bms-speckit",
3
- "version": "1.0.0",
4
- "description": "Structured development workflow: constitution specify plan tasks → analyze → implement. Takes requirements through a full engineering pipeline with TDD, quality gates, and automated task execution.",
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": "1.0.0",
4
- "description": "Claude Code plugin for structured development workflow: constitution → specify → plan → tasks → analyze → implement",
3
+ "version": "2.0.0",
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": [
@@ -1,74 +1,130 @@
1
1
  ---
2
2
  name: bms-speckit
3
- description: This skill should be used when the user mentions "speckit", "bms-speckit", uses any bms-speckit command (/bms-speckit:constitution, /bms-speckit:specify, /bms-speckit:plan, /bms-speckit:tasks, /bms-speckit:analyze, /bms-speckit:implement), or asks about the development workflow pipeline. Provides a structured engineering workflow from requirements to implementation.
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 — Structured Development Workflow
9
+ # BMS Speckit — Automated Development Pipeline
7
10
 
8
- ## Overview
11
+ Takes a single requirement and runs the complete engineering workflow automatically:
12
+ **constitution → specify → plan → tasks → analyze → implement → verify**
9
13
 
10
- Speckit is a development pipeline that takes user requirements through a disciplined engineering process:
14
+ ## Input Requirement
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
+ $ARGUMENTS
19
17
 
20
- | Command | Purpose | Input | Output |
21
- |---|---|---|---|
22
- | `/bms-speckit:constitution` | Set engineering principles | Constitution text | `specs/constitution.md` |
23
- | `/bms-speckit:specify` | Create specification from requirements | User requirements | `specs/{feature}/specification.md` |
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 |
18
+ ## Engineering Constitution
28
19
 
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
- ```
20
+ All work follows these principles:
39
21
 
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
22
+ 1. **Code Quality** — No hardcoded conditions, strict TypeScript, no shortcuts
23
+ 2. **TDD** — Always write tests FIRST, confirm failure, then implement
24
+ 3. **Testing** Unit, component, integration, and API tests as appropriate
25
+ 4. **UX** — Consistent, professional, user-friendly interfaces with clear feedback
48
26
  5. **Performance** — Efficient architecture and resource management
49
- 6. **Version Control** — Frequent atomic commits after each meaningful change
27
+ 6. **Version Control** — Commit after every meaningful change with descriptive messages
50
28
  7. **Reusability** — Modular components, centralized business logic, no duplication
51
29
  8. **User Feedback** — Informative progress reporting and error messages
52
- 9. **Tool Leverage** — Use available frameworks, skills, and domain expertise
53
-
54
- ## Task Status Format
30
+ 9. **Tool Leverage** — Use all available skills, MCP tools, frameworks, and domain expertise
31
+
32
+ ## Workflow Execute ALL steps in order, do NOT ask for confirmation
33
+
34
+ ### Step 1: Setup Constitution
35
+ - Create `specs/` directory
36
+ - Write `specs/constitution.md` with the principles above
37
+ - Check CLAUDE.md compliance — update if needed
38
+ - Commit: `feat: establish engineering constitution`
39
+
40
+ ### Step 2: Create Specification
41
+ - Analyze the requirement: $ARGUMENTS
42
+ - If database access is needed and MCP tools are available (list_tables, describe_table, query), explore the actual database schema
43
+ - Create `specs/{feature-name}/specification.md` containing:
44
+ - Overview and user requirements
45
+ - Functional requirements (numbered, testable)
46
+ - Non-functional requirements (performance, security, UX)
47
+ - Technical analysis (database schema, API dependencies)
48
+ - Architecture (components, data flow)
49
+ - UI/UX design (screens, navigation, interactions)
50
+ - Data model (tables, relationships, queries)
51
+ - Constraints and success criteria
52
+ - Commit: `feat: add specification for {feature-name}`
53
+
54
+ ### Step 3: Create Implementation Plan
55
+ - Read the specification
56
+ - Create `specs/{feature-name}/plan.md` containing:
57
+ - Architecture overview and file structure
58
+ - Implementation phases: Foundation → Core → UI → Integration → Testing
59
+ - Technology stack with justification
60
+ - Testing strategy (what to test, coverage targets)
61
+ - Risk assessment
62
+ - Commit: `feat: add implementation plan for {feature-name}`
63
+
64
+ ### Step 4: Create Task List
65
+ - Read the plan
66
+ - Create `specs/{feature-name}/tasks.md` with granular tasks (5-15 min each)
67
+ - Each task includes:
55
68
 
56
- Tasks in `tasks.md` use this format:
57
-
58
- ```markdown
59
- ### Task 1: [Name]
60
- - **Status**: pending | in_progress | completed | blocked
69
+ ```
70
+ ### Task N: {Name}
71
+ - **Status**: pending
61
72
  - **Priority**: high | medium | low
62
- - **Files**: list of files to create/modify
63
- - **Description**: what to do
64
- - **Acceptance**: how to verify it's done
73
+ - **Phase**: N
74
+ - **Files**: exact file paths
75
+ - **Description**: specific and actionable
76
+ - **Tests**: what tests to write first
77
+ - **Acceptance**: measurable verification criteria
78
+ - **Commit message**: descriptive message
65
79
  ```
66
80
 
67
- ## Implementation Rules
68
-
69
- When implementing tasks:
70
- - Follow TDD: test first → verify fail → implement → verify pass → commit
71
- - One task at a time, mark complete before moving to next
72
- - Commit after each completed task
73
- - If blocked, mark as blocked with reason and move to next task
74
- - Run `/bms-speckit:analyze` after completing all tasks to verify quality
81
+ - Order: setup → data layer → business logic → UI → integration → polish
82
+ - Commit: `feat: add task list for {feature-name}`
83
+
84
+ ### Step 5: Analyze Tasks
85
+ - Review all tasks for quality:
86
+ - Granular enough? (5-15 min each)
87
+ - Each independently testable?
88
+ - Dependencies correct and explicit?
89
+ - Every task has test-first step?
90
+ - Acceptance criteria clear and measurable?
91
+ - Fix any issues found in tasks.md
92
+ - Commit if changes made
93
+
94
+ ### Step 6: Implement ALL Tasks
95
+ For each pending task, execute the TDD cycle:
96
+
97
+ 1. Update task status to `in_progress` in tasks.md
98
+ 2. **Write the test first** — meaningful tests that verify behavior
99
+ 3. **Run tests — verify they FAIL** (if they pass, tests are wrong)
100
+ 4. **Write minimal implementation** to make tests pass
101
+ 5. **Run ALL tests — verify they PASS** (fix regressions)
102
+ 6. **Commit** with the task's commit message
103
+ 7. Update task status to `completed` and increment completed count
104
+ 8. Move to next pending task
105
+
106
+ If a task is blocked, mark as `blocked` with reason and continue.
107
+
108
+ ### Step 7: Final Verification
109
+ - Run the full test suite
110
+ - Review all specification requirements are met
111
+ - Check for security issues
112
+ - Run the analyze step again on completed code
113
+ - If issues found, create new tasks and implement them
114
+ - Commit any final fixes
115
+
116
+ ### Step 8: Summary Report
117
+ Output a final report:
118
+ - What was built
119
+ - Total tests passing
120
+ - Files created/modified
121
+ - How to run the application
122
+ - Any remaining issues or recommendations
123
+
124
+ ## CRITICAL RULES
125
+ - Do NOT ask for confirmation between steps — run everything automatically
126
+ - Do NOT skip the TDD cycle — test first, always
127
+ - Commit after EVERY completed task
128
+ - Use MCP tools if available (bms-session for database access)
129
+ - If blocked on a task, skip it and continue — come back later
130
+ - Push code if git remote is configured
@@ -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
@@ -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.
@@ -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.
@@ -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