@comfanion/workflow 3.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.
- package/README.md +185 -0
- package/bin/cli.js +406 -0
- package/package.json +50 -0
- package/src/build-info.json +16 -0
- package/src/opencode/ARCHITECTURE.md +255 -0
- package/src/opencode/FLOW.yaml +900 -0
- package/src/opencode/agents/analyst.md +141 -0
- package/src/opencode/agents/architect.md +177 -0
- package/src/opencode/agents/change-manager.md +263 -0
- package/src/opencode/agents/dev.md +171 -0
- package/src/opencode/agents/module-docs.md +628 -0
- package/src/opencode/agents/pm.md +157 -0
- package/src/opencode/agents/researcher.md +254 -0
- package/src/opencode/agents/sm.md +184 -0
- package/src/opencode/agents/workflow-orchestrator.md +249 -0
- package/src/opencode/checklists/architecture-checklist.md +166 -0
- package/src/opencode/checklists/code-review-checklist.md +151 -0
- package/src/opencode/checklists/prd-checklist.md +140 -0
- package/src/opencode/checklists/requirements-checklist.md +86 -0
- package/src/opencode/checklists/story-checklist.md +137 -0
- package/src/opencode/commands/architecture.md +68 -0
- package/src/opencode/commands/archive.md +146 -0
- package/src/opencode/commands/change.md +169 -0
- package/src/opencode/commands/clarify.md +132 -0
- package/src/opencode/commands/code-review.md +96 -0
- package/src/opencode/commands/coding-standards.md +102 -0
- package/src/opencode/commands/dev-story.md +80 -0
- package/src/opencode/commands/diagram.md +152 -0
- package/src/opencode/commands/epics.md +52 -0
- package/src/opencode/commands/help.md +139 -0
- package/src/opencode/commands/jira-sync.md +58 -0
- package/src/opencode/commands/module-docs.md +158 -0
- package/src/opencode/commands/prd.md +63 -0
- package/src/opencode/commands/quick.md +166 -0
- package/src/opencode/commands/requirements.md +49 -0
- package/src/opencode/commands/research.md +113 -0
- package/src/opencode/commands/sprint-plan.md +59 -0
- package/src/opencode/commands/stories.md +61 -0
- package/src/opencode/commands/validate.md +84 -0
- package/src/opencode/commands/workflow-status.md +150 -0
- package/src/opencode/config.yaml +223 -0
- package/src/opencode/opencode.json +36 -0
- package/src/opencode/skills/acceptance-criteria/SKILL.md +212 -0
- package/src/opencode/skills/adr-writing/SKILL.md +241 -0
- package/src/opencode/skills/architecture-design/SKILL.md +183 -0
- package/src/opencode/skills/architecture-validation/SKILL.md +199 -0
- package/src/opencode/skills/archiving/SKILL.md +191 -0
- package/src/opencode/skills/changelog/SKILL.md +280 -0
- package/src/opencode/skills/code-review/SKILL.md +193 -0
- package/src/opencode/skills/coding-standards/SKILL.md +430 -0
- package/src/opencode/skills/diagram-creation/SKILL.md +273 -0
- package/src/opencode/skills/doc-todo/SKILL.md +325 -0
- package/src/opencode/skills/epic-writing/SKILL.md +291 -0
- package/src/opencode/skills/jira-integration/SKILL.md +560 -0
- package/src/opencode/skills/methodologies/SKILL.md +376 -0
- package/src/opencode/skills/module-documentation/SKILL.md +214 -0
- package/src/opencode/skills/prd-validation/SKILL.md +164 -0
- package/src/opencode/skills/prd-writing/SKILL.md +104 -0
- package/src/opencode/skills/requirements-gathering/SKILL.md +132 -0
- package/src/opencode/skills/requirements-validation/SKILL.md +141 -0
- package/src/opencode/skills/research-methodology/SKILL.md +140 -0
- package/src/opencode/skills/sprint-planning/SKILL.md +217 -0
- package/src/opencode/skills/story-writing/SKILL.md +574 -0
- package/src/opencode/skills/test-design/SKILL.md +313 -0
- package/src/opencode/skills/translation/SKILL.md +411 -0
- package/src/opencode/templates/CHANGELOG.md +82 -0
- package/src/opencode/templates/adr-template.md +115 -0
- package/src/opencode/templates/architecture-template.md +362 -0
- package/src/opencode/templates/change-proposal-template.md +186 -0
- package/src/opencode/templates/epic-template.md +151 -0
- package/src/opencode/templates/git-workflow-template.md +384 -0
- package/src/opencode/templates/integration-tests-template.md +265 -0
- package/src/opencode/templates/jira-cache-template.yaml +103 -0
- package/src/opencode/templates/module-index-template.md +139 -0
- package/src/opencode/templates/module-test-cases-template.md +230 -0
- package/src/opencode/templates/prd-acceptance-criteria-template.md +124 -0
- package/src/opencode/templates/prd-template.md +479 -0
- package/src/opencode/templates/requirements-template.md +132 -0
- package/src/opencode/templates/sprint-status-template.yaml +84 -0
- package/src/opencode/templates/story-template.md +437 -0
- package/src/opencode/templates/testing-standards-template.md +359 -0
- package/src/opencode/workflows/dev-story/instructions.md +529 -0
- package/src/repo-structure/.gitattributes +64 -0
- package/src/repo-structure/CONTRIBUTING.md +182 -0
- package/src/repo-structure/README.md +77 -0
- package/src/repo-structure/docs/README.md +62 -0
- package/src/repo-structure/docs/api/README.md +43 -0
- package/src/repo-structure/docs/architecture/README.md +36 -0
- package/src/repo-structure/docs/architecture/adr/README.md +53 -0
- package/src/repo-structure/docs/architecture/diagrams/README.md +59 -0
- package/src/repo-structure/docs/coding-standards/README.md +52 -0
- package/src/repo-structure/docs/confluence/README.md +43 -0
- package/src/repo-structure/docs/requirements/README.md +28 -0
- package/src/repo-structure/docs/sprint-artifacts/README.md +76 -0
- package/src/repo-structure/docs/sprint-artifacts/backlog/README.md +24 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architecture-validation
|
|
3
|
+
description: How to validate architecture for PRD coverage, NFR compliance, and QA artifact presence
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: opencode
|
|
6
|
+
metadata:
|
|
7
|
+
domain: quality-assurance
|
|
8
|
+
artifacts: docs/validation/architecture-validation-*.md
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Architecture Validation Skill
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
Use this skill when you need to:
|
|
16
|
+
- Validate architecture before creating epics
|
|
17
|
+
- Ensure all PRD requirements have architectural home
|
|
18
|
+
- Ensure all NFRs have architectural support
|
|
19
|
+
- Check QA artifact (architecture-integration-tests.md) exists
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
- PRD validation must PASS first
|
|
24
|
+
- File: `docs/prd.md`
|
|
25
|
+
|
|
26
|
+
## Validation Checklist
|
|
27
|
+
|
|
28
|
+
### Structure Checks
|
|
29
|
+
|
|
30
|
+
- [ ] File exists at `docs/architecture.md`
|
|
31
|
+
- [ ] Architecture Overview section exists
|
|
32
|
+
- [ ] Module/Service Architecture section exists
|
|
33
|
+
- [ ] Data Architecture section exists
|
|
34
|
+
- [ ] Integration Architecture section exists
|
|
35
|
+
- [ ] Cross-Cutting Concerns section exists
|
|
36
|
+
- [ ] ADRs section exists
|
|
37
|
+
- [ ] NFR Compliance section exists
|
|
38
|
+
|
|
39
|
+
### PRD Coverage
|
|
40
|
+
|
|
41
|
+
- [ ] All PRD functional areas have architectural home
|
|
42
|
+
- [ ] Each module has clear responsibility
|
|
43
|
+
- [ ] Each module has defined boundaries
|
|
44
|
+
- [ ] Data ownership is explicit
|
|
45
|
+
|
|
46
|
+
### NFR Compliance
|
|
47
|
+
|
|
48
|
+
For each NFR in PRD:
|
|
49
|
+
- [ ] Has concrete architectural support
|
|
50
|
+
- [ ] Support is documented in NFR Compliance section
|
|
51
|
+
- [ ] Implementation approach is clear
|
|
52
|
+
|
|
53
|
+
### Module Quality
|
|
54
|
+
|
|
55
|
+
For each module:
|
|
56
|
+
- [ ] Single responsibility defined
|
|
57
|
+
- [ ] Owns specific entities (data ownership)
|
|
58
|
+
- [ ] Consumes/produces events documented
|
|
59
|
+
- [ ] API contracts defined
|
|
60
|
+
- [ ] No circular dependencies
|
|
61
|
+
|
|
62
|
+
### Pattern Compliance
|
|
63
|
+
|
|
64
|
+
- [ ] Follows hexagonal architecture
|
|
65
|
+
- [ ] Domain layer has no infrastructure imports
|
|
66
|
+
- [ ] Use case pattern (4 files) documented
|
|
67
|
+
- [ ] Aligns with CLAUDE.md standards
|
|
68
|
+
|
|
69
|
+
### ADR Checks
|
|
70
|
+
|
|
71
|
+
- [ ] Major decisions have ADRs
|
|
72
|
+
- [ ] ADRs follow template (Context, Decision, Consequences)
|
|
73
|
+
- [ ] ADRs have status (Accepted/Superseded/Deprecated)
|
|
74
|
+
|
|
75
|
+
### QA Artifact Check (MANDATORY)
|
|
76
|
+
|
|
77
|
+
- [ ] File exists: `docs/architecture-integration-tests.md`
|
|
78
|
+
- [ ] Module contracts defined
|
|
79
|
+
- [ ] Event-driven tests specified
|
|
80
|
+
- [ ] API boundary tests specified
|
|
81
|
+
- [ ] NFR verification tests specified
|
|
82
|
+
|
|
83
|
+
## Dependency Analysis
|
|
84
|
+
|
|
85
|
+
Check for circular dependencies:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
Module A → Module B → Module C → Module A ❌ CYCLE!
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Build dependency graph and verify it's a DAG.
|
|
92
|
+
|
|
93
|
+
## Validation Report Format
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
# Architecture Validation Report
|
|
97
|
+
|
|
98
|
+
**Date:** YYYY-MM-DD
|
|
99
|
+
**Status:** PASS | WARN | FAIL
|
|
100
|
+
**File:** docs/architecture.md
|
|
101
|
+
|
|
102
|
+
## Prerequisites
|
|
103
|
+
|
|
104
|
+
| Prerequisite | Status |
|
|
105
|
+
|--------------|--------|
|
|
106
|
+
| prd.md validated | ✅ PASS |
|
|
107
|
+
|
|
108
|
+
## Summary
|
|
109
|
+
|
|
110
|
+
| Check Type | Total | Passed | Warnings | Failed |
|
|
111
|
+
|------------|-------|--------|----------|--------|
|
|
112
|
+
| Structure | 8 | 8 | 0 | 0 |
|
|
113
|
+
| PRD Coverage | 4 | 4 | 0 | 0 |
|
|
114
|
+
| NFR Compliance | 12 | 12 | 0 | 0 |
|
|
115
|
+
| Module Quality | 5 | 5 | 0 | 0 |
|
|
116
|
+
| Pattern Compliance | 4 | 4 | 0 | 0 |
|
|
117
|
+
| ADRs | 3 | 3 | 0 | 0 |
|
|
118
|
+
| QA Artifact | 4 | 4 | 0 | 0 |
|
|
119
|
+
|
|
120
|
+
## QA Artifact Status
|
|
121
|
+
|
|
122
|
+
| Artifact | Status |
|
|
123
|
+
|----------|--------|
|
|
124
|
+
| `docs/architecture-integration-tests.md` | ✅ Present |
|
|
125
|
+
| Module Contract Tests | Defined |
|
|
126
|
+
| API Boundary Tests | Defined |
|
|
127
|
+
| NFR Verification Tests | Defined |
|
|
128
|
+
|
|
129
|
+
## Module Dependency Graph
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
Catalog ──→ (none)
|
|
133
|
+
Inventory ──→ Catalog
|
|
134
|
+
Orders ──→ Catalog, Inventory
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Circular Dependencies:** None ✅
|
|
138
|
+
|
|
139
|
+
## NFR Compliance Matrix
|
|
140
|
+
|
|
141
|
+
| NFR ID | Requirement | Architectural Support | Status |
|
|
142
|
+
|--------|-------------|----------------------|--------|
|
|
143
|
+
| NFR-001 | < 200ms response | Redis caching | ✅ |
|
|
144
|
+
| NFR-002 | 99.9% uptime | K8s HA, health checks | ✅ |
|
|
145
|
+
| NFR-003 | 1000 RPS | Horizontal scaling | ✅ |
|
|
146
|
+
|
|
147
|
+
## ADR Summary
|
|
148
|
+
|
|
149
|
+
| ADR | Decision | Status |
|
|
150
|
+
|-----|----------|--------|
|
|
151
|
+
| ADR-001 | Use PostgreSQL | Accepted |
|
|
152
|
+
| ADR-002 | Event-driven integration | Accepted |
|
|
153
|
+
| ADR-003 | Modular monolith | Accepted |
|
|
154
|
+
|
|
155
|
+
## Passed Checks
|
|
156
|
+
|
|
157
|
+
- [x] All PRD functional areas covered
|
|
158
|
+
- [x] All NFRs have architectural support
|
|
159
|
+
- [x] No circular dependencies
|
|
160
|
+
- [x] QA artifact present
|
|
161
|
+
|
|
162
|
+
## Warnings
|
|
163
|
+
|
|
164
|
+
(None)
|
|
165
|
+
|
|
166
|
+
## Failures
|
|
167
|
+
|
|
168
|
+
(None if PASS)
|
|
169
|
+
|
|
170
|
+
## Next Steps
|
|
171
|
+
|
|
172
|
+
After validation:
|
|
173
|
+
- If PASS, proceed to `/epics`
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## If QA Artifact Missing
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
## FAILURE: QA Artifact Missing
|
|
180
|
+
|
|
181
|
+
**Required:** `docs/architecture-integration-tests.md`
|
|
182
|
+
**Status:** ❌ NOT FOUND
|
|
183
|
+
|
|
184
|
+
### Action Required
|
|
185
|
+
|
|
186
|
+
Create the QA artifact using template:
|
|
187
|
+
`@.opencode/templates/integration-tests-template.md`
|
|
188
|
+
|
|
189
|
+
This artifact is MANDATORY before proceeding to epics.
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Output
|
|
193
|
+
|
|
194
|
+
Save to: `docs/validation/architecture-validation-YYYY-MM-DD.md`
|
|
195
|
+
|
|
196
|
+
## Related Skills
|
|
197
|
+
|
|
198
|
+
- `architecture-design` - For fixing architecture issues
|
|
199
|
+
- `adr-writing` - For documenting decisions
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Manages document lifecycle - archives outdated docs while preserving history
|
|
3
|
+
mode: subagent
|
|
4
|
+
model: anthropic/claude-sonnet-4-20250514
|
|
5
|
+
temperature: 0.1
|
|
6
|
+
tools:
|
|
7
|
+
write: true
|
|
8
|
+
edit: true
|
|
9
|
+
bash: true
|
|
10
|
+
permission:
|
|
11
|
+
bash:
|
|
12
|
+
"*": deny
|
|
13
|
+
"ls *": allow
|
|
14
|
+
"cat *": allow
|
|
15
|
+
"tree *": allow
|
|
16
|
+
"mkdir *": allow
|
|
17
|
+
"mv *": allow
|
|
18
|
+
"cp *": allow
|
|
19
|
+
"date *": allow
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Document Archivist
|
|
23
|
+
|
|
24
|
+
You are a Documentation Lifecycle Manager responsible for maintaining document hygiene. You archive outdated documents, preserve history, and ensure the docs directory stays current and relevant.
|
|
25
|
+
|
|
26
|
+
## Core Principle
|
|
27
|
+
|
|
28
|
+
**Documents are never deleted, only archived.** Every document has history value.
|
|
29
|
+
|
|
30
|
+
## Archive Structure
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
docs/archive/
|
|
34
|
+
├── README.md # Archive index and policies
|
|
35
|
+
├── research/ # Archived research
|
|
36
|
+
│ └── [topic]-YYYY-MM-DD.md
|
|
37
|
+
├── prd/ # Archived PRD versions
|
|
38
|
+
│ └── prd-vX.Y-YYYY-MM-DD.md
|
|
39
|
+
├── architecture/ # Archived architecture versions
|
|
40
|
+
│ └── architecture-vX.Y-YYYY-MM-DD.md
|
|
41
|
+
├── modules/ # Archived module docs
|
|
42
|
+
│ └── [module]/
|
|
43
|
+
├── coding-standards/ # Archived standards
|
|
44
|
+
│ └── [file]-YYYY-MM-DD.md
|
|
45
|
+
└── sprint-artifacts/ # Archived sprints (completed)
|
|
46
|
+
└── sprint-N/
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Archiving Rules
|
|
50
|
+
|
|
51
|
+
### When to Archive
|
|
52
|
+
|
|
53
|
+
| Document Type | Archive When |
|
|
54
|
+
|--------------|--------------|
|
|
55
|
+
| Research | Superseded by new research, > 1 year old |
|
|
56
|
+
| PRD | Major version change, scope pivot |
|
|
57
|
+
| Architecture | Major redesign, tech stack change |
|
|
58
|
+
| Module docs | Module deprecated or merged |
|
|
59
|
+
| Coding standards | Standards significantly changed |
|
|
60
|
+
| Sprint artifacts | Sprint completed + retrospective done |
|
|
61
|
+
|
|
62
|
+
### Archive Process
|
|
63
|
+
|
|
64
|
+
1. **Add archive metadata** to the document:
|
|
65
|
+
```markdown
|
|
66
|
+
---
|
|
67
|
+
archived: true
|
|
68
|
+
archived_date: YYYY-MM-DD
|
|
69
|
+
archived_reason: [reason]
|
|
70
|
+
superseded_by: [path to new doc] # if applicable
|
|
71
|
+
---
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
2. **Rename with date suffix**:
|
|
75
|
+
- `document.md` → `document-YYYY-MM-DD.md`
|
|
76
|
+
|
|
77
|
+
3. **Move to archive**:
|
|
78
|
+
- From: `docs/[path]/document.md`
|
|
79
|
+
- To: `docs/archive/[path]/document-YYYY-MM-DD.md`
|
|
80
|
+
|
|
81
|
+
4. **Update references**:
|
|
82
|
+
- Update any docs that linked to archived doc
|
|
83
|
+
- Add "Archived" note with link to new version
|
|
84
|
+
|
|
85
|
+
5. **Update archive index**:
|
|
86
|
+
- Add entry to `docs/archive/README.md`
|
|
87
|
+
|
|
88
|
+
## Archive Metadata Template
|
|
89
|
+
|
|
90
|
+
Add to top of document before archiving:
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
---
|
|
94
|
+
archived: true
|
|
95
|
+
archived_date: 2026-01-23
|
|
96
|
+
archived_reason: "Superseded by v2.0 after architecture redesign"
|
|
97
|
+
superseded_by: "../architecture.md"
|
|
98
|
+
original_path: "docs/architecture.md"
|
|
99
|
+
original_version: "1.5"
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
# [Original Title] (ARCHIVED)
|
|
103
|
+
|
|
104
|
+
> **ARCHIVED:** This document was archived on 2026-01-23.
|
|
105
|
+
> **Reason:** Superseded by v2.0 after architecture redesign
|
|
106
|
+
> **Current Version:** [architecture.md](../architecture.md)
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
[Original content below]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Archive Index (README.md)
|
|
114
|
+
|
|
115
|
+
```markdown
|
|
116
|
+
# Documentation Archive
|
|
117
|
+
|
|
118
|
+
This directory contains archived documents that are no longer current
|
|
119
|
+
but preserved for historical reference.
|
|
120
|
+
|
|
121
|
+
## Archive Policy
|
|
122
|
+
|
|
123
|
+
- Documents are archived, never deleted
|
|
124
|
+
- Each archived doc includes reason and date
|
|
125
|
+
- Superseding documents are linked
|
|
126
|
+
- Archive is searchable by date and type
|
|
127
|
+
|
|
128
|
+
## Recently Archived
|
|
129
|
+
|
|
130
|
+
| Document | Type | Archived | Reason |
|
|
131
|
+
|----------|------|----------|--------|
|
|
132
|
+
| [doc](./path) | PRD | 2026-01-23 | v2.0 released |
|
|
133
|
+
|
|
134
|
+
## Archive by Type
|
|
135
|
+
|
|
136
|
+
### PRD Versions
|
|
137
|
+
| Version | Date | Reason | Link |
|
|
138
|
+
|---------|------|--------|------|
|
|
139
|
+
|
|
140
|
+
### Architecture Versions
|
|
141
|
+
| Version | Date | Reason | Link |
|
|
142
|
+
|---------|------|--------|------|
|
|
143
|
+
|
|
144
|
+
### Research
|
|
145
|
+
| Topic | Date | Reason | Link |
|
|
146
|
+
|-------|------|--------|------|
|
|
147
|
+
|
|
148
|
+
### Module Documentation
|
|
149
|
+
| Module | Date | Reason | Link |
|
|
150
|
+
|--------|------|--------|------|
|
|
151
|
+
|
|
152
|
+
### Coding Standards
|
|
153
|
+
| File | Date | Reason | Link |
|
|
154
|
+
|------|------|--------|------|
|
|
155
|
+
|
|
156
|
+
## Retrieval
|
|
157
|
+
|
|
158
|
+
To find archived documents:
|
|
159
|
+
1. Check this index
|
|
160
|
+
2. Search by date in folder names
|
|
161
|
+
3. Use git history for pre-archive versions
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Commands
|
|
165
|
+
|
|
166
|
+
### Archive Single Document
|
|
167
|
+
```bash
|
|
168
|
+
# Move and rename
|
|
169
|
+
mv docs/research/topic.md docs/archive/research/topic-$(date +%Y-%m-%d).md
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Archive Sprint (after completion)
|
|
173
|
+
```bash
|
|
174
|
+
# Move entire sprint folder
|
|
175
|
+
mv docs/sprint-artifacts/sprint-N docs/archive/sprint-artifacts/sprint-N
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Validation Before Archiving
|
|
179
|
+
|
|
180
|
+
- [ ] Document has archive metadata added
|
|
181
|
+
- [ ] Superseding document exists (if applicable)
|
|
182
|
+
- [ ] References to archived doc updated
|
|
183
|
+
- [ ] Archive index updated
|
|
184
|
+
- [ ] No broken links in main docs
|
|
185
|
+
|
|
186
|
+
## What NOT to Archive
|
|
187
|
+
|
|
188
|
+
- Current sprint artifacts (until sprint complete)
|
|
189
|
+
- Active research (until superseded)
|
|
190
|
+
- Current PRD/Architecture (until new version approved)
|
|
191
|
+
- Templates (these don't get archived)
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# Changelog Skill
|
|
2
|
+
|
|
3
|
+
> **Purpose**: Maintain changelogs for repository and documents
|
|
4
|
+
> **Used by**: All agents, Dev agent (mandatory)
|
|
5
|
+
|
|
6
|
+
## Two Types of Changelog
|
|
7
|
+
|
|
8
|
+
| Type | Location | Purpose |
|
|
9
|
+
|------|----------|---------|
|
|
10
|
+
| **Repository** | `CHANGELOG.md` | Track code/feature changes |
|
|
11
|
+
| **Document** | Each doc file | Track document revisions |
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Repository CHANGELOG
|
|
16
|
+
|
|
17
|
+
### Format: Keep a Changelog
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
# Changelog
|
|
21
|
+
|
|
22
|
+
## [Unreleased]
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- Add product catalog API with CRUD operations
|
|
26
|
+
- Add Kafka event publishing for order changes
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Change price field from float to decimal
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
- Fix race condition in inventory reservation (#234)
|
|
33
|
+
|
|
34
|
+
## [1.2.0] - 2024-01-15
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
- Add bulk import for products (EPIC:E08)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Categories (in order)
|
|
41
|
+
|
|
42
|
+
| Category | What to include |
|
|
43
|
+
|----------|-----------------|
|
|
44
|
+
| **Added** | New features, endpoints, modules |
|
|
45
|
+
| **Changed** | Changes to existing functionality |
|
|
46
|
+
| **Deprecated** | Features to be removed in future |
|
|
47
|
+
| **Removed** | Removed features |
|
|
48
|
+
| **Fixed** | Bug fixes |
|
|
49
|
+
| **Security** | Security vulnerability fixes |
|
|
50
|
+
|
|
51
|
+
### Entry Format
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
- {Verb} {what} {context} ({reference})
|
|
55
|
+
|
|
56
|
+
Examples:
|
|
57
|
+
- Add user registration API endpoint
|
|
58
|
+
- Add pagination to product list (STORY:S05-04)
|
|
59
|
+
- Change order status from string to enum (BREAKING)
|
|
60
|
+
- Fix null pointer in payment processing (#123)
|
|
61
|
+
- Security: Fix SQL injection in search query (CVE-2024-XXX)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### When to Update
|
|
65
|
+
|
|
66
|
+
| Event | Action |
|
|
67
|
+
|-------|--------|
|
|
68
|
+
| Story completed | Add entry to `[Unreleased]` |
|
|
69
|
+
| Sprint completed | Keep in `[Unreleased]` |
|
|
70
|
+
| Release | Move `[Unreleased]` → `[X.Y.Z] - date` |
|
|
71
|
+
| Hotfix | Add to `[Unreleased]` + release |
|
|
72
|
+
|
|
73
|
+
### Versioning (SemVer)
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
MAJOR.MINOR.PATCH
|
|
77
|
+
|
|
78
|
+
1.0.0 → 1.0.1 (patch: bug fix)
|
|
79
|
+
1.0.1 → 1.1.0 (minor: new feature)
|
|
80
|
+
1.1.0 → 2.0.0 (major: breaking change)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
| Change Type | Version Bump |
|
|
84
|
+
|-------------|--------------|
|
|
85
|
+
| Bug fix | PATCH |
|
|
86
|
+
| New feature (backward compatible) | MINOR |
|
|
87
|
+
| Breaking change | MAJOR |
|
|
88
|
+
| Security fix | PATCH (or MINOR if API change) |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Document Changelog
|
|
93
|
+
|
|
94
|
+
### Format
|
|
95
|
+
|
|
96
|
+
Add to end of every document:
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Changelog
|
|
102
|
+
|
|
103
|
+
| Version | Date | Author | Changes |
|
|
104
|
+
|---------|------|--------|---------|
|
|
105
|
+
| 1.2 | 2024-01-20 | @architect | Add NFR section, update diagrams |
|
|
106
|
+
| 1.1 | 2024-01-15 | @pm | Add FR-015 to FR-020, clarify scope |
|
|
107
|
+
| 1.0 | 2024-01-10 | @pm | Initial approved version |
|
|
108
|
+
| 0.2 | 2024-01-08 | @analyst | Add user personas, journeys |
|
|
109
|
+
| 0.1 | 2024-01-05 | @pm | Initial draft |
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Entry Format
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
| {version} | {date} | @{author} | {changes summary} |
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Version Numbering for Documents
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
0.x - Draft (not approved)
|
|
122
|
+
1.0 - First approved version
|
|
123
|
+
1.x - Minor updates (additions, clarifications)
|
|
124
|
+
2.0 - Major revision (scope change, restructure)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### When to Update
|
|
128
|
+
|
|
129
|
+
**At END of work session** - not on every small change!
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
Session Start
|
|
133
|
+
├── Make change 1
|
|
134
|
+
├── Make change 2
|
|
135
|
+
├── Make change 3
|
|
136
|
+
└── ...
|
|
137
|
+
Session End
|
|
138
|
+
└── Add ONE changelog entry summarizing all changes
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### What to Log
|
|
142
|
+
|
|
143
|
+
Summarize session work in one entry:
|
|
144
|
+
|
|
145
|
+
| Session Work | Changelog Entry |
|
|
146
|
+
|--------------|-----------------|
|
|
147
|
+
| Added 3 sections, fixed 2 typos | "Add security, NFR, risks sections; Fix typos in FR-001, FR-003" |
|
|
148
|
+
| Major restructure | "Restructure: Split FR into domains; Add traceability matrix" |
|
|
149
|
+
| Small fixes | "Minor: Clarify scope; Update metrics" |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Integration with Workflow
|
|
154
|
+
|
|
155
|
+
### Story Completion → CHANGELOG
|
|
156
|
+
|
|
157
|
+
```markdown
|
|
158
|
+
## Story completed: CATALOG-S05-03
|
|
159
|
+
|
|
160
|
+
### Added to CHANGELOG.md:
|
|
161
|
+
- Add product search API with filters (CATALOG-S05-03)
|
|
162
|
+
- Add Elasticsearch integration for full-text search
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Document Update → Document Changelog
|
|
166
|
+
|
|
167
|
+
```markdown
|
|
168
|
+
## PRD Updated
|
|
169
|
+
|
|
170
|
+
| 1.3 | 2024-01-20 | @pm | Add FR-021 payment retry logic |
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Dev Workflow Integration
|
|
174
|
+
|
|
175
|
+
```xml
|
|
176
|
+
<step n="7" goal="Update changelog after story completion">
|
|
177
|
+
<action>Read current CHANGELOG.md</action>
|
|
178
|
+
<action>Add entries to [Unreleased] section</action>
|
|
179
|
+
<action>Use format: "- {Verb} {what} ({story-id})"</action>
|
|
180
|
+
<action>Save CHANGELOG.md</action>
|
|
181
|
+
</step>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Templates
|
|
187
|
+
|
|
188
|
+
### Repository CHANGELOG.md
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
# Changelog
|
|
192
|
+
|
|
193
|
+
All notable changes to this project will be documented in this file.
|
|
194
|
+
|
|
195
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
196
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
197
|
+
|
|
198
|
+
## [Unreleased]
|
|
199
|
+
|
|
200
|
+
### Added
|
|
201
|
+
-
|
|
202
|
+
|
|
203
|
+
### Changed
|
|
204
|
+
-
|
|
205
|
+
|
|
206
|
+
### Fixed
|
|
207
|
+
-
|
|
208
|
+
|
|
209
|
+
## [0.1.0] - {{date}}
|
|
210
|
+
|
|
211
|
+
### Added
|
|
212
|
+
- Initial project setup
|
|
213
|
+
- Basic documentation structure
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Document Changelog Section
|
|
217
|
+
|
|
218
|
+
```markdown
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Changelog
|
|
222
|
+
|
|
223
|
+
<!-- UPDATE AT END OF SESSION -->
|
|
224
|
+
|
|
225
|
+
| Version | Date | Author | Changes |
|
|
226
|
+
|---------|------|--------|---------|
|
|
227
|
+
| 0.1 | {{date}} | @{{user}} | Initial draft |
|
|
228
|
+
|
|
229
|
+
<!--
|
|
230
|
+
Update at END of work session (not on every change)
|
|
231
|
+
Summarize all changes in one entry
|
|
232
|
+
-->
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Automation
|
|
238
|
+
|
|
239
|
+
### Git Commit → Changelog Entry
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
# Commit message format
|
|
243
|
+
feat: Add product search API
|
|
244
|
+
|
|
245
|
+
# Auto-generates:
|
|
246
|
+
### Added
|
|
247
|
+
- Add product search API
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Conventional Commits Mapping
|
|
251
|
+
|
|
252
|
+
| Prefix | Category |
|
|
253
|
+
|--------|----------|
|
|
254
|
+
| `feat:` | Added |
|
|
255
|
+
| `fix:` | Fixed |
|
|
256
|
+
| `docs:` | Changed (docs) |
|
|
257
|
+
| `refactor:` | Changed |
|
|
258
|
+
| `perf:` | Changed (performance) |
|
|
259
|
+
| `security:` | Security |
|
|
260
|
+
| `BREAKING:` | Changed (breaking) |
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Validation Checklist
|
|
265
|
+
|
|
266
|
+
### Repository CHANGELOG
|
|
267
|
+
|
|
268
|
+
- [ ] `[Unreleased]` section exists
|
|
269
|
+
- [ ] Entries start with verb
|
|
270
|
+
- [ ] Entries reference story/issue ID
|
|
271
|
+
- [ ] Categories in correct order
|
|
272
|
+
- [ ] Dates in ISO format (YYYY-MM-DD)
|
|
273
|
+
|
|
274
|
+
### Document Changelog
|
|
275
|
+
|
|
276
|
+
- [ ] Changelog section at end of document
|
|
277
|
+
- [ ] Version number updated
|
|
278
|
+
- [ ] Date is current
|
|
279
|
+
- [ ] Author identified
|
|
280
|
+
- [ ] Changes are specific
|