agileflow 2.61.0 → 2.63.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.
Files changed (68) hide show
  1. package/README.md +9 -9
  2. package/package.json +1 -1
  3. package/scripts/lib/counter.js +103 -0
  4. package/src/core/commands/auto.md +1 -0
  5. package/src/core/commands/babysit.md +170 -29
  6. package/src/core/commands/board.md +1 -0
  7. package/src/core/commands/ci.md +1 -0
  8. package/src/core/commands/compress.md +1 -0
  9. package/src/core/commands/deploy.md +1 -0
  10. package/src/core/commands/help.md +1 -0
  11. package/src/core/commands/research.md +1 -0
  12. package/src/core/commands/skill/create.md +566 -0
  13. package/src/core/commands/skill/delete.md +189 -0
  14. package/src/core/commands/skill/edit.md +245 -0
  15. package/src/core/commands/skill/list.md +155 -0
  16. package/src/core/commands/skill/test.md +249 -0
  17. package/src/core/commands/template.md +1 -0
  18. package/src/core/commands/tests.md +1 -0
  19. package/src/core/commands/update.md +1 -0
  20. package/src/core/commands/velocity.md +1 -0
  21. package/src/core/experts/refactor/expertise.yaml +17 -12
  22. package/src/core/templates/claude-settings.advanced.example.json +1 -1
  23. package/src/core/templates/claude-settings.example.json +1 -1
  24. package/tools/cli/commands/list.js +8 -13
  25. package/tools/cli/commands/uninstall.js +70 -0
  26. package/tools/cli/commands/update.js +21 -4
  27. package/tools/cli/installers/core/installer.js +20 -19
  28. package/tools/cli/installers/ide/_base-ide.js +18 -4
  29. package/tools/cli/installers/ide/claude-code.js +4 -15
  30. package/tools/cli/installers/ide/codex.js +9 -13
  31. package/tools/cli/lib/content-injector.js +162 -31
  32. package/tools/cli/lib/utils.js +87 -0
  33. package/src/core/skills/acceptance-criteria-generator/SKILL.md +0 -46
  34. package/src/core/skills/adr-template/SKILL.md +0 -62
  35. package/src/core/skills/agileflow-acceptance-criteria/SKILL.md +0 -156
  36. package/src/core/skills/agileflow-adr/SKILL.md +0 -147
  37. package/src/core/skills/agileflow-adr/examples/database-choice-example.md +0 -122
  38. package/src/core/skills/agileflow-adr/templates/adr-template.md +0 -69
  39. package/src/core/skills/agileflow-commit-messages/SKILL.md +0 -130
  40. package/src/core/skills/agileflow-commit-messages/reference/bad-examples.md +0 -168
  41. package/src/core/skills/agileflow-commit-messages/reference/good-examples.md +0 -120
  42. package/src/core/skills/agileflow-commit-messages/scripts/check-attribution.sh +0 -15
  43. package/src/core/skills/agileflow-epic-planner/SKILL.md +0 -184
  44. package/src/core/skills/agileflow-retro-facilitator/SKILL.md +0 -119
  45. package/src/core/skills/agileflow-retro-facilitator/cookbook/4ls.md +0 -86
  46. package/src/core/skills/agileflow-retro-facilitator/cookbook/glad-sad-mad.md +0 -79
  47. package/src/core/skills/agileflow-retro-facilitator/cookbook/start-stop-continue.md +0 -142
  48. package/src/core/skills/agileflow-retro-facilitator/prompts/action-items.md +0 -83
  49. package/src/core/skills/agileflow-sprint-planner/SKILL.md +0 -212
  50. package/src/core/skills/agileflow-story-writer/SKILL.md +0 -163
  51. package/src/core/skills/agileflow-story-writer/examples/good-story-example.md +0 -63
  52. package/src/core/skills/agileflow-story-writer/templates/story-template.md +0 -44
  53. package/src/core/skills/agileflow-tech-debt/SKILL.md +0 -215
  54. package/src/core/skills/api-documentation-generator/SKILL.md +0 -65
  55. package/src/core/skills/changelog-entry/SKILL.md +0 -55
  56. package/src/core/skills/commit-message-formatter/SKILL.md +0 -50
  57. package/src/core/skills/deployment-guide-generator/SKILL.md +0 -84
  58. package/src/core/skills/diagram-generator/SKILL.md +0 -65
  59. package/src/core/skills/error-handler-template/SKILL.md +0 -78
  60. package/src/core/skills/migration-checklist/SKILL.md +0 -82
  61. package/src/core/skills/pr-description/SKILL.md +0 -65
  62. package/src/core/skills/sql-schema-generator/SKILL.md +0 -69
  63. package/src/core/skills/story-skeleton/SKILL.md +0 -34
  64. package/src/core/skills/test-case-generator/SKILL.md +0 -63
  65. package/src/core/skills/type-definitions/SKILL.md +0 -65
  66. package/src/core/skills/validation-schema-generator/SKILL.md +0 -64
  67. package/src/core/skills/writing-skills/SKILL.md +0 -352
  68. package/src/core/skills/writing-skills/testing-skills-with-subagents.md +0 -232
@@ -1,156 +0,0 @@
1
- ---
2
- name: agileflow-acceptance-criteria
3
- description: Generates detailed Given/When/Then acceptance criteria when user describes feature behavior or requirements. Enhances user stories with testable scenarios.
4
- ---
5
-
6
- # AgileFlow Acceptance Criteria
7
-
8
- Automatically generates detailed, testable acceptance criteria in Given/When/Then (Gherkin) format from feature discussions and requirements.
9
-
10
- ## When to Use
11
-
12
- This skill activates when:
13
- - User describes how a feature should behave
14
- - Discussing user workflows or interactions
15
- - Keywords: "acceptance criteria", "test scenarios", "should work like"
16
- - Creating or reviewing user stories
17
- - User describes "when user does X, then Y should happen"
18
-
19
- ## What This Does
20
-
21
- 1. Extracts feature behavior from user discussions
22
- 2. Identifies different scenarios (happy path, errors, edge cases)
23
- 3. Generates criteria in Given/When/Then format
24
- 4. Ensures criteria are specific, testable, and independent
25
- 5. Enhances story's AC section
26
-
27
- ## Instructions
28
-
29
- 1. **Listen for behavior descriptions**: User explains "when X happens, Y should occur"
30
-
31
- 2. **Extract scenarios**:
32
- - Happy path (normal use)
33
- - Error cases (what goes wrong)
34
- - Edge cases (boundary conditions)
35
- - Permission-based scenarios
36
-
37
- 3. **Generate criteria**:
38
- - One AC per distinct scenario
39
- - Clear, unambiguous language
40
- - Make it testable (observable outcome)
41
- - Include edge cases
42
-
43
- 4. **Add to story**: If working on a story, enhance its AC section
44
-
45
- ## Given/When/Then Format
46
-
47
- ```markdown
48
- ### AC#: [Criterion Name]
49
- **Given** [initial context or precondition]
50
- **When** [user action or trigger event]
51
- **Then** [expected outcome or system behavior]
52
- ```
53
-
54
- **Given** (Precondition):
55
- - User's current state, system state, data that exists, permissions/roles
56
- - Example: "Given I am logged in as an admin"
57
-
58
- **When** (Action):
59
- - What the user does, event that occurs, API call made
60
- - Example: "When I click the 'Add to Cart' button"
61
-
62
- **Then** (Outcome):
63
- - What the user sees, system state changes, data modifications, error messages
64
- - Example: "Then the item is added to my cart"
65
-
66
- ## Common Patterns
67
-
68
- **Happy Path**:
69
- ```markdown
70
- ### AC1: Successful Login
71
- **Given** I am on the login page
72
- **When** I enter valid credentials and click "Login"
73
- **Then** I am redirected to my dashboard
74
- **And** I see a welcome message with my name
75
- ```
76
-
77
- **Error Handling**:
78
- ```markdown
79
- ### AC2: Invalid Password
80
- **Given** I am on the login page
81
- **When** I enter a valid email but incorrect password
82
- **Then** I see an error message "Invalid credentials"
83
- **And** I remain on the login page
84
- ```
85
-
86
- **Edge Cases**:
87
- ```markdown
88
- ### AC3: Account Locked After Failed Attempts
89
- **Given** I have failed to login 4 times
90
- **When** I attempt to login with incorrect password again
91
- **Then** my account is locked for 30 minutes
92
- **And** an email is sent to my registered address
93
- ```
94
-
95
- **Permission-Based**:
96
- ```markdown
97
- ### AC4: Admin-Only Feature Access
98
- **Given** I am logged in as a regular user
99
- **When** I try to access the admin dashboard
100
- **Then** I see a 403 Forbidden error
101
- ```
102
-
103
- **Form Validation**:
104
- ```markdown
105
- ### AC1: Email Format Validation
106
- **Given** I am filling out the registration form
107
- **When** I enter an invalid email format (missing @)
108
- **Then** I see an error "Please enter a valid email address"
109
- **And** the submit button remains disabled
110
- ```
111
-
112
- ## Multiple Conditions
113
-
114
- Use **And** for additional conditions:
115
- ```markdown
116
- **Given** I am logged in
117
- **And** I have items in my cart
118
- **When** I click "Checkout"
119
- **Then** I am redirected to payment page
120
- **And** I see my cart summary
121
- ```
122
-
123
- Use **But** for contrasting outcomes:
124
- ```markdown
125
- **Given** I am on the search page
126
- **When** I search for "nonexistent product"
127
- **Then** I see "No results found" message
128
- **But** I see suggested categories
129
- ```
130
-
131
- ## Quality Checklist
132
-
133
- Good acceptance criteria are:
134
- - [ ] **Specific**: Clearly describes one scenario
135
- - [ ] **Testable**: Can be verified with a test
136
- - [ ] **Independent**: Doesn't depend on order of execution
137
- - [ ] **Unambiguous**: Only one interpretation possible
138
- - [ ] **Complete**: Covers happy path, errors, and edge cases
139
- - [ ] **User-focused**: Written from user's perspective
140
- - [ ] **3-7 criteria per story**: Enough coverage, not excessive
141
-
142
- ## Integration
143
-
144
- - **agileflow-story-writer**: Automatically enhances story AC sections
145
- - **agileflow-sprint-planner**: Helps estimate story complexity from AC count
146
- - **agileflow-tech-debt**: Identifies missing test coverage from AC
147
-
148
- ## Notes
149
-
150
- - Aim for 3-7 acceptance criteria per story
151
- - Too few = incomplete requirements
152
- - Too many = story should be split
153
- - Cover at least one error case per story
154
- - Include accessibility criteria when relevant
155
- - Consider mobile vs desktop differences
156
- - Think about internationalization if applicable
@@ -1,147 +0,0 @@
1
- ---
2
- name: agileflow-adr
3
- description: Detects architectural or technical decisions in conversations and formats them as Architecture Decision Records in docs/03-decisions/. Loads when discussing technology choices, architecture patterns, or trade-offs.
4
- ---
5
-
6
- # AgileFlow ADR (Architecture Decision Records)
7
-
8
- Automatically captures architectural and technical decisions and formats them as formal Architecture Decision Records (ADRs) in `docs/03-decisions/`.
9
-
10
- ## When to Use
11
-
12
- This skill activates when:
13
- - Discussing technology choices ("Should we use PostgreSQL or MongoDB?")
14
- - Debating architecture patterns ("REST vs GraphQL")
15
- - Making framework decisions ("React vs Vue")
16
- - Discussing infrastructure choices ("AWS vs GCP")
17
- - Evaluating trade-offs between options
18
- - Keywords: "decision", "choose", "architecture", "trade-off"
19
-
20
- ## What This Does
21
-
22
- 1. Detects architectural decision discussions from conversations
23
- 2. Asks clarifying questions if needed (context, options, constraints)
24
- 3. Extracts decision elements (problem, options, drivers, trade-offs)
25
- 4. Generates properly formatted ADR file
26
- 5. Shows for approval before writing
27
-
28
- ## Instructions
29
-
30
- 1. **Detect decision discussion**: User is debating options or asking "which should we use?"
31
-
32
- 2. **Extract decision elements**:
33
- - Context/problem statement
34
- - Options being considered
35
- - Trade-offs for each option
36
- - Decision drivers (requirements, constraints)
37
-
38
- 3. **Read existing ADRs**:
39
- - Check `docs/03-decisions/` for numbering
40
- - Look for related decisions
41
-
42
- 4. **Generate ADR**:
43
- - File: `docs/03-decisions/ADR-###-descriptive-title.md`
44
- - Use MADR (Markdown Architecture Decision Records) format
45
- - Mark status as "Proposed" unless decision is final
46
-
47
- 5. **Confirm with user**: Show the ADR and ask for corrections
48
-
49
- ## ADR Format (MADR)
50
-
51
- ```markdown
52
- # [ADR-###] Title
53
-
54
- **Date**: YYYY-MM-DD
55
- **Status**: Proposed | Accepted | Deprecated | Superseded
56
- **Deciders**: Names of people involved
57
- **Tags**: architecture, database, api, etc.
58
-
59
- ## Context and Problem Statement
60
-
61
- [Describe the context and problem. What are we trying to solve? Why necessary?]
62
-
63
- ## Decision Drivers
64
-
65
- - [Driver 1: e.g., Performance requirements]
66
- - [Driver 2: e.g., Team expertise]
67
- - [Driver 3: e.g., Cost constraints]
68
-
69
- ## Considered Options
70
-
71
- - [Option 1]
72
- - [Option 2]
73
- - [Option 3]
74
-
75
- ## Decision Outcome
76
-
77
- **Chosen option**: [Option X]
78
-
79
- **Justification**: [Why chosen? What makes it best fit?]
80
-
81
- ### Positive Consequences
82
-
83
- - [Good outcome 1]
84
- - [Good outcome 2]
85
-
86
- ### Negative Consequences
87
-
88
- - [Bad outcome 1]
89
- - [Bad outcome 2 - with mitigation if possible]
90
-
91
- ## Pros and Cons of the Options
92
-
93
- ### [Option 1]
94
-
95
- **Pros**:
96
- - [Pro 1]
97
- - [Pro 2]
98
-
99
- **Cons**:
100
- - [Con 1]
101
- - [Con 2]
102
-
103
- ## Links
104
-
105
- - [Related ADRs]
106
- - [Relevant documentation]
107
- - [External resources]
108
-
109
- ## Notes
110
-
111
- - [Additional information]
112
- - [Implementation notes]
113
- ```
114
-
115
- ## ADR Statuses
116
-
117
- - **Proposed**: Under consideration, not yet decided
118
- - **Accepted**: Decision made and approved
119
- - **Deprecated**: No longer relevant (but kept for history)
120
- - **Superseded**: Replaced by a newer decision (link to new ADR)
121
-
122
- ## Quality Checklist
123
-
124
- Before creating ADR:
125
- - [ ] Problem statement is clear and specific
126
- - [ ] At least 2 options were considered
127
- - [ ] Each option has pros and cons listed
128
- - [ ] Decision drivers are explicitly stated
129
- - [ ] Chosen option has clear justification
130
- - [ ] Consequences (both positive and negative) documented
131
- - [ ] File name follows pattern: ADR-###-descriptive-title.md
132
- - [ ] Status is appropriate (Proposed/Accepted)
133
-
134
- ## Integration
135
-
136
- - **agileflow-story-writer**: ADRs inform technical notes in stories
137
- - **agileflow-tech-debt**: Negative consequences become tech debt items
138
- - **agileflow-changelog**: Major decisions appear in changelog
139
-
140
- ## Notes
141
-
142
- - Capture decisions even if they seem small - they provide context later
143
- - Be honest about negative consequences - helps with future decisions
144
- - Include who made the decision (deciders) - accountability matters
145
- - Date decisions - context changes over time
146
- - Keep ADRs focused - one decision per ADR
147
- - ADRs are immutable once accepted - create new ADR if superseding
@@ -1,122 +0,0 @@
1
- # [ADR-012] Use PostgreSQL for Primary Database
2
-
3
- **Date**: 2025-01-15
4
- **Status**: Accepted
5
- **Deciders**: Tech Lead, Backend Team, DevOps
6
- **Tags**: database, architecture, backend
7
-
8
- ## Context and Problem Statement
9
-
10
- Our application needs a primary database to store user data, transactions, and analytics. We need to choose a database that supports complex queries, transactions, and can scale with our growing user base (currently 10K users, expecting 100K+ within 6 months).
11
-
12
- ## Decision Drivers
13
-
14
- - **Strong ACID compliance** - Financial transactions require data integrity
15
- - **Complex query support** - Analytics require joins and aggregations
16
- - **Team expertise** - Team has SQL experience but limited NoSQL experience
17
- - **Cost** - Must fit within infrastructure budget (~$200/month)
18
- - **Scalability** - Need to handle 10x growth over 6 months
19
- - **Operational overhead** - Limited DevOps resources for maintenance
20
-
21
- ## Considered Options
22
-
23
- - PostgreSQL
24
- - MongoDB
25
- - MySQL
26
-
27
- ## Decision Outcome
28
-
29
- **Chosen option**: PostgreSQL
30
-
31
- **Justification**: PostgreSQL offers the best balance of ACID compliance, query flexibility, and team expertise. While MongoDB could handle our document-like user profiles well, the financial transaction requirements demand strong consistency guarantees. PostgreSQL's JSON support gives us flexibility for semi-structured data without sacrificing transactional integrity.
32
-
33
- ### Positive Consequences
34
-
35
- - Strong ACID guarantees protect financial data
36
- - Team can leverage existing SQL knowledge immediately
37
- - Rich ecosystem of tools (pg Admin, extensions, ORMs)
38
- - JSON/JSONB support provides flexibility for evolving schemas
39
- - Excellent performance for our expected load (<1M rows initially)
40
- - Free and open source - no licensing costs
41
- - Proven scalability path (read replicas, partitioning, Citus extension)
42
-
43
- ### Negative Consequences
44
-
45
- - Vertical scaling limits eventually require sharding strategy
46
- - Less flexible schema changes compared to schema-less databases
47
- - Requires careful query optimization for complex analytics
48
- - Team needs to learn PostgreSQL-specific features (JSONB, window functions)
49
-
50
- ## Pros and Cons of the Options
51
-
52
- ### PostgreSQL
53
-
54
- **Pros**:
55
- - ✅ Strong ACID compliance with serializable isolation
56
- - ✅ Excellent support for complex queries (JOINs, CTEs, window functions)
57
- - ✅ JSONB for flexible semi-structured data
58
- - ✅ Rich extension ecosystem (PostGIS, pg_trgm, etc.)
59
- - ✅ Free and open source
60
- - ✅ Battle-tested at scale (Instagram, Spotify, GitHub use it)
61
- - ✅ Team has SQL experience
62
-
63
- **Cons**:
64
- - ❌ Vertical scaling limits (~10M rows before needing partitioning)
65
- - ❌ Schema migrations require downtime for large tables
66
- - ❌ Write performance lower than NoSQL for high-throughput scenarios
67
- - ❌ Replication complexity for multi-region deployment
68
-
69
- ### MongoDB
70
-
71
- **Pros**:
72
- - ✅ Flexible schema for rapidly evolving data models
73
- - ✅ Horizontal scaling built-in (sharding)
74
- - ✅ Fast writes for high-throughput scenarios
75
- - ✅ Good for document-oriented data (user profiles, products)
76
- - ✅ Built-in replication and failover
77
-
78
- **Cons**:
79
- - ❌ Weaker consistency guarantees (eventual consistency by default)
80
- - ❌ Limited transaction support (only multi-document ACID since v4.0)
81
- - ❌ Team has no MongoDB experience (3-6 month learning curve)
82
- - ❌ More expensive managed hosting (~$400/month vs $200 for PostgreSQL)
83
- - ❌ Complex queries less efficient (no JOINs)
84
- - ❌ Analytics require aggregation pipeline (steep learning curve)
85
-
86
- ### MySQL
87
-
88
- **Pros**:
89
- - ✅ Strong ACID compliance
90
- - ✅ Widely used and well-documented
91
- - ✅ Team has SQL experience
92
- - ✅ Good performance for read-heavy workloads
93
- - ✅ Free and open source
94
-
95
- **Cons**:
96
- - ❌ Weaker JSON support compared to PostgreSQL
97
- - ❌ Less feature-rich (no CTEs until v8.0, weaker window functions)
98
- - ❌ Replication can be complex (binlog issues)
99
- - ❌ Extension ecosystem less rich than PostgreSQL
100
- - ❌ Oracle ownership concerns (licensing changes)
101
-
102
- ## Links
103
-
104
- - [PostgreSQL JSON Support](https://www.postgresql.org/docs/current/datatype-json.html)
105
- - [Scalability Guide](docs/architecture/postgres-scaling.md)
106
- - [Database Schema Design](docs/architecture/schema-design.md)
107
- - Related: [ADR-013: Use Prisma ORM](./ADR-013-use-prisma-orm.md)
108
-
109
- ## Notes
110
-
111
- - **Migration path**: If we hit PostgreSQL scaling limits (>10M users), we'll evaluate:
112
- 1. Citus extension for horizontal scaling
113
- 2. Read replicas for read-heavy queries
114
- 3. Vertical scaling to larger instances
115
-
116
- - **Review date**: 2025-06-15 (6 months) - Assess if decision still holds with actual usage data
117
-
118
- - **Monitoring**: Set up alerts for:
119
- - Query performance degradation
120
- - Table size growth
121
- - Replication lag
122
- - Connection pool exhaustion
@@ -1,69 +0,0 @@
1
- # [ADR-###] {Title}
2
-
3
- **Date**: {YYYY-MM-DD}
4
- **Status**: {Proposed | Accepted | Deprecated | Superseded}
5
- **Deciders**: {Names}
6
- **Tags**: {tag1, tag2}
7
-
8
- ## Context and Problem Statement
9
-
10
- {Describe the context and problem}
11
-
12
- ## Decision Drivers
13
-
14
- - {Driver 1}
15
- - {Driver 2}
16
- - {Driver 3}
17
-
18
- ## Considered Options
19
-
20
- - {Option 1}
21
- - {Option 2}
22
- - {Option 3}
23
-
24
- ## Decision Outcome
25
-
26
- **Chosen option**: {Option X}
27
-
28
- **Justification**: {Why this option}
29
-
30
- ### Positive Consequences
31
-
32
- - {Good outcome 1}
33
- - {Good outcome 2}
34
-
35
- ### Negative Consequences
36
-
37
- - {Bad outcome 1}
38
- - {Bad outcome 2}
39
-
40
- ## Pros and Cons of the Options
41
-
42
- ### {Option 1}
43
-
44
- **Pros**:
45
- - {Pro 1}
46
- - {Pro 2}
47
-
48
- **Cons**:
49
- - {Con 1}
50
- - {Con 2}
51
-
52
- ### {Option 2}
53
-
54
- **Pros**:
55
- - {Pro 1}
56
- - {Pro 2}
57
-
58
- **Cons**:
59
- - {Con 1}
60
- - {Con 2}
61
-
62
- ## Links
63
-
64
- - {Related ADRs}
65
- - {Documentation}
66
-
67
- ## Notes
68
-
69
- - {Additional information}
@@ -1,130 +0,0 @@
1
- ---
2
- name: agileflow-commit-messages
3
- description: Formats git commit messages following Conventional Commits and respects user's attribution preferences from CLAUDE.md
4
- ---
5
-
6
- # Conventional Commits Skill
7
-
8
- Automatically formats git commit messages following the Conventional Commits specification while respecting the user's attribution policy defined in CLAUDE.md.
9
-
10
- ## When to Use
11
-
12
- This skill activates when:
13
- - Creating or staging git commits
14
- - Discussing code changes that need committing
15
- - Keywords: "commit", "git commit", "conventional commit", "commit message"
16
-
17
- ## What This Does
18
-
19
- 1. Checks CLAUDE.md for attribution policy (respects user preferences)
20
- 2. Analyzes staged changes to determine commit type and scope
21
- 3. Formats message using Conventional Commits format
22
- 4. Shows message to user for approval before executing
23
-
24
- ## Instructions
25
-
26
- 1. **Check attribution policy**:
27
- - Read CLAUDE.md for "Git Commit Attribution Policy"
28
- - If "DO NOT ADD AI ATTRIBUTION" found → skip footer
29
- - Otherwise → prepare attribution footer
30
-
31
- 2. **Analyze changes**:
32
- - Run `git diff --cached --stat` to see staged files
33
- - Determine primary change type (feat, fix, refactor, etc.)
34
- - Identify affected scope (api, ui, auth, db, config, etc.)
35
-
36
- 3. **Format message**:
37
- ```
38
- <type>(<scope>): <subject>
39
-
40
- <body>
41
-
42
- <footer>
43
- ```
44
-
45
- 4. **Show for approval**: Display formatted message (diff-first pattern)
46
-
47
- 5. **Execute after confirmation**: Run git commit with user's YES
48
-
49
- ## Conventional Commits Format
50
-
51
- **Types**: feat, fix, docs, style, refactor, perf, test, chore, ci, revert
52
-
53
- **Scope (optional)**: (api), (ui), (auth), (db), (config), etc.
54
-
55
- **Subject rules**:
56
- - Imperative mood: "add feature" not "added feature"
57
- - Lowercase, no period, max 50 characters
58
-
59
- **Body (optional)**:
60
- - Explain WHAT and WHY (not HOW)
61
- - Wrap at 72 characters per line
62
-
63
- **Footer (optional)**:
64
- - Issue references: `Closes #123`
65
- - Breaking changes: `BREAKING CHANGE: description`
66
- - Attribution: Add if CLAUDE.md allows
67
-
68
- ## Output Examples
69
-
70
- **WITH attribution** (default):
71
- ```
72
- feat(auth): add two-factor authentication
73
-
74
- Implemented TOTP-based 2FA with QR code generation
75
- for enhanced user account security.
76
-
77
- Closes #234
78
-
79
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
80
-
81
- Co-Authored-By: Claude <noreply@anthropic.com>
82
- ```
83
-
84
- **WITHOUT attribution** (if CLAUDE.md specifies):
85
- ```
86
- feat(auth): add two-factor authentication
87
-
88
- Implemented TOTP-based 2FA with QR code generation
89
- for enhanced user account security.
90
-
91
- Closes #234
92
- ```
93
-
94
- **Breaking changes**:
95
- ```
96
- feat(api)!: change authentication endpoint structure
97
-
98
- BREAKING CHANGE: The /auth/login endpoint now returns
99
- a different response format.
100
-
101
- Old: { token: "..." }
102
- New: { accessToken: "...", refreshToken: "...", expiresIn: 3600 }
103
-
104
- Closes #456
105
- ```
106
-
107
- ## Quality Checklist
108
-
109
- Before suggesting commit message:
110
- - [ ] Type is appropriate (feat/fix/refactor/docs/chore)
111
- - [ ] Subject uses imperative mood
112
- - [ ] Subject is lowercase, <50 chars, no period
113
- - [ ] Body explains WHY, wrapped at 72 chars
114
- - [ ] **Attribution policy checked in CLAUDE.md** (CRITICAL)
115
- - [ ] No secrets in staged files (.env, tokens, credentials)
116
- - [ ] Breaking changes marked with `!` and `BREAKING CHANGE:` footer
117
-
118
- ## Integration
119
-
120
- - **agileflow-changelog**: Commit messages inform changelog entries
121
- - **agileflow-story-writer**: Reference story IDs in commits (Closes STORY-042)
122
- - **agileflow-adr**: Link ADRs in footer (Refs: ADR-0005)
123
-
124
- ## Notes
125
-
126
- - ALWAYS check CLAUDE.md first for attribution preferences
127
- - For large commits, suggest breaking into smaller logical commits
128
- - Keep line lengths: subject <50 chars, body <72 chars
129
- - Check for secrets before committing (.env, credentials.json, API keys)
130
- - Security check: Warn user if sensitive files are staged