@balazsbarta/mp-skills 0.1.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 (80) hide show
  1. package/.agents/skills/brainstorming/SKILL.md +201 -0
  2. package/.agents/skills/brainstorming/references/option-evaluation.md +64 -0
  3. package/.agents/skills/brainstorming/references/questioning-playbook.md +57 -0
  4. package/.agents/skills/brainstorming/references/repo-analysis.md +60 -0
  5. package/.agents/skills/conventional-commits/SKILL.md +124 -0
  6. package/.agents/skills/conventional-commits/references/commit-types-scopes.md +75 -0
  7. package/.agents/skills/conventional-commits/references/semantic-release.md +71 -0
  8. package/.agents/skills/jest/SKILL.md +219 -0
  9. package/.agents/skills/jest/references/common-errors.md +274 -0
  10. package/.agents/skills/jest/references/configuration.md +175 -0
  11. package/.agents/skills/jest/references/embedded-docs.md +44 -0
  12. package/.agents/skills/jest/references/mocking.md +206 -0
  13. package/.agents/skills/jest/references/remote-docs.md +19 -0
  14. package/.agents/skills/jest/references/snapshot-testing.md +181 -0
  15. package/.agents/skills/jest/references/transforms.md +216 -0
  16. package/.agents/skills/maestro/SKILL.md +230 -0
  17. package/.agents/skills/maestro/references/assertions-commands.md +259 -0
  18. package/.agents/skills/maestro/references/common-errors.md +273 -0
  19. package/.agents/skills/maestro/references/eas-ci-integration.md +219 -0
  20. package/.agents/skills/maestro/references/flow-authoring.md +224 -0
  21. package/.agents/skills/maestro/references/remote-docs.md +23 -0
  22. package/.agents/skills/mastra/SKILL.md +159 -0
  23. package/.agents/skills/mastra/references/common-errors.md +535 -0
  24. package/.agents/skills/mastra/references/create-mastra.md +220 -0
  25. package/.agents/skills/mastra/references/embedded-docs.md +123 -0
  26. package/.agents/skills/mastra/references/migration-guide.md +180 -0
  27. package/.agents/skills/mastra/references/remote-docs.md +193 -0
  28. package/.agents/skills/next-js/SKILL.md +209 -0
  29. package/.agents/skills/next-js/references/api-routes.md +213 -0
  30. package/.agents/skills/next-js/references/app-router.md +206 -0
  31. package/.agents/skills/next-js/references/caching-revalidation.md +211 -0
  32. package/.agents/skills/next-js/references/common-errors.md +251 -0
  33. package/.agents/skills/next-js/references/embedded-docs.md +43 -0
  34. package/.agents/skills/next-js/references/metadata-seo.md +257 -0
  35. package/.agents/skills/next-js/references/remote-docs.md +22 -0
  36. package/.agents/skills/playwright/SKILL.md +218 -0
  37. package/.agents/skills/playwright/references/ci-configuration.md +208 -0
  38. package/.agents/skills/playwright/references/common-errors.md +258 -0
  39. package/.agents/skills/playwright/references/embedded-docs.md +41 -0
  40. package/.agents/skills/playwright/references/fixtures-assertions.md +208 -0
  41. package/.agents/skills/playwright/references/page-objects.md +167 -0
  42. package/.agents/skills/playwright/references/remote-docs.md +23 -0
  43. package/.agents/skills/playwright/references/visual-regression.md +206 -0
  44. package/.agents/skills/pull-request-lifecycle/SKILL.md +116 -0
  45. package/.agents/skills/pull-request-lifecycle/references/changelog-versioning.md +72 -0
  46. package/.agents/skills/pull-request-lifecycle/references/merge-strategies.md +33 -0
  47. package/.agents/skills/pull-request-lifecycle/references/pr-description-template.md +72 -0
  48. package/.agents/skills/pull-request-lifecycle/references/review-process.md +54 -0
  49. package/.agents/skills/pull-request-lifecycle/scripts/code_review.py +220 -0
  50. package/.agents/skills/react-native-expo/SKILL.md +212 -0
  51. package/.agents/skills/react-native-expo/references/common-errors.md +251 -0
  52. package/.agents/skills/react-native-expo/references/eas-build-submit.md +238 -0
  53. package/.agents/skills/react-native-expo/references/embedded-docs.md +42 -0
  54. package/.agents/skills/react-native-expo/references/native-modules.md +181 -0
  55. package/.agents/skills/react-native-expo/references/navigation-setup.md +229 -0
  56. package/.agents/skills/react-native-expo/references/remote-docs.md +23 -0
  57. package/.agents/skills/supabase/SKILL.md +216 -0
  58. package/.agents/skills/supabase/references/auth-setup.md +206 -0
  59. package/.agents/skills/supabase/references/common-errors.md +285 -0
  60. package/.agents/skills/supabase/references/edge-functions.md +178 -0
  61. package/.agents/skills/supabase/references/embedded-docs.md +43 -0
  62. package/.agents/skills/supabase/references/migrations.md +193 -0
  63. package/.agents/skills/supabase/references/remote-docs.md +24 -0
  64. package/.agents/skills/supabase/references/rls-policies.md +187 -0
  65. package/.agents/skills/supabase/references/storage.md +182 -0
  66. package/.agents/skills/task-breakdown/SKILL.md +179 -0
  67. package/.agents/skills/task-breakdown/references/acceptance-criteria.md +165 -0
  68. package/.agents/skills/task-breakdown/references/epic-story-format.md +209 -0
  69. package/.agents/skills/task-breakdown/references/estimation-guide.md +140 -0
  70. package/.agents/skills/vitest/SKILL.md +219 -0
  71. package/.agents/skills/vitest/references/common-errors.md +271 -0
  72. package/.agents/skills/vitest/references/component-testing.md +182 -0
  73. package/.agents/skills/vitest/references/configuration.md +184 -0
  74. package/.agents/skills/vitest/references/coverage.md +179 -0
  75. package/.agents/skills/vitest/references/embedded-docs.md +43 -0
  76. package/.agents/skills/vitest/references/mocking.md +182 -0
  77. package/.agents/skills/vitest/references/remote-docs.md +22 -0
  78. package/README.md +235 -0
  79. package/package.json +20 -0
  80. package/scripts/skills.mjs +849 -0
@@ -0,0 +1,201 @@
1
+ ---
2
+ name: brainstorming
3
+ description: "Facilitate structured technical brainstorming sessions. Use this skill to explore options, challenge assumptions, and produce implementation-ready plans for coding agents."
4
+ license: MIT
5
+ metadata:
6
+ author: Balazs Barta
7
+ version: "2.0.0"
8
+ repository: https://github.com/balazsbarta/mp-skills
9
+ tags:
10
+ - brainstorming
11
+ - facilitation
12
+ - decision-making
13
+ - planning
14
+ ---
15
+
16
+ # Brainstorming Facilitator Guide
17
+
18
+ Run structured brainstorming sessions with a human user and produce outputs that a coding agent can implement immediately.
19
+
20
+ ## When to use this skill
21
+
22
+ - User wants to brainstorm features, architecture, or implementation direction
23
+ - User has a proposed solution and needs validation against alternatives
24
+ - Problem space is unclear and needs structured discovery before coding
25
+ - Team needs a prioritized implementation plan with explicit tradeoffs
26
+
27
+ ## Operating principles
28
+
29
+ - Ask one high-value question at a time.
30
+ - Analyze each response before asking the next question.
31
+ - Resolve discoverable facts from the repository before asking user questions.
32
+ - Do not make silent assumptions; label assumptions explicitly.
33
+ - Challenge preferred solutions when evidence indicates a stronger option.
34
+ - Keep all outputs concrete, scoped, and implementable.
35
+
36
+ ## Reference files
37
+
38
+ Load references only when needed:
39
+
40
+ | Need | Read |
41
+ | --- | --- |
42
+ | Ground discussion in repository facts first | [`references/repo-analysis.md`](references/repo-analysis.md) |
43
+ | Choose and sequence high-value user questions | [`references/questioning-playbook.md`](references/questioning-playbook.md) |
44
+ | Compare options and recommend with evidence | [`references/option-evaluation.md`](references/option-evaluation.md) |
45
+
46
+ ## Core workflow (4 phases)
47
+
48
+ ### 1) Context discovery
49
+
50
+ Objective: Define the real problem and decision target.
51
+
52
+ Required artifacts:
53
+ - Problem statement
54
+ - Desired outcome
55
+ - Audience or impacted users
56
+ - Business or technical impact
57
+
58
+ Exit criteria:
59
+ - Problem is specific and non-generic.
60
+ - Success condition is explicit.
61
+
62
+ Question patterns:
63
+ - What exact problem are we solving right now?
64
+ - What changes if this succeeds?
65
+ - Who is most impacted by this decision?
66
+
67
+ ### 2) Requirements deep dive
68
+
69
+ Objective: Lock constraints, boundaries, and non-goals.
70
+
71
+ Required artifacts:
72
+ - Functional requirements
73
+ - Non-functional requirements
74
+ - Constraints (timeline, compatibility, compliance, infra)
75
+ - Out-of-scope items
76
+
77
+ Exit criteria:
78
+ - Must-haves vs nice-to-haves are separated.
79
+ - Critical constraints are confirmed.
80
+
81
+ Question patterns:
82
+ - What is non-negotiable?
83
+ - What existing systems or contracts cannot break?
84
+ - What is explicitly out of scope for this iteration?
85
+
86
+ ### 3) Solution exploration
87
+
88
+ Objective: Compare viable approaches and converge on a recommendation.
89
+
90
+ Required artifacts:
91
+ - At least two viable options when a decision is involved
92
+ - Tradeoff comparison across effort, impact, risk, reversibility
93
+ - Recommended option with fallback
94
+
95
+ Exit criteria:
96
+ - Selected option has a clear rationale.
97
+ - Rejected options are documented with reasons.
98
+
99
+ Question patterns:
100
+ - Which options are realistically viable in this codebase?
101
+ - What risk does each option introduce?
102
+ - If we had to roll back, which option is easiest to reverse?
103
+
104
+ ### 4) Implementation planning
105
+
106
+ Objective: Turn the decision into a dependency-ordered execution plan.
107
+
108
+ Required artifacts:
109
+ - Task breakdown ordered by dependency
110
+ - Test and validation plan
111
+ - Risks and mitigations
112
+ - Open questions (if any)
113
+
114
+ Exit criteria:
115
+ - Plan is decision-complete for implementation.
116
+ - Acceptance criteria are testable.
117
+
118
+ Question patterns:
119
+ - What is the smallest end-to-end slice to ship first?
120
+ - What must happen before implementation starts?
121
+ - How will we verify correctness and prevent regressions?
122
+
123
+ ## Repository-first analysis protocol
124
+
125
+ Before asking broad intent questions, run targeted non-mutating analysis:
126
+
127
+ 1. Locate relevant files, entrypoints, configs, schemas, and tests.
128
+ 2. Summarize current behavior with concrete file references.
129
+ 3. Distinguish discoverable facts from preference decisions.
130
+ 4. Ask the user only for non-discoverable intent, constraints, or tradeoffs.
131
+
132
+ If repository evidence is missing, state what was checked and why uncertainty remains.
133
+
134
+ ## Evidence-first challenge policy
135
+
136
+ When the user proposes a preferred solution:
137
+
138
+ 1. Restate the proposed approach and its likely benefits.
139
+ 2. Surface at least one credible alternative when evidence supports it.
140
+ 3. Compare options on effort, impact, risk, and reversibility.
141
+ 4. Recommend the stronger option with rationale and fallback.
142
+ 5. If user still chooses a weaker option, proceed and record accepted tradeoffs.
143
+
144
+ Do not block progress without reason; challenge with evidence, not opinion.
145
+
146
+ ## Assumption control protocol
147
+
148
+ - Convert high-impact assumptions into direct questions.
149
+ - Mark unresolved assumptions explicitly.
150
+ - Do not finalize implementation planning when critical unknowns remain.
151
+ - Keep an "Open Questions" list until all blocking items are resolved.
152
+
153
+ ## Optional lightweight scoring
154
+
155
+ Use only when two or more viable options remain and tradeoffs are unclear.
156
+
157
+ - Criteria: effort, impact, risk, reversibility
158
+ - Scale: 1-5 per criterion
159
+ - Keep scoring simple and transparent
160
+ - Use scoring to support reasoning, not replace it
161
+
162
+ ## Required output contract
163
+
164
+ Every completed session must produce:
165
+
166
+ 1. Problem statement
167
+ 2. Goal and success criteria
168
+ 3. Constraints and non-goals
169
+ 4. Options considered
170
+ 5. Decision rationale (including rejected alternatives)
171
+ 6. Risks and mitigations
172
+ 7. Implementation tasks in dependency order
173
+ 8. Test and validation approach
174
+ 9. Open questions
175
+
176
+ Use this structure:
177
+
178
+ ```markdown
179
+ ## Problem
180
+ ## Goal and Success Criteria
181
+ ## Constraints and Non-Goals
182
+ ## Options Considered
183
+ ## Decision and Rationale
184
+ ## Risks and Mitigations
185
+ ## Implementation Plan
186
+ ## Test and Validation
187
+ ## Open Questions
188
+ ```
189
+
190
+ ## Quality gate
191
+
192
+ Before ending the session, verify:
193
+
194
+ - Recommendation is evidence-based and not assumption-based.
195
+ - At least one alternative was considered for meaningful decisions.
196
+ - Plan can be implemented without additional decision-making.
197
+ - Risks, validation, and unresolved questions are explicit.
198
+
199
+ ## Cross-reference
200
+
201
+ - Task breakdown follow-up: [`../task-breakdown/SKILL.md`](../task-breakdown/SKILL.md)
@@ -0,0 +1,64 @@
1
+ # Option Evaluation Guide
2
+
3
+ Use this guide when multiple viable options remain.
4
+
5
+ ## When to use
6
+
7
+ - Two or more valid approaches are still on the table
8
+ - Tradeoffs are unclear or disputed
9
+ - User preference conflicts with repository evidence
10
+
11
+ ## Evaluation dimensions
12
+
13
+ Use four dimensions by default:
14
+
15
+ - Effort
16
+ - Impact
17
+ - Risk
18
+ - Reversibility
19
+
20
+ Optional fifth dimension: compatibility with existing architecture.
21
+
22
+ ## Lightweight scoring
23
+
24
+ Use only if qualitative comparison is not enough.
25
+
26
+ - Score each option from 1-5 per dimension.
27
+ - Keep equal weights unless a user constraint justifies weighting.
28
+ - Treat scores as decision support, not an automatic verdict.
29
+
30
+ Template:
31
+
32
+ ```markdown
33
+ | Dimension | Option A | Option B | Notes |
34
+ | --- | --- | --- | --- |
35
+ | Effort | | | |
36
+ | Impact | | | |
37
+ | Risk | | | |
38
+ | Reversibility | | | |
39
+ | Total | | | |
40
+ ```
41
+
42
+ ## Decision statement template
43
+
44
+ ```markdown
45
+ ### Decision
46
+ Selected: <option>
47
+
48
+ ### Why
49
+ - <evidence-backed reason 1>
50
+ - <evidence-backed reason 2>
51
+
52
+ ### Rejected Alternatives
53
+ - <option>: <why not now>
54
+
55
+ ### Fallback
56
+ - If <failure condition>, switch to <fallback option>.
57
+ ```
58
+
59
+ ## Red flags that require challenge
60
+
61
+ - Chosen option conflicts with existing interfaces or contracts
62
+ - Chosen option has high irreversible migration cost
63
+ - Chosen option lacks clear validation path
64
+ - Chosen option is selected by preference only, without evidence
@@ -0,0 +1,57 @@
1
+ # Questioning Playbook
2
+
3
+ Use this guide to run an adaptive, one-question-at-a-time facilitation flow.
4
+
5
+ ## Objective
6
+
7
+ Ask the highest-value next question, not the next question in a fixed script.
8
+
9
+ ## Loop
10
+
11
+ 1. Read current context and latest user answer.
12
+ 2. Extract new facts, decisions, and assumptions.
13
+ 3. Identify the biggest unresolved blocker.
14
+ 4. Ask one targeted question to remove that blocker.
15
+ 5. Repeat until implementation planning is decision-complete.
16
+
17
+ ## Question quality standard
18
+
19
+ A strong question is:
20
+
21
+ - Specific and scoped to one decision
22
+ - Unanswerable by repository inspection
23
+ - Material to architecture, delivery risk, or acceptance criteria
24
+
25
+ Avoid:
26
+
27
+ - Multi-part compound questions
28
+ - Questions that can be answered from code
29
+ - Questions that do not change the plan
30
+
31
+ ## Progressive question categories
32
+
33
+ Use only as needed, in this order:
34
+
35
+ 1. Problem and outcome clarity
36
+ 2. Constraints and non-goals
37
+ 3. Option viability and tradeoffs
38
+ 4. Implementation readiness and validation
39
+
40
+ ## Challenge prompts (evidence-first)
41
+
42
+ When the user proposes approach X:
43
+
44
+ - "Given `<repo constraint>`, should we compare X against Y before committing?"
45
+ - "X optimizes `<benefit>`, but increases `<risk>`. Is that tradeoff acceptable?"
46
+ - "If rollback is needed, X is harder to reverse than Y. Do we still prefer X?"
47
+
48
+ Always challenge with concrete evidence, not abstract preference.
49
+
50
+ ## Stop condition
51
+
52
+ Stop questioning and produce final plan only when:
53
+
54
+ - Success criteria are explicit
55
+ - Key constraints are confirmed
56
+ - One option is selected with rationale
57
+ - Tasks, risks, and validation are concrete
@@ -0,0 +1,60 @@
1
+ # Repository Analysis Playbook
2
+
3
+ Use this guide before asking broad user questions. The goal is to separate discoverable facts from preference decisions.
4
+
5
+ ## Outcomes
6
+
7
+ - Current-state summary with concrete file references
8
+ - Known constraints based on code/config
9
+ - Unknowns that actually require user input
10
+
11
+ ## Step-by-step
12
+
13
+ 1. Locate related entrypoints and modules.
14
+ 2. Find config, schema, and interface contracts.
15
+ 3. Identify existing tests and current behavior.
16
+ 4. Capture integration boundaries and compatibility constraints.
17
+ 5. Produce a short findings summary before asking questions.
18
+
19
+ ## Command patterns (non-mutating)
20
+
21
+ ```bash
22
+ rg --files
23
+ rg -n "keyword|type|interface|route|config" <path>
24
+ sed -n '1,200p' <file>
25
+ ```
26
+
27
+ Prefer targeted scans over broad file dumps.
28
+
29
+ ## Fact vs preference split
30
+
31
+ Treat as discoverable facts:
32
+
33
+ - Existing code paths and data flow
34
+ - API signatures and type contracts
35
+ - Build/test/tooling constraints
36
+ - Current test coverage and failure surfaces
37
+
38
+ Treat as user decisions:
39
+
40
+ - Priority and timeline tradeoffs
41
+ - Non-obvious product constraints
42
+ - UX/behavior preference among valid options
43
+ - Acceptance bar beyond existing standards
44
+
45
+ ## Output format
46
+
47
+ Use this before question 1:
48
+
49
+ ```markdown
50
+ ### Repository Findings
51
+ - Fact 1: <what exists> (`path/to/file.ts:line`)
52
+ - Fact 2: <constraint> (`path/to/config.ts:line`)
53
+ - Fact 3: <risk or gap> (`path/to/test.spec.ts:line`)
54
+
55
+ ### Unknowns Requiring User Input
56
+ 1. <preference decision>
57
+ 2. <scope/priority decision>
58
+ ```
59
+
60
+ If no relevant code is found, state exactly what was searched.
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: conventional-commits
3
+ description: "Conventional Commits specification guide. Covers commit message format, types, scopes, breaking changes, and integration with semantic-release for automated versioning. Use this skill when creating commits, setting up commit conventions, or configuring automated releases."
4
+ license: MIT
5
+ metadata:
6
+ author: Balazs Barta
7
+ version: "2.0.0"
8
+ repository: https://github.com/balazsbarta/mp-skills
9
+ tags:
10
+ - conventional-commits
11
+ - commitlint
12
+ - semantic-release
13
+ - changelog
14
+ - versioning
15
+ ---
16
+
17
+ # Conventional Commits Guide
18
+
19
+ Write commit messages that are easy to read and can drive automated releases.
20
+
21
+ ## Project rules first
22
+
23
+ Before writing commits or setting up tooling, check for local configuration:
24
+
25
+ ```bash
26
+ ls commitlint.config.* .commitlintrc* .releaserc* 2>/dev/null
27
+ ls .husky/commit-msg 2>/dev/null
28
+ rg -n '"commitlint"|"release"|"husky"' package.json 2>/dev/null
29
+ ```
30
+
31
+ - If local rules exist, follow them.
32
+ - If local rules do not exist, use the defaults in this skill.
33
+
34
+ ## Quick workflow
35
+
36
+ 1. Choose the commit type (`feat`, `fix`, etc.).
37
+ 2. Add a scope when helpful (`feat(auth): ...`).
38
+ 3. Write the subject as `<type>[optional scope]: <description>`.
39
+ 4. Add body and footers when needed.
40
+ 5. For breaking changes, use `!` and a `BREAKING CHANGE:` footer.
41
+ 6. Validate with commitlint when available.
42
+
43
+ ## Commit format
44
+
45
+ ```
46
+ <type>[optional scope]: <description>
47
+
48
+ [optional body]
49
+
50
+ [optional footer(s)]
51
+ ```
52
+
53
+ Examples:
54
+
55
+ ```bash
56
+ git commit -m "feat(auth): add OAuth2 login flow"
57
+ git commit -m "fix(api): handle empty pagination token"
58
+ ```
59
+
60
+ ## Types at a glance
61
+
62
+ | Type | Use for |
63
+ | --- | --- |
64
+ | `feat` | New user-facing behavior |
65
+ | `fix` | Bug fixes |
66
+ | `docs` | Documentation-only changes |
67
+ | `refactor` | Internal restructuring without behavior change |
68
+ | `perf` | Performance improvements |
69
+ | `test` | Tests only |
70
+ | `build` | Build tooling or dependencies |
71
+ | `ci` | CI/CD pipeline changes |
72
+ | `chore` | Maintenance work |
73
+
74
+ See [`references/commit-types-scopes.md`](references/commit-types-scopes.md) for selection guidance and scope patterns.
75
+
76
+ ## Breaking changes
77
+
78
+ Any type can be breaking:
79
+
80
+ ```text
81
+ feat(api)!: remove v1 users endpoint
82
+
83
+ BREAKING CHANGE: /v1/users was removed. Use /v2/users.
84
+ ```
85
+
86
+ Use uppercase `BREAKING CHANGE:` and include migration guidance.
87
+
88
+ ## Optional tooling setup
89
+
90
+ Install commitlint and semantic-release:
91
+
92
+ ```bash
93
+ npm install --save-dev @commitlint/cli @commitlint/config-conventional semantic-release
94
+ ```
95
+
96
+ Minimal commitlint config:
97
+
98
+ ```javascript
99
+ // commitlint.config.js
100
+ export default { extends: ['@commitlint/config-conventional'] };
101
+ ```
102
+
103
+ Validate a message:
104
+
105
+ ```bash
106
+ echo "feat(auth): add OAuth2 login flow" | npx commitlint
107
+ ```
108
+
109
+ See [`references/semantic-release.md`](references/semantic-release.md) for release mapping and minimal setup.
110
+
111
+ ## Troubleshooting
112
+
113
+ - `type must be one of ...`: check local `type-enum` rules in commitlint config.
114
+ - `subject may not be empty`: ensure `: ` is present after type/scope.
115
+ - Unexpected release bump: inspect commit history and breaking-change footers.
116
+
117
+ ## Cross-reference
118
+
119
+ - **Pull Request Lifecycle**: [../pull-request-lifecycle/SKILL.md](../pull-request-lifecycle/SKILL.md)
120
+
121
+ ## Resources
122
+
123
+ - **Commit types, scopes, and breaking changes**: [`references/commit-types-scopes.md`](references/commit-types-scopes.md)
124
+ - **Semantic-release integration**: [`references/semantic-release.md`](references/semantic-release.md)
@@ -0,0 +1,75 @@
1
+ # Commit Types, Scopes, and Breaking Changes
2
+
3
+ Use this reference when choosing a commit type, defining scopes, or documenting breaking changes.
4
+
5
+ ## Commit types
6
+
7
+ | Type | Use for | Typical release impact |
8
+ | --- | --- | --- |
9
+ | `feat` | New user-facing behavior | minor |
10
+ | `fix` | Bug fixes | patch |
11
+ | `perf` | Performance improvements | patch |
12
+ | `docs` | Documentation-only changes | none (unless custom rules) |
13
+ | `style` | Formatting-only changes | none |
14
+ | `refactor` | Internal restructuring without behavior change | none (unless custom rules) |
15
+ | `test` | Test changes | none |
16
+ | `build` | Build tooling or dependencies | none |
17
+ | `ci` | CI/CD configuration | none |
18
+ | `chore` | General maintenance | none |
19
+
20
+ Quick chooser:
21
+
22
+ ```text
23
+ New capability? -> feat
24
+ Broken behavior fixed? -> fix
25
+ Faster same behavior? -> perf
26
+ Code reorganized only? -> refactor
27
+ Docs/tests/format/build/CI only? -> docs/test/style/build/ci
28
+ Anything else? -> chore
29
+ ```
30
+
31
+ ## Scopes
32
+
33
+ Scopes are optional. Use them when they make history easier to scan.
34
+
35
+ Common patterns:
36
+
37
+ ```text
38
+ feat(auth): add password reset
39
+ fix(api): handle empty token
40
+ perf(db): add index for user lookup
41
+ build(web): upgrade vite
42
+ ```
43
+
44
+ Guidelines:
45
+
46
+ - Keep scopes short and lowercase.
47
+ - Reuse a stable scope list if the project defines one.
48
+ - Omit scope for cross-cutting changes.
49
+
50
+ ## Breaking changes
51
+
52
+ Any type can be breaking. Use `!` and include a `BREAKING CHANGE:` footer.
53
+
54
+ ```text
55
+ feat(api)!: remove v1 users endpoint
56
+
57
+ BREAKING CHANGE: /v1/users has been removed. Use /v2/users.
58
+ ```
59
+
60
+ Footer rules:
61
+
62
+ - Use exact uppercase `BREAKING CHANGE:`.
63
+ - Put footer after a blank line.
64
+ - Include migration guidance when possible.
65
+
66
+ Breaking change impact:
67
+
68
+ - Any commit with `!` or `BREAKING CHANGE:` should trigger a major bump in standard semantic-release setups.
69
+
70
+ ## Validation
71
+
72
+ ```bash
73
+ echo "feat(auth): add login flow" | npx commitlint
74
+ echo "feat(api)!: remove v1 users endpoint" | npx commitlint
75
+ ```
@@ -0,0 +1,71 @@
1
+ # Semantic Release Essentials
2
+
3
+ Use this reference when mapping conventional commits to versions or configuring a minimal semantic-release setup.
4
+
5
+ ## Default version mapping
6
+
7
+ | Commit pattern | Version impact |
8
+ | --- | --- |
9
+ | `fix` | patch |
10
+ | `perf` | patch |
11
+ | `feat` | minor |
12
+ | Any commit with `!` or `BREAKING CHANGE:` | major |
13
+ | `docs`, `style`, `refactor`, `test`, `build`, `ci`, `chore` | no release (unless custom rules) |
14
+
15
+ ## Minimal setup
16
+
17
+ Install:
18
+
19
+ ```bash
20
+ npm install --save-dev semantic-release
21
+ ```
22
+
23
+ Minimal config:
24
+
25
+ ```json
26
+ // .releaserc.json
27
+ {
28
+ "branches": ["main"],
29
+ "plugins": [
30
+ "@semantic-release/commit-analyzer",
31
+ "@semantic-release/release-notes-generator",
32
+ "@semantic-release/github"
33
+ ]
34
+ }
35
+ ```
36
+
37
+ Dry run:
38
+
39
+ ```bash
40
+ npx semantic-release --dry-run
41
+ ```
42
+
43
+ ## Common custom release rules
44
+
45
+ ```json
46
+ // .releaserc.json
47
+ {
48
+ "plugins": [
49
+ ["@semantic-release/commit-analyzer", {
50
+ "preset": "conventionalcommits",
51
+ "releaseRules": [
52
+ { "type": "docs", "release": "patch" },
53
+ { "type": "refactor", "release": "patch" },
54
+ { "breaking": true, "release": "major" }
55
+ ]
56
+ }]
57
+ ]
58
+ }
59
+ ```
60
+
61
+ ## Troubleshooting
62
+
63
+ - No release: confirm branch is configured and commits match expected format.
64
+ - Wrong bump: inspect commit history and breaking-change footers.
65
+ - CI failures: check token permissions and run `--dry-run` in CI logs.
66
+
67
+ ## Official docs
68
+
69
+ - Conventional Commits spec: https://www.conventionalcommits.org/en/v1.0.0/
70
+ - semantic-release docs: https://semantic-release.gitbook.io/semantic-release/
71
+ - commitlint docs: https://commitlint.js.org/