@mark-gozner/aigile-method 0.4.5

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 (143) hide show
  1. package/LICENSE.md +26 -0
  2. package/README.md +300 -0
  3. package/core/agent-teams/team-all.yaml +24 -0
  4. package/core/agent-teams/team-company.yaml +17 -0
  5. package/core/agent-teams/team-enterprise.yaml +17 -0
  6. package/core/agent-teams/team-fullstack.yaml +16 -0
  7. package/core/agent-teams/team-ide-minimal.yaml +10 -0
  8. package/core/agents/aigile-master.md +476 -0
  9. package/core/agents/aigile-orchestrator.agent.md +200 -0
  10. package/core/agents/analyst.md +45 -0
  11. package/core/agents/architect.md +43 -0
  12. package/core/agents/code-tour.agent.md +208 -0
  13. package/core/agents/dev.agent.md +145 -0
  14. package/core/agents/dev.md +130 -0
  15. package/core/agents/expert-react-frontend-engineer.agent.md +741 -0
  16. package/core/agents/pm.md +33 -0
  17. package/core/agents/po.md +35 -0
  18. package/core/agents/qa.md +38 -0
  19. package/core/agents/sm.md +31 -0
  20. package/core/agents/ui-expert.md +39 -0
  21. package/core/agents/ux-expert.md +31 -0
  22. package/core/checklists/architect-checklist.md +246 -0
  23. package/core/checklists/change-checklist.md +182 -0
  24. package/core/checklists/pm-checklist.md +286 -0
  25. package/core/checklists/po-master-checklist.md +291 -0
  26. package/core/checklists/story-dod-checklist.md +94 -0
  27. package/core/checklists/story-draft-checklist.md +153 -0
  28. package/core/core-config.yaml +22 -0
  29. package/core/data/aigile-kb.md +112 -0
  30. package/core/data/brainstorming-techniques.md +73 -0
  31. package/core/data/elicitation-methods.md +42 -0
  32. package/core/data/technical-preferences.md +52 -0
  33. package/core/data/test-levels-framework.md +43 -0
  34. package/core/data/test-priorities-matrix.md +26 -0
  35. package/core/instructions/csharp.instructions.md +656 -0
  36. package/core/instructions/dotnet/csharp.instructions.md +656 -0
  37. package/core/instructions/java/java.instructions.md +67 -0
  38. package/core/instructions/java/spring-boot.instructions.md +122 -0
  39. package/core/instructions/java.instructions.md +67 -0
  40. package/core/instructions/spring-boot.instructions.md +122 -0
  41. package/core/prompts/README.md +11 -0
  42. package/core/prompts/architecture/architecture-blueprint-generator.prompt.md +322 -0
  43. package/core/prompts/architecture/architecture-validation.prompt.md +71 -0
  44. package/core/prompts/architecture/file-tree-generator.prompt.md +405 -0
  45. package/core/prompts/architecture/technical-project-analyze.prompt.md +43 -0
  46. package/core/prompts/architecture-blueprint-generator.prompt.md +322 -0
  47. package/core/prompts/architecture-validation.prompt.md +71 -0
  48. package/core/prompts/code-review.prompt.md +107 -0
  49. package/core/prompts/confluence-in-md.prompt.md +167 -0
  50. package/core/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
  51. package/core/prompts/create-implementation-plan.prompt.md +157 -0
  52. package/core/prompts/create-oo-component-documentation.prompt.md +193 -0
  53. package/core/prompts/file-tree-generator.prompt.md +405 -0
  54. package/core/prompts/generate-unit-tests.prompt.md +291 -0
  55. package/core/prompts/java/java-doc.prompt.md +24 -0
  56. package/core/prompts/java/java-junit.prompt.md +64 -0
  57. package/core/prompts/java/junit-5.prompt.md +64 -0
  58. package/core/prompts/java-doc.prompt.md +24 -0
  59. package/core/prompts/java-junit.prompt.md +64 -0
  60. package/core/prompts/junit-5.prompt.md +64 -0
  61. package/core/prompts/release-notes/README.md +11 -0
  62. package/core/prompts/release-notes/release-notes.prompt.md +723 -0
  63. package/core/prompts/release-notes.prompt.md +723 -0
  64. package/core/prompts/technical-project-analyze.prompt.md +43 -0
  65. package/core/tasks/advanced-elicitation.md +119 -0
  66. package/core/tasks/check-story-implemented.md +44 -0
  67. package/core/tasks/code-arch-review-with-github.md +40 -0
  68. package/core/tasks/create-architecture-doc.md +55 -0
  69. package/core/tasks/create-jira-epic-from-confluence.md +70 -0
  70. package/core/tasks/create-jira-story-from-confluence.md +39 -0
  71. package/core/tasks/create-jira-story-from-text.md +39 -0
  72. package/core/tasks/create-next-story.md +35 -0
  73. package/core/tasks/create-prd-doc.md +54 -0
  74. package/core/tasks/create-stories-from-epic.md +66 -0
  75. package/core/tasks/create-tasks-for-story.md +60 -0
  76. package/core/tasks/document-project.md +69 -0
  77. package/core/tasks/execute-checklist.md +37 -0
  78. package/core/tasks/explain-story-from-jira.md +44 -0
  79. package/core/tasks/facilitate-brainstorming-session.md +69 -0
  80. package/core/tasks/figma-audit-design-system.md +20 -0
  81. package/core/tasks/front-end-spec-from-design.md +33 -0
  82. package/core/tasks/gate.md +64 -0
  83. package/core/tasks/groom-jira-story.md +52 -0
  84. package/core/tasks/help.md +27 -0
  85. package/core/tasks/implement-freeform-work-item.md +30 -0
  86. package/core/tasks/implement-story-from-jira.md +63 -0
  87. package/core/tasks/implement-unit-tests.md +45 -0
  88. package/core/tasks/market-research-from-context7.md +37 -0
  89. package/core/tasks/review-story.md +30 -0
  90. package/core/tasks/sonarqube-hotspot-review.md +39 -0
  91. package/core/tasks/standup-digest.md +21 -0
  92. package/core/tasks/sync-jira-backlog.md +32 -0
  93. package/core/tasks/test-design.md +68 -0
  94. package/core/tasks/validate-next-story.md +37 -0
  95. package/core/tasks/verify-jira-story-e2e.md +45 -0
  96. package/core/templates/architecture-tmpl.yaml +651 -0
  97. package/core/templates/brainstorming-output-tmpl.yaml +156 -0
  98. package/core/templates/brownfield-architecture-tmpl.yaml +477 -0
  99. package/core/templates/brownfield-prd-tmpl.yaml +281 -0
  100. package/core/templates/front-end-architecture-tmpl.yaml +219 -0
  101. package/core/templates/front-end-spec-tmpl.yaml +350 -0
  102. package/core/templates/fullstack-architecture-tmpl.yaml +824 -0
  103. package/core/templates/market-research-tmpl.yaml +253 -0
  104. package/core/templates/prd-tmpl.yaml +203 -0
  105. package/core/templates/project-brief-tmpl.yaml +222 -0
  106. package/core/templates/qa-gate-tmpl.yaml +103 -0
  107. package/core/templates/story-tmpl.yaml +138 -0
  108. package/core/workflows/brownfield-fullstack.yaml +298 -0
  109. package/core/workflows/brownfield-service.yaml +188 -0
  110. package/core/workflows/brownfield-ui.yaml +198 -0
  111. package/core/workflows/greenfield-fullstack.yaml +241 -0
  112. package/core/workflows/greenfield-service.yaml +207 -0
  113. package/core/workflows/greenfield-ui.yaml +236 -0
  114. package/dist/agents/aigile-master.txt +500 -0
  115. package/dist/agents/aigile-orchestrator.agent.txt +224 -0
  116. package/dist/agents/analyst.txt +69 -0
  117. package/dist/agents/architect.txt +67 -0
  118. package/dist/agents/code-tour.agent.txt +232 -0
  119. package/dist/agents/dev.agent.txt +169 -0
  120. package/dist/agents/dev.txt +154 -0
  121. package/dist/agents/expert-react-frontend-engineer.agent.txt +765 -0
  122. package/dist/agents/pm.txt +57 -0
  123. package/dist/agents/po.txt +59 -0
  124. package/dist/agents/qa.txt +62 -0
  125. package/dist/agents/sm.txt +55 -0
  126. package/dist/agents/ui-expert.txt +63 -0
  127. package/dist/agents/ux-expert.txt +55 -0
  128. package/dist/dev-agent-bundle.txt +154 -0
  129. package/dist/teams/team-company.txt +10789 -0
  130. package/docs/mcp-servers.md +102 -0
  131. package/docs/orchestrator-guide.md +526 -0
  132. package/mcp/servers.json +108 -0
  133. package/mcp/servers.yaml +124 -0
  134. package/package.json +72 -0
  135. package/tools/cli.js +1864 -0
  136. package/tools/installer/README.md +24 -0
  137. package/tools/installer/lib/ide-setup.js +295 -0
  138. package/tools/installer/lib/installer.js +131 -0
  139. package/tools/md-assets/web-agent-startup-instructions.md +21 -0
  140. package/tools/postinstall.js +72 -0
  141. package/tools/shared/bannerArt.js +68 -0
  142. package/tools/validate-bundles.js +54 -0
  143. package/tools/verify-publish-registry.js +34 -0
@@ -0,0 +1,723 @@
1
+ {PROJECT_NAME} =
2
+ {JIRA_PROJECT_KEY} =
3
+
4
+ # Release Notes Generation Instructions for {PROJECT_NAME}
5
+
6
+ ## πŸ€– Automated Release Notes Generation (AI-Powered)
7
+
8
+ #### Step 1: Determine the Last Release Tag
9
+
10
+ Notes: examples include both Bash and Windows PowerShell variants β€” use the one that matches the environment running the prompt. Avoid shell chaining (like `||`) that may not be supported in older PowerShell versions. Keep the response concise and as short as possible. Focus on generating release note file rather than describing to the user what has been done. Make sure you use Atlassin mcp tools and GitHub mcp tools calls where appropriate.
11
+
12
+ Bash example (Linux/macOS/WSL):
13
+ ```bash
14
+ # Use GitHub MCP to list all tags and find the most recent one
15
+ # Call: mcp_github81_list_tags(owner: "REPO_OWNER", repo: "REPO_NAME", perPage: 1)
16
+ # Extract the latest tag name (e.g., "v4.2.6")
17
+ git describe --tags --abbrev=0 # returns last tag or fails if none
18
+ ```
19
+
20
+ PowerShell example (Windows PowerShell / PowerShell Core):
21
+ ```powershell
22
+ # Run as separate commands rather than using bash-style chaining
23
+ git describe --tags --abbrev=0 # prints last tag (e.g., release-stage-v0.0.23)
24
+ # If the above fails (no tag), handle that as a separate branch in your automation
25
+ ```
26
+
27
+ **Expected Output:** Latest semantic version tag
28
+ **Store as:** `LAST_RELEASE_TAG`
29
+
30
+ #### Step 2: Get Current Repository Information
31
+
32
+ Run the following commands (examples for both Bash and PowerShell). Keep commands separate to avoid shell compatibility issues.
33
+
34
+ Bash / PowerShell (same git commands apply):
35
+ ```bash
36
+ # Get the most recent tag (may fail if no tag exists)
37
+ git describe --tags --abbrev=0
38
+
39
+ # Get the current branch name
40
+ git rev-parse --abbrev-ref HEAD
41
+
42
+ # Get the latest commit one-line summary
43
+ git log --oneline -1
44
+
45
+ # Count commits since the tag: replace {LAST_TAG} with the tag name returned earlier
46
+ git rev-list --count {LAST_TAG}..HEAD
47
+ ```
48
+
49
+ If there is no tag (git describe exits non-zero), decide on a fallback (for example use `HEAD~0` as base, or treat the entire repo as the first release). Automation should detect the non-zero exit and switch to a fallback flow.
50
+
51
+ **Extract:** Current version, current branch name, commit count since last release
52
+
53
+ #### Step 3: Extract Commits Since Last Release
54
+
55
+ You can use the GitHub API (mcp_github81_list_commits) or run local git commands to extract commits. Local git commands are often faster and do not require API pagination for a small range.
56
+
57
+ Local git example (gives full hash, short hash, subject, author and ISO date):
58
+ ```bash
59
+ git log --pretty=format:"%H|%h|%s|%an|%ad" --date=iso {LAST_TAG}..HEAD
60
+ ```
61
+
62
+ PowerShell note: run the same git command in PowerShell β€” output is plain text and can be parsed with `-split`/`Select-String` or other text tooling.
63
+
64
+ To collect files changed and detailed commit body use:
65
+ ```bash
66
+ git show --pretty=format:"%H|%h|%s|%an|%ad|%b" --name-status {COMMIT_HASH}
67
+ ```
68
+
69
+ For each commit extract:
70
+ - full and short hash
71
+ - commit subject and full body
72
+ - author name and date
73
+ - PR references (look for examples like PR number 123 or the text "Merge pull request PR 123" in merge commits)
74
+ - JIRA keys (examples: {JIRA_PROJECT_KEY}-123) β€” adapt the pattern to your Jira project keys (for example {JIRA_PROJECT_KEY}-<number>).
75
+
76
+ Commit message parsing guidance:
77
+ - JIRA issue keys: search for tokens like {JIRA_PROJECT_KEY}-123 or other project-key patterns
78
+ - PR numbers: look for patterns like PR number 123 or the text 'Merge pull request PR 123' in merge commits
79
+ - Conventional commits: detect `feat:`, `fix:`, `chore:`, `docs:` prefixes where present
80
+
81
+ #### Step 4: Fetch Pull Requests for This Release
82
+
83
+ Prefer querying the GitHub API (mcp_github81_list_pull_requests) for authoritative PR metadata. If you prefer local git analysis, you can infer PR numbers and merge commits from commit messages (merge commits usually contain text like "Merge pull request PR 123").
84
+
85
+ GitHub API call (preferred):
86
+ ```js
87
+ // mcp_github81_list_pull_requests(...)
88
+ // Filter closed/merged PRs and then keep those with merged_at between LAST_RELEASE_DATE and NOW
89
+ ```
90
+
91
+ Local fallback (extract PR numbers from merge commits):
92
+ ```bash
93
+ git log --merges --pretty=format:"%H|%s|%an|%ad" {LAST_TAG}..HEAD --date=iso
94
+ # then parse the output for strings like 'Merge pull request PR 123' to extract PR numbers
95
+ ```
96
+
97
+ For each PR, extract number, title, merged date, merged by, and body (description). Cross-reference PRs with commits and JIRA keys.
98
+
99
+ #### Step 5: Extract JIRA Tickets from Commit Messages
100
+
101
+ For each unique JIRA key discovered in commits/PRs, attempt to retrieve issue details from Jira using the MCP tool. If Jira access is not possible in automation, leave placeholders in the release notes for manual enrichment and include the JIRA links so reviewers can expand them.
102
+
103
+ Example call (MCP):
104
+ ```
105
+ # mcp_mcp-atlassian43_jira_get_issue(
106
+ # issue_key: "PROJ-123",
107
+ # fields: "summary,description,issuetype,priority,status,assignee,reporter,labels,parent,customfield_10014"
108
+ # )
109
+ ```
110
+
111
+ For each JIRA issue extract:
112
+ - issue key and URL
113
+ - summary and full description
114
+ - issue type (Bug, Story, Task, Feature)
115
+ - priority and status
116
+ - assignee and reporter
117
+ - labels, parent/subtask relationship
118
+ - Epic Link / epic key (custom field name may vary by instance; `customfield_10014` is common but verify in your Jira)
119
+
120
+ If Jira is unreachable, include the found JIRA keys in the release notes and mark them for manual lookup.
121
+
122
+ #### Step 6: Fetch Epic Information
123
+
124
+ Use the same Jira API call to fetch epic-level information for any Epic keys discovered. Extract epic summary and description to present context in the release notes.
125
+
126
+ Example (MCP):
127
+ ```
128
+ # mcp_mcp-atlassian43_jira_get_issue(issue_key: "PROJ-456", fields: "summary,description,status")
129
+ ```
130
+
131
+ #### Step 7: Organize Issues by Epic
132
+ Group all resolved JIRA tickets by their Epic Link field. Tickets without an Epic go to a "General Improvements" section.
133
+
134
+ **Order Epics by:** Impact/importance to the release
135
+ **Order Issues Within Epic by:** Priority (Critical β†’ Major β†’ Normal β†’ Minor)
136
+
137
+ #### Step 8: Calculate Statistics
138
+
139
+ Count the following from the extracted data. Use the GitHub API or local git commands.
140
+
141
+ Local examples:
142
+ ```bash
143
+ # Count commits
144
+ git rev-list --count {LAST_TAG}..HEAD
145
+
146
+ # Count unique authors
147
+ git log --format='%an' {LAST_TAG}..HEAD | sort -u | wc -l
148
+
149
+ # Count PR numbers referenced in commits (Bash)
150
+ # Use `git log` and a text tool (grep/sed/awk) to find tokens that look like a hash followed by digits (example: '#123'), then deduplicate and count them.
151
+
152
+ # PowerShell equivalent for PR extraction
153
+ # Use `git log` and `Select-String` with an appropriate pattern to match PR references (e.g., '#123'), extract match values, deduplicate and count unique values.
154
+ ```
155
+
156
+ From Jira data (if available) count types: Bug, Story/Feature, Task and priorities.
157
+
158
+ #### Step 9: Determine Release Date and Version
159
+
160
+ Release date: use the current date or infer from the merge date of the most recent merged PR included in the release.
161
+
162
+ Version bump guidance (automatable but often a manual decision):
163
+ - If commits include new features (stories/features) β†’ minor bump
164
+ - If commits only include bugfixes β†’ patch bump
165
+ - If there are breaking changes (API/DB/contract changes) β†’ major bump
166
+
167
+ If your tags have prefixes (for example `release-stage-v0.0.23`), normalize or strip prefixes when calculating semantic increments, or adopt the repository convention (e.g., maintain `release-stage-` prefix and increment the numeric portion).
168
+
169
+ #### Step 10: Generate Release Notes Document
170
+ Using all the extracted information, generate the release notes following the structure defined in sections below. Fill in all template variables with actual data.
171
+
172
+ ---
173
+
174
+ ### Complete Workflow Summary for AI Agents
175
+
176
+ **Input:** Repository owner, repository name, target branch (optional)
177
+
178
+ **Process:**
179
+ 1. List tags β†’ find LAST_RELEASE_TAG
180
+ 2. Get commits since last tag β†’ extract JIRA keys and PR numbers
181
+ 3. For each JIRA key β†’ fetch issue details from JIRA
182
+ 4. For each Epic β†’ fetch epic details
183
+ 5. Organize issues by Epic and Priority
184
+ 6. Calculate release statistics
185
+ 7. Generate formatted release notes document
186
+
187
+ **Output:** Complete release notes in markdown format
188
+
189
+ **Tools Required:**
190
+ - `mcp_github81_list_tags` - Get repository tags
191
+ - `mcp_github81_list_commits` - Get commits since last release
192
+ - `mcp_github81_list_pull_requests` - Get merged PRs
193
+ - `mcp_mcp-atlassian43_jira_get_issue` - Get JIRA issue details
194
+ - `mcp_mcp-atlassian43_jira_search` - Find related issues
195
+
196
+ ---
197
+
198
+ ## Overview
199
+ This document provides guidelines for generating comprehensive release notes for {PROJECT_NAME} releases. Follow these standards to ensure consistency, accuracy, and completeness across all release documentation.
200
+
201
+ ## Document Structure
202
+
203
+ ### 1. Header Section
204
+ ```markdown
205
+ # Release Notes - {PROJECT_NAME} v{VERSION}
206
+
207
+ **Release Date:** {MONTH DAY, YEAR}
208
+ **Branch:** release/{VERSION}
209
+ **Base Version:** {PREVIOUS_VERSION}
210
+ ```
211
+
212
+ **Guidelines:**
213
+ - Use format "Release Notes - {PROJECT_NAME} v{VERSION}"
214
+ - Release date format: "Month DD, YYYY" (e.g., "October 1, 2025")
215
+ - Branch name must match the actual git branch name
216
+ - Base version is the previous release version
217
+
218
+ ### 2. What's New Section (πŸš€)
219
+ ```markdown
220
+ ## πŸš€ What's New
221
+
222
+ This release focuses on {PRIMARY_FOCUS_AREAS}. The primary changes address {KEY_CHANGES} for better {BENEFITS}.
223
+ ```
224
+
225
+ **Guidelines:**
226
+ - Provide 2-3 sentence executive summary
227
+ - Focus on business value and user impact
228
+ - Mention primary focus areas and key achievements
229
+ - Keep it high-level and accessible to non-technical stakeholders
230
+
231
+ ### 3. Bug Fixes & Features Section (πŸ”§)
232
+
233
+ #### Format for Each Epic:
234
+ ```markdown
235
+ ### 🎯 Epic: [EPIC_KEY] EPIC_TITLE
236
+ *Epic: EPIC_DESCRIPTION*
237
+
238
+ -- JIRA_KEY (link: https://your-jira.atlassian.net/browse/JIRA_KEY) TYPE | PRIORITY: TITLE
239
+ - DESCRIPTION_POINT_1
240
+ - DESCRIPTION_POINT_2
241
+ - DESCRIPTION_POINT_3
242
+ - **Pull Request**: PR PR_NUMBER
243
+ - **Git Author**: AUTHOR_NAME
244
+ - **Assignee**: ASSIGNEE_NAME
245
+ - **Reporter**: REPORTER_NAME
246
+ - **Status**: STATUS
247
+ - **Labels**: LABELS (if applicable)
248
+ ```
249
+
250
+ **Issue Type Icons:**
251
+ - πŸ› **Bug** - Defects and issues
252
+ - πŸ“– **Story** - User stories and features
253
+ - πŸš€ **Feature** - New feature implementations
254
+ - πŸ“‹ **Task** - Technical tasks
255
+
256
+ **Priority Icons:**
257
+ - πŸ”΄ **Critical** - Immediate attention required
258
+ - 🟠 **Major/High** - High priority issues
259
+ - πŸ”΅ **Medium/Normal** - Standard priority
260
+ - 🟑 **Minor** - Low priority enhancements
261
+
262
+ **Status Icons:**
263
+ - βœ… **Done** - Completed and merged
264
+ - πŸ”„ **In Progress** - Actively being worked on
265
+ - πŸ”„ **In Review** - Under code review
266
+ - πŸ”„ **In Testing** - In testing phase
267
+ - ⏸️ **On Hold** - Temporarily paused
268
+ - ❌ **Canceled** - Cancelled or reverted
269
+
270
+ **Guidelines:**
271
+ - Group tickets by Epic for better context
272
+ -- Include full JIRA URL template (plain text): https://your-jira.atlassian.net/browse/JIRA_KEY
273
+ - List all related pull request numbers
274
+ - Always include Git Author, Assignee, and Reporter
275
+ - Use bullet points for detailed descriptions (3-5 points recommended)
276
+ - Order Epics by importance/impact
277
+ - Within each Epic, order by priority (Critical β†’ Major β†’ Normal β†’ Minor)
278
+
279
+ ### 4. Configuration Updates Section (πŸ”„)
280
+
281
+ ```markdown
282
+ ## πŸ”„ Configuration Updates
283
+
284
+ ### {AREA_NAME} Enhancements
285
+ - **{CONFIG_TYPE}**: {DESCRIPTION}
286
+ - **{SETTING}**: {WHAT_CHANGED}
287
+ - **{PARAMETER}**: {NEW_BEHAVIOR}
288
+
289
+ ### {ANOTHER_AREA} Improvements
290
+ - **{FEATURE_FLAG}**: {PURPOSE_AND_IMPACT}
291
+ - **{ENDPOINT}**: {MODIFICATION_DETAILS}
292
+ ```
293
+
294
+ **Guidelines:**
295
+ - Group by functional area (e.g., Click2Pay, Alias Pay, Security)
296
+ - Document any new feature flags or configuration parameters
297
+ - Describe API endpoint changes
298
+ - Note any database schema changes
299
+ - Include environment-specific settings if applicable
300
+
301
+ ### 5. Technical Improvements Section (πŸ› οΈ)
302
+
303
+ ```markdown
304
+ ## πŸ› οΈ Technical Improvements
305
+
306
+ ### Enhanced Error Handling
307
+ - **{SERVICE_NAME}**: {IMPROVEMENT_DESCRIPTION}
308
+ - **{COMPONENT}**: {ENHANCEMENT_DETAILS}
309
+
310
+ ### Code Quality Improvements
311
+ - **Testing**: {TEST_COVERAGE_IMPROVEMENTS}
312
+ - **Logging**: {LOGGING_ENHANCEMENTS}
313
+ - **Architecture**: {STRUCTURAL_IMPROVEMENTS}
314
+
315
+ ### Performance Enhancements
316
+ - **{OPTIMIZATION_AREA}**: {PERFORMANCE_GAIN}
317
+ - **{SYSTEM_COMPONENT}**: {EFFICIENCY_IMPROVEMENT}
318
+ ```
319
+
320
+ **Guidelines:**
321
+ - Focus on technical improvements not visible to end users
322
+ - Include testing, logging, and architecture improvements
323
+ - Mention performance optimizations
324
+ - Document code quality enhancements
325
+ - Describe refactoring efforts
326
+
327
+ ### 6. Statistics Section (πŸ“Š)
328
+
329
+ ```markdown
330
+ ## πŸ“Š Statistics
331
+
332
+ - **Total Commits**: {NUMBER} commits in this release
333
+ - **Pull Requests Merged**: NUMBER (PR range: FIRST_PR - LAST_PR)
334
+ - **Files Modified**: {NUMBER} files
335
+ - **JIRA Tickets**: {NUMBER} tickets resolved
336
+ - **Bug Fixes**: {NUMBER} ({LIST_PRIORITIES})
337
+ - **Feature Enhancements**: {NUMBER} ({BRIEF_DESCRIPTION})
338
+ - **Services Enhanced**: {NUMBER} ({LIST_SERVICES})
339
+ ```
340
+
341
+ **Guidelines:**
342
+ - Provide accurate counts from git analysis
343
+ - List PR number range if there are many PRs
344
+ - Break down tickets by type (bugs vs features)
345
+ - Include priority distribution
346
+ - Mention affected services/components
347
+
348
+ ### 7. Testing Section (πŸ§ͺ)
349
+
350
+ ```markdown
351
+ ## πŸ§ͺ Testing
352
+
353
+ All changes have been thoroughly tested across multiple environments with special focus on:
354
+
355
+ ### Integration Testing
356
+ - {INTEGRATION_TEST_SCENARIO_1}
357
+ - {INTEGRATION_TEST_SCENARIO_2}
358
+ - {INTEGRATION_TEST_SCENARIO_3}
359
+
360
+ ### Error Scenario Testing
361
+ - {ERROR_SCENARIO_1}
362
+ - {ERROR_SCENARIO_2}
363
+ - {ERROR_SCENARIO_3}
364
+ ```
365
+
366
+ **Guidelines:**
367
+ - Document key test scenarios executed
368
+ - Include integration testing details
369
+ - List error scenario testing coverage
370
+ - Mention any new test cases added
371
+ - Note testing environments used
372
+
373
+ ### 8. Security & Compliance Section (πŸ”’)
374
+
375
+ ```markdown
376
+ ## πŸ”’ Security & Compliance
377
+
378
+ ### Enhanced Error Handling
379
+ - {SECURITY_IMPROVEMENT_1}
380
+ - {SECURITY_IMPROVEMENT_2}
381
+
382
+ ### Integration Security
383
+ - {SECURITY_MEASURE_1}
384
+ - {SECURITY_MEASURE_2}
385
+ ```
386
+
387
+ **Guidelines:**
388
+ - Document security enhancements
389
+ - Note compliance-related changes
390
+ - Describe data protection improvements
391
+ - Mention authentication/authorization changes
392
+ - Include audit logging improvements
393
+
394
+ ### 9. Contributors Section (πŸ‘₯)
395
+
396
+ ```markdown
397
+ ## πŸ‘₯ Contributors
398
+
399
+ - {NAME} (Git commits author, {PRIMARY_CONTRIBUTION})
400
+ - {NAME} (JIRA assignee, {PRIMARY_CONTRIBUTION})
401
+ - {NAME} (JIRA reporter, {ROLE_DESCRIPTION})
402
+ - {NAME} (JIRA reporter, {ROLE_DESCRIPTION})
403
+ ```
404
+
405
+ **Guidelines:**
406
+ - List all team members who contributed
407
+ - Include their roles (git author, JIRA assignee, reporter)
408
+ - Add brief description of their primary contribution
409
+ - Maintain alphabetical order or order by contribution level
410
+ - Include both technical and non-technical contributors
411
+
412
+ ### 10. Previous Release Reference (πŸ“‹)
413
+
414
+ ```markdown
415
+ ## πŸ“‹ Previous Release
416
+
417
+ For details about the previous release, see [RELEASE_NOTES_{PREVIOUS_VERSION}.md](./RELEASE_NOTES_{PREVIOUS_VERSION}.md)
418
+ ```
419
+
420
+ **Guidelines:**
421
+ - Always link to the previous release notes
422
+ - Use relative path format
423
+ - Ensure the link is valid
424
+
425
+ ### 11. Next Steps Section (πŸš€)
426
+
427
+ ```markdown
428
+ ## πŸš€ Next Steps
429
+
430
+ This release establishes {FOUNDATION_DESCRIPTION}. Future releases may include:
431
+ - {PLANNED_IMPROVEMENT_1}
432
+ - {PLANNED_IMPROVEMENT_2}
433
+ - {PLANNED_IMPROVEMENT_3}
434
+ - {PLANNED_IMPROVEMENT_4}
435
+ ```
436
+
437
+ **Guidelines:**
438
+ - Describe the foundation this release establishes
439
+ - List 3-5 planned improvements for future releases
440
+ - Focus on natural evolution of current features
441
+ - Mention any ongoing work or dependencies
442
+ - Keep it aspirational but realistic
443
+
444
+ ### 12. Footer
445
+
446
+ ```markdown
447
+ ---
448
+
449
+ For technical support or questions about this release, please contact the {PROJECT_NAME} development team.
450
+ ```
451
+
452
+ ## Data Collection Process
453
+
454
+ ### 1. Git Commit Analysis
455
+
456
+ **Commands to Execute:**
457
+ ```bash
458
+ # Check current branch
459
+ git branch
460
+
461
+ # Get commits since last release
462
+ git log --oneline {LAST_VERSION_TAG}..HEAD
463
+
464
+ # Get detailed commit information
465
+ git log --pretty=format:"%H|%s|%an|%ad" --date=short {LAST_VERSION_TAG}..HEAD
466
+
467
+ # Get file changes for specific commit
468
+ git show --name-only {COMMIT_HASH}
469
+
470
+ # Get commit statistics
471
+ git diff --shortstat {LAST_VERSION_TAG}..HEAD
472
+ ```
473
+
474
+ **Extract from Commits:**
475
+ - Commit hashes (full and short)
476
+ - JIRA ticket numbers from commit messages
477
+ - PR numbers from commit messages
478
+ - Commit authors
479
+ - Commit dates
480
+ - Files modified
481
+
482
+ ### 2. JIRA Integration
483
+
484
+ **Required JIRA Fields to Retrieve:**
485
+ - Issue Key (e.g., BTWDV001-12345)
486
+ - Summary/Title
487
+ - Description
488
+ - Issue Type (Bug, Story, Task, Feature)
489
+ - Priority (Critical, Major, Normal, Minor)
490
+ - Status (Done, In Progress, On Hold, etc.)
491
+ - Assignee
492
+ - Reporter
493
+ - Labels
494
+ - Epic Link
495
+ - Created Date
496
+ - Updated Date
497
+
498
+ **Use JIRA MCP Tool:**
499
+ ```
500
+ f1e_jira_get_issue(issue_key: "{JIRA_KEY}")
501
+ ```
502
+
503
+ ### 3. Epic Organization
504
+
505
+ **Retrieve Epic Information:**
506
+ - Epic Key and Title
507
+ - Epic Description
508
+ - All tickets associated with the Epic
509
+ - Epic status and priority
510
+
511
+ **Guidelines:**
512
+ - Group tickets by their Epic affiliation
513
+ - Create clear Epic section headers
514
+ - Provide Epic context and description
515
+ - Order Epics by business impact
516
+
517
+ ## Quality Checklist
518
+
519
+ ### Before Publishing:
520
+ - [ ] All commit hashes are accurate and verifiable
521
+ - [ ] All JIRA tickets are linked and accessible
522
+ - [ ] All PR numbers are correct
523
+ - [ ] All contributors are credited appropriately
524
+ - [ ] Status icons match actual JIRA status
525
+ - [ ] Priority icons match JIRA priority
526
+ - [ ] Issue type icons match JIRA issue type
527
+ - [ ] Statistics are accurate and complete
528
+ - [ ] Links to previous release notes work
529
+ - [ ] Epic groupings are logical and complete
530
+ - [ ] Descriptions are clear and concise
531
+ - [ ] Technical improvements are documented
532
+ - [ ] Security changes are highlighted
533
+ - [ ] Testing coverage is described
534
+ - [ ] No duplicate information
535
+ - [ ] Consistent formatting throughout
536
+ - [ ] Proper markdown syntax
537
+ - [ ] Grammar and spelling checked
538
+
539
+ ## Common Patterns
540
+
541
+ ### For Bug Fixes:
542
+ ```markdown
543
+ - **[{JIRA_KEY}]({JIRA_URL})** πŸ› **Bug** | {PRIORITY_ICON} **{PRIORITY}**: {TITLE}
544
+ - {ROOT_CAUSE_DESCRIPTION}
545
+ - {SYMPTOMS_ADDRESSED}
546
+ - {SOLUTION_IMPLEMENTED}
547
+ - {IMPACT_ON_USERS}
548
+ - **Pull Request**: PR PR_NUMBER
549
+ - **Git Author**: {AUTHOR}
550
+ - **Assignee**: {ASSIGNEE}
551
+ - **Reporter**: {REPORTER}
552
+ - **Status**: βœ… Done
553
+ ```
554
+
555
+ ### For New Features:
556
+ ```markdown
557
+ - **[{JIRA_KEY}]({JIRA_URL})** πŸ“– **Story** | {PRIORITY_ICON} **{PRIORITY}**: {TITLE}
558
+ - {BUSINESS_VALUE}
559
+ - {FEATURE_DESCRIPTION_1}
560
+ - {FEATURE_DESCRIPTION_2}
561
+ - {USER_BENEFIT}
562
+ - {TECHNICAL_IMPLEMENTATION}
563
+ - **Pull Request**: PR PR_NUMBER
564
+ - **Git Author**: {AUTHOR}
565
+ - **Assignee**: {ASSIGNEE}
566
+ - **Reporter**: {REPORTER}
567
+ - **Status**: βœ… Done
568
+ ```
569
+
570
+ ### For On Hold/Blocked Items:
571
+ ```markdown
572
+ - **[{JIRA_KEY}]({JIRA_URL})** {TYPE_ICON} **{TYPE}** | {PRIORITY_ICON} **{PRIORITY}**: {TITLE}
573
+ - {WORK_COMPLETED}
574
+ - {BLOCKING_REASON}
575
+ - {PENDING_DEPENDENCY}
576
+ - {NEXT_STEPS}
577
+ - **Pull Request**: PR PR_NUMBER
578
+ - **Git Author**: {AUTHOR}
579
+ - **Assignee**: {ASSIGNEE}
580
+ - **Reporter**: {REPORTER}
581
+ - **Status**: ⏸️ On Hold
582
+ ```
583
+
584
+ ## Examples of Well-Written Descriptions
585
+
586
+ ### Good Example - Clear and Detailed:
587
+ ```markdown
588
+ - **[BTWDV001-64607]** πŸ› **Bug** | 🟠 **Major**: Click2Pay enrollment and unenrollment issue resolution
589
+ - Addressed multiple Click2Pay integration issues with VISA services
590
+ - Phone number and email conflicts during enrollment ("already used in other profiles")
591
+ - Timeout issues during unenrollment (15-second timeout exceeded)
592
+ - Status synchronization problems (cards showing as unenrolled after successful enrollment)
593
+ - Enhanced error handling for VISA API responses
594
+ - Improved timeout management for long-running operations
595
+ ```
596
+
597
+ ### Poor Example - Too Vague:
598
+ ```markdown
599
+ - Fixed Click2Pay issues
600
+ - Some problems with VISA
601
+ - Better error handling
602
+ ```
603
+
604
+ ## File Naming Convention
605
+
606
+ - Format: `RELEASE_NOTES_{VERSION}.md`
607
+ - Examples:
608
+ - `RELEASE_NOTES_4.2.0.md`
609
+ - `RELEASE_NOTES_4.2.6.md`
610
+ - `RELEASE_NOTES_5.0.0.md`
611
+
612
+ ## Version Control
613
+
614
+ - Store release notes in repository root directory
615
+ - Commit with message: `docs: Add release notes for version {VERSION}`
616
+ - Tag the release commit: `git tag -a {VERSION} -m "Release {VERSION}"`
617
+
618
+ ## Automation Tips
619
+
620
+ ### Using Git to Extract Information:
621
+ ```bash
622
+ # Extract JIRA ticket numbers from commits
623
+ git log {LAST_TAG}..HEAD --oneline | grep -oE 'BTWDV001-[0-9]+' | sort -u
624
+
625
+ # Get contributor list
626
+ git log {LAST_TAG}..HEAD --format='%an' | sort -u
627
+
628
+ # Count commits
629
+ git rev-list --count {LAST_TAG}..HEAD
630
+
631
+ # Get PR numbers
632
+ git log {LAST_TAG}..HEAD --oneline | grep -oE '#[0-9]+' | sort -u
633
+ ```
634
+
635
+ ### Using JIRA MCP Tools:
636
+ ```javascript
637
+ // Get issue details
638
+ f1e_jira_get_issue(issue_key: "BTWDV001-12345")
639
+
640
+ // Search for issues
641
+ f1e_jira_search(jql: "project = BTWDV001 AND fixVersion = 4.2.6")
642
+
643
+ // Get Epic information
644
+ f1e_jira_get_issue(issue_key: "BTWDV001-12345", fields: "epic")
645
+ ```
646
+
647
+ ## Best Practices
648
+
649
+ 1. **Accuracy First**: Always verify commit hashes, PR numbers, and JIRA ticket information
650
+ 2. **User-Centric**: Write for multiple audiences (developers, QA, product managers, stakeholders)
651
+ 3. **Context Matters**: Provide enough context for someone unfamiliar with the work
652
+ 4. **Be Specific**: Include concrete details, not vague statements
653
+ 5. **Link Everything**: JIRA tickets, PRs, documentation - make it easy to drill down
654
+ 6. **Group Logically**: Use Epics to provide business context
655
+ 7. **Highlight Impact**: Always explain the user/business impact
656
+ 8. **Document Gotchas**: Note any known issues, limitations, or pending work
657
+ 9. **Credit Everyone**: Include all contributors, not just developers
658
+ 10. **Keep Updated**: Update release notes as changes occur, don't wait until the end
659
+
660
+ ## Review Process
661
+
662
+ 1. **Technical Review**: Verify all technical details are accurate
663
+ 2. **Business Review**: Ensure business value is clearly communicated
664
+ 3. **QA Review**: Confirm test coverage is documented
665
+ 4. **Product Review**: Validate feature descriptions and priorities
666
+ 5. **Final Proofread**: Check grammar, spelling, and formatting
667
+
668
+ ## Template Quick Reference
669
+
670
+ Use this minimal template to get started:
671
+
672
+ ```markdown
673
+ # Release Notes - {PROJECT_NAME} v{VERSION}
674
+
675
+ **Release Date:** {DATE}
676
+ **Branch:** release/{VERSION}
677
+ **Base Version:** {PREVIOUS_VERSION}
678
+
679
+ ## πŸš€ What's New
680
+
681
+ {EXECUTIVE_SUMMARY}
682
+
683
+ ## πŸ”§ Bug Fixes & Features
684
+
685
+ ### 🎯 Epic: [{EPIC_KEY}] {EPIC_TITLE}
686
+
687
+ - **[{JIRA_KEY}]({URL})** {TYPE_ICON} **{TYPE}** | {PRIORITY_ICON} **{PRIORITY}**: {TITLE}
688
+ - {DESCRIPTION}
689
+ - **Pull Request**: PR PR_NUMBER
690
+ - **Git Author**: {AUTHOR}
691
+ - **Assignee**: {ASSIGNEE}
692
+ - **Reporter**: {REPORTER}
693
+ - **Status**: {STATUS}
694
+
695
+ ## πŸ”„ Configuration Updates
696
+ ## πŸ› οΈ Technical Improvements
697
+ ## πŸ“Š Statistics
698
+ ## πŸ§ͺ Testing
699
+ ## πŸ”’ Security & Compliance
700
+ ## πŸ‘₯ Contributors
701
+ ## πŸ“‹ Previous Release
702
+ ## πŸš€ Next Steps
703
+
704
+ ---
705
+
706
+ For technical support or questions about this release, please contact the {PROJECT_NAME} development team.
707
+ ```
708
+
709
+ ## Troubleshooting
710
+
711
+ ### Missing Information:
712
+ - **No Epic Link**: Place ticket in a general "Technical Improvements" or "Bug Fixes" section
713
+ - **No PR Number**: Check commit messages and git history
714
+ - **No JIRA Ticket**: Document based on commit message information
715
+ - **Conflicting Information**: Verify with git log and JIRA, prefer JIRA as source of truth
716
+
717
+ ### Common Issues:
718
+ - **Duplicate Tickets**: Check if ticket appears in multiple commits, document only once
719
+ - **Reverted Changes**: Mark clearly with ❌ status and explain why
720
+ - **Partial Implementations**: Use πŸ”„ In Progress status and note what remains
721
+ - **External Dependencies**: Document in "On Hold" section with clear explanation
722
+
723
+ ---