metacoding 1.5.0 → 2.0.1
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/CHANGELOG.md +59 -0
- package/README.md +108 -514
- package/lib/cli.d.ts.map +1 -1
- package/lib/cli.js +18 -19
- package/lib/cli.js.map +1 -1
- package/lib/commands/init.d.ts +8 -14
- package/lib/commands/init.d.ts.map +1 -1
- package/lib/commands/init.js +105 -387
- package/lib/commands/init.js.map +1 -1
- package/lib/commands/update.d.ts +9 -9
- package/lib/commands/update.d.ts.map +1 -1
- package/lib/commands/update.js +141 -320
- package/lib/commands/update.js.map +1 -1
- package/lib/services/backup.d.ts +1 -1
- package/lib/services/backup.d.ts.map +1 -1
- package/lib/services/backup.js +10 -6
- package/lib/services/backup.js.map +1 -1
- package/lib/services/filesystem.d.ts.map +1 -1
- package/lib/services/filesystem.js +11 -5
- package/lib/services/filesystem.js.map +1 -1
- package/lib/services/gitignore-manager.js +5 -5
- package/lib/services/gitignore-manager.js.map +1 -1
- package/lib/services/project-detector.d.ts +9 -8
- package/lib/services/project-detector.d.ts.map +1 -1
- package/lib/services/project-detector.js +79 -197
- package/lib/services/project-detector.js.map +1 -1
- package/lib/services/skill-manager.d.ts +23 -0
- package/lib/services/skill-manager.d.ts.map +1 -0
- package/lib/services/skill-manager.js +212 -0
- package/lib/services/skill-manager.js.map +1 -0
- package/lib/types/index.d.ts +5 -15
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +9 -17
- package/skills/metacoding-workflow/SKILL.md +52 -0
- package/skills/metacoding-workflow/agents/openai.yaml +4 -0
- package/skills/metacoding-workflow/assets/templates/changelog-entry.md +6 -0
- package/skills/metacoding-workflow/assets/templates/project-context.md +18 -0
- package/skills/metacoding-workflow/assets/templates/repeated-task-checklist.md +8 -0
- package/skills/metacoding-workflow/assets/templates/task-entry.md +9 -0
- package/skills/metacoding-workflow/assets/templates/test-plan.md +8 -0
- package/skills/metacoding-workflow/references/javascript.md +7 -0
- package/skills/metacoding-workflow/references/node.md +7 -0
- package/skills/metacoding-workflow/references/platform-adaptation.md +37 -0
- package/skills/metacoding-workflow/references/python.md +7 -0
- package/skills/metacoding-workflow/references/react.md +7 -0
- package/skills/metacoding-workflow/references/repository-organization.md +84 -0
- package/skills/metacoding-workflow/references/typescript.md +7 -0
- package/skills/metacoding-workflow/references/workflow-rules.md +54 -0
- package/skills/vendor-templates/claude-agent.md.template +41 -0
- package/lib/services/assistant-adapter.d.ts +0 -18
- package/lib/services/assistant-adapter.d.ts.map +0 -1
- package/lib/services/assistant-adapter.js +0 -246
- package/lib/services/assistant-adapter.js.map +0 -1
- package/lib/services/cursor.d.ts +0 -47
- package/lib/services/cursor.d.ts.map +0 -1
- package/lib/services/cursor.js +0 -314
- package/lib/services/cursor.js.map +0 -1
- package/lib/services/template-manager.d.ts +0 -23
- package/lib/services/template-manager.d.ts.map +0 -1
- package/lib/services/template-manager.js +0 -374
- package/lib/services/template-manager.js.map +0 -1
- package/lib/services/vscode.d.ts +0 -10
- package/lib/services/vscode.d.ts.map +0 -1
- package/lib/services/vscode.js +0 -108
- package/lib/services/vscode.js.map +0 -1
- package/templates/assistants/AGENTS.md +0 -203
- package/templates/assistants/CLAUDE.md +0 -156
- package/templates/assistants/GEMINI.md +0 -193
- package/templates/general/code-review.instructions.md +0 -265
- package/templates/general/copilot-instructions.md +0 -427
- package/templates/general/docs-update.instructions.md +0 -275
- package/templates/general/release.instructions.md +0 -242
- package/templates/general/template.json +0 -9
- package/templates/general/test-runner.instructions.md +0 -188
- package/templates/javascript/javascript.coding.instructions.md +0 -500
- package/templates/javascript/javascript.docs.instructions.md +0 -563
- package/templates/javascript/javascript.testing.instructions.md +0 -686
- package/templates/javascript/template.json +0 -36
- package/templates/node/nodejs.coding.instructions.md +0 -249
- package/templates/node/nodejs.docs.instructions.md +0 -261
- package/templates/node/nodejs.testing.instructions.md +0 -373
- package/templates/node/template.json +0 -23
- package/templates/python/python.coding.instructions.md +0 -338
- package/templates/python/python.docs.instructions.md +0 -1178
- package/templates/python/python.testing.instructions.md +0 -1073
- package/templates/python/template.json +0 -75
- package/templates/react/react.coding.instructions.md +0 -694
- package/templates/react/react.docs.instructions.md +0 -451
- package/templates/react/react.testing.instructions.md +0 -192
- package/templates/react/template.json +0 -14
- package/templates/react/test-runner.instructions.md +0 -135
- package/templates/typescript/template.json +0 -16
- package/templates/typescript/typescript.coding.instructions.md +0 -368
- package/templates/typescript/typescript.docs.instructions.md +0 -760
- package/templates/typescript/typescript.testing.instructions.md +0 -739
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: 'Universal documentation maintenance guidelines for all project types'
|
|
3
|
-
applyTo: '**/*.md'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Universal Documentation Maintenance Guidelines
|
|
7
|
-
|
|
8
|
-
## Documentation Architecture Principles
|
|
9
|
-
|
|
10
|
-
This project enforces a strict distinction between different types of documentation to ensure clarity, maintainability, and appropriate use of status indicators across all project types.
|
|
11
|
-
|
|
12
|
-
### System Documentation (Evergreen, Factual)
|
|
13
|
-
|
|
14
|
-
**Purpose:** Describes the current state of the system, architecture, and implemented features.
|
|
15
|
-
**Files:** README.md, architecture.md, api-design.md, system-documentation.md, code documentation
|
|
16
|
-
**Language:** Present tense, factual, descriptive
|
|
17
|
-
**Status Indicators:** ❌ **NEVER use status emojis or temporal language**
|
|
18
|
-
**Content Focus:** What exists now, how it works, what it does
|
|
19
|
-
**Examples:**
|
|
20
|
-
|
|
21
|
-
- ✅ Correct: "The authentication system uses JWT tokens"
|
|
22
|
-
- ❌ Incorrect: "🚧 Authentication system (in progress)"
|
|
23
|
-
- ✅ Correct: "The API supports the following endpoints:"
|
|
24
|
-
- ❌ Incorrect: "📋 Planned API endpoints:"
|
|
25
|
-
|
|
26
|
-
### Project Management Documentation (Temporal, Status-Oriented)
|
|
27
|
-
|
|
28
|
-
**Purpose:** Tracks work progress, planning, and execution status.
|
|
29
|
-
**Files:** project-task-list.md, sprint-planning.md, backlog.md
|
|
30
|
-
**Language:** Status-oriented, temporal references allowed
|
|
31
|
-
**Status Indicators:** ✅ **Required - use emojis and progress indicators**
|
|
32
|
-
**Content Focus:** What needs to be done, work progress, planning
|
|
33
|
-
**Examples:**
|
|
34
|
-
|
|
35
|
-
- ✅ Correct: "🚧 In Progress - Authentication system implementation"
|
|
36
|
-
- ✅ Correct: "✅ Completed - JWT token validation"
|
|
37
|
-
- ✅ Correct: "📋 Backlog - Add OAuth integration"
|
|
38
|
-
|
|
39
|
-
### User Documentation (Instructional, Current)
|
|
40
|
-
|
|
41
|
-
**Purpose:** Helps users understand how to use the system.
|
|
42
|
-
**Files:** Installation guides, usage examples, tutorials
|
|
43
|
-
**Language:** Imperative, instructional, present tense
|
|
44
|
-
**Status Indicators:** ⚠️ **Use sparingly** - only for actual user-facing feature status
|
|
45
|
-
**Content Focus:** How to use, what users can do, step-by-step guidance
|
|
46
|
-
|
|
47
|
-
### Enforcement Rules
|
|
48
|
-
|
|
49
|
-
1. **No Status Emojis in System Documentation:** Architecture, API docs, and README feature descriptions must be purely factual
|
|
50
|
-
2. **No Temporal Language in System Documentation:** Avoid "currently", "recently", "planned", "upcoming" in system docs
|
|
51
|
-
3. **Status Indicators Required in Project Management:** All task lists and project planning docs must use clear status indicators
|
|
52
|
-
4. **Regular Documentation Audits:** Review and remove status language that has crept into system documentation
|
|
53
|
-
5. **Template Compliance:** All generated documentation must follow these principles
|
|
54
|
-
|
|
55
|
-
## Documentation Quality Standards
|
|
56
|
-
|
|
57
|
-
- **Clarity:** Write clear, concise explanations appropriate for the target audience
|
|
58
|
-
- **Completeness:** Ensure documentation covers all necessary aspects of the project
|
|
59
|
-
- **Accuracy:** Verify all information is current and correct
|
|
60
|
-
- **Consistency:** Maintain consistent tone and formatting across all documentation
|
|
61
|
-
- **Accessibility:** Use clear language and proper formatting for accessibility
|
|
62
|
-
- **Architecture Compliance:** Follow the system vs project documentation distinction
|
|
63
|
-
|
|
64
|
-
## Repeated Documentation Tasks and Checklist Templates
|
|
65
|
-
|
|
66
|
-
For any recurring documentation process (such as release documentation, API documentation updates, documentation reviews, or similar workflows), always use a dedicated checklist template to ensure all necessary steps are followed and nothing is missed.
|
|
67
|
-
|
|
68
|
-
- **Documentation Checklist Template Principle:**
|
|
69
|
-
- Maintain a template checklist file for each repeated documentation process (e.g., `release-documentation-checklist.md`, `api-docs-update-checklist.md`).
|
|
70
|
-
- For each new instance (e.g., each release or major update), copy the template checklist and tag it with the relevant version or context, preserving the original template for future use.
|
|
71
|
-
- Systematically work through the checklist for every instance of the repeated documentation task, marking each step as completed.
|
|
72
|
-
- Proactively identify any documentation process that would benefit from a checklist and prompt the user to use or create one if it does not exist.
|
|
73
|
-
- If, during execution, you or the user identify missing or unclear documentation steps, update the template checklist to improve future reliability.
|
|
74
|
-
|
|
75
|
-
**Examples of repeated documentation tasks requiring checklists:**
|
|
76
|
-
|
|
77
|
-
- Release documentation (README updates, CHANGELOG maintenance, version synchronization)
|
|
78
|
-
- API documentation updates (endpoint changes, parameter updates, example verification)
|
|
79
|
-
- Documentation reviews and audits (link checking, content verification, accessibility checks)
|
|
80
|
-
- Migration documentation (breaking changes, upgrade guides, compatibility notes)
|
|
81
|
-
- Onboarding documentation updates
|
|
82
|
-
- Any other documentation process with multiple required steps or risk of omission
|
|
83
|
-
|
|
84
|
-
**Agent Guidance for Documentation Tasks:**
|
|
85
|
-
|
|
86
|
-
- Always check for the existence of a documentation checklist template before starting a repeated documentation task.
|
|
87
|
-
- If a template does not exist, prompt the user to create one and assist in drafting it.
|
|
88
|
-
- When using a documentation checklist, copy it for the specific instance (e.g., `release-docs-v1.5.0.md`), and work through each step systematically.
|
|
89
|
-
- If new documentation steps are discovered or improvements are needed, update the template and inform the user.
|
|
90
|
-
|
|
91
|
-
## Status Indication Guidelines (For Project Management Documentation Only)
|
|
92
|
-
|
|
93
|
-
**⚠️ IMPORTANT: These guidelines apply ONLY to project management documentation (task lists, planning docs). System documentation (README, architecture, API docs) must NEVER use status indicators.**
|
|
94
|
-
|
|
95
|
-
- **Use checkboxes for task status:** `- [ ]` for incomplete, `- [x]` for complete
|
|
96
|
-
- **Use clear status indicators in project management docs:**
|
|
97
|
-
- ✅ Complete/Implemented
|
|
98
|
-
- 🚧 In Progress
|
|
99
|
-
- ❌ Not Started
|
|
100
|
-
- ⚠️ Needs Review
|
|
101
|
-
- 🔄 Under Revision
|
|
102
|
-
- **Examples of correct project management documentation:**
|
|
103
|
-
- ✅ Good: "🚧 In Progress - User authentication implementation"
|
|
104
|
-
- ✅ Good: "Development Status" with current checkboxes
|
|
105
|
-
- ✅ Good: "✅ Completed - API endpoint testing"
|
|
106
|
-
|
|
107
|
-
## Task Management Documentation Guidelines
|
|
108
|
-
|
|
109
|
-
- **Focus on current state:** Document what needs to be done, not what was recently done
|
|
110
|
-
- **Use project phases:** Organize by logical project phases or milestones, not completion status
|
|
111
|
-
- **Move completed work to changelog:** Record completed work in CHANGELOG.md, not in task lists
|
|
112
|
-
- **Keep task lists current:** Update completed items with current status instead of maintaining "completed" sections
|
|
113
|
-
- **Use descriptive section names:** Use functional names like "Core Features", "Infrastructure", "Testing" instead of "Completed Tasks"
|
|
114
|
-
- **Avoid temporal references:** Don't use "Recent", "Latest", "Upcoming" in section headers - they become outdated quickly
|
|
115
|
-
|
|
116
|
-
### Task ID Naming Convention
|
|
117
|
-
|
|
118
|
-
Follow the standardized task naming format for all project management documentation:
|
|
119
|
-
|
|
120
|
-
#### Required Task Format
|
|
121
|
-
|
|
122
|
-
```markdown
|
|
123
|
-
- [ ] **[AREA]-TASK-001: Task title** - ❌ **NOT STARTED**
|
|
124
|
-
- Detailed task description and requirements
|
|
125
|
-
- Implementation steps and acceptance criteria
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
#### Task ID Conventions
|
|
129
|
-
|
|
130
|
-
- **Format:** `[AREA]-TASK-[NUMBER]`
|
|
131
|
-
- **Area Prefixes:** Adapt to your project (CORE, API, UI, DB, AUTH, UTIL, CONFIG, DOC, CLI, TMPL, etc.)
|
|
132
|
-
- **Task Type:** Always use "TASK" for consistency
|
|
133
|
-
- **Sequential Numbering:** 001, 002, 003, etc. within each area
|
|
134
|
-
- **Examples:**
|
|
135
|
-
- `CLI-TASK-001: Implement validate command`
|
|
136
|
-
- `API-TASK-002: Add authentication middleware`
|
|
137
|
-
- `DOC-TASK-003: Update README installation guide`
|
|
138
|
-
- `TMPL-TASK-004: Create Python project template`
|
|
139
|
-
|
|
140
|
-
#### Task Organization Requirements
|
|
141
|
-
|
|
142
|
-
- **Functional Grouping:** Group tasks by system area/component
|
|
143
|
-
- **Clear Descriptions:** Provide specific, actionable task descriptions
|
|
144
|
-
- **Status Tracking:** Use standard status indicators (❌ NOT STARTED, 🚧 IN PROGRESS, ✅ COMPLETED)
|
|
145
|
-
- **Acceptance Criteria:** Include clear completion criteria in task details
|
|
146
|
-
- **Dependencies:** Note task dependencies and prerequisites when relevant
|
|
147
|
-
|
|
148
|
-
## README.md Standards (System Documentation)
|
|
149
|
-
|
|
150
|
-
**⚠️ README.md is system documentation - NO status indicators or temporal language allowed**
|
|
151
|
-
|
|
152
|
-
- **Project Overview:** Keep description current with latest capabilities using factual, present-tense language
|
|
153
|
-
- **Installation Instructions:** Verify and update installation steps with clear, current procedures
|
|
154
|
-
- **Usage Examples:** Ensure all code examples are tested and working, describe what they do
|
|
155
|
-
- **Feature Documentation:** Document all major features with examples using factual descriptions
|
|
156
|
-
- **Version Badges:** Keep version badges synchronized with package.json (or equivalent for other languages)
|
|
157
|
-
- **Links Verification:** Regularly check that all links work correctly
|
|
158
|
-
- **Screenshots/GIFs:** Update visual documentation when UI changes
|
|
159
|
-
- **Avoid Status Language:** Never use "planned", "upcoming", "in progress", or status emojis
|
|
160
|
-
- **Examples:**
|
|
161
|
-
- ✅ Correct: "The CLI provides three commands for project setup"
|
|
162
|
-
- ❌ Incorrect: "🚧 CLI commands (in development)"
|
|
163
|
-
- ✅ Correct: "Authentication uses JWT tokens with refresh capability"
|
|
164
|
-
- ❌ Incorrect: "Authentication system (planned for v2.0)"
|
|
165
|
-
|
|
166
|
-
## CHANGELOG.md Maintenance
|
|
167
|
-
|
|
168
|
-
- **User-Facing Changes:** Document all changes that affect users
|
|
169
|
-
- **Consistent Format:** Follow established changelog format (Keep a Changelog standard)
|
|
170
|
-
- **Categorization:** Group changes appropriately (Added, Changed, Fixed, Security, etc.)
|
|
171
|
-
- **Breaking Changes:** Clearly mark breaking changes
|
|
172
|
-
- **Migration Guides:** Provide migration guidance for breaking changes
|
|
173
|
-
- **Version Dating:** Include release dates in consistent format (YYYY-MM-DD)
|
|
174
|
-
|
|
175
|
-
## Code Documentation Standards
|
|
176
|
-
|
|
177
|
-
Refer to language-specific coding instruction files for detailed code documentation standards:
|
|
178
|
-
|
|
179
|
-
- **TypeScript/Node.js:** See `typescript.coding.instructions.md` for JSDoc standards
|
|
180
|
-
- **Python:** See `python.coding.instructions.md` for docstring standards
|
|
181
|
-
- **React/Frontend:** See `react.coding.instructions.md` for component documentation
|
|
182
|
-
|
|
183
|
-
### Universal Code Documentation Principles
|
|
184
|
-
|
|
185
|
-
- **Public APIs:** Always document public interfaces with appropriate documentation format
|
|
186
|
-
- **Complex Logic:** Add comments for complex algorithms or business logic
|
|
187
|
-
- **Function Documentation:** Document parameters, return values, and side effects
|
|
188
|
-
- **Error Conditions:** Document when and why functions might fail
|
|
189
|
-
- **Usage Examples:** Provide examples for non-trivial usage patterns
|
|
190
|
-
|
|
191
|
-
## API Documentation
|
|
192
|
-
|
|
193
|
-
- **Endpoint Documentation:** Keep API endpoint documentation current with implementation
|
|
194
|
-
- **Parameter Changes:** Update parameter descriptions for any modifications
|
|
195
|
-
- **Response Examples:** Provide realistic response examples
|
|
196
|
-
- **Error Handling:** Document error responses and status codes
|
|
197
|
-
- **Authentication:** Keep authentication documentation accurate
|
|
198
|
-
- **Versioning:** Document API versioning strategy and compatibility
|
|
199
|
-
|
|
200
|
-
## Architectural Documentation (System Documentation)
|
|
201
|
-
|
|
202
|
-
**⚠️ Architecture docs are system documentation - NO status indicators or temporal language allowed**
|
|
203
|
-
|
|
204
|
-
- **Decision Records:** Record significant architectural decisions in `/_meta` folder using factual language
|
|
205
|
-
- **System Overview:** Maintain high-level system architecture documentation describing current implementation
|
|
206
|
-
- **Data Flow:** Document data flow and process workflows as they currently exist
|
|
207
|
-
- **Integration Points:** Document external system integrations that are implemented
|
|
208
|
-
- **Performance Considerations:** Document performance implications of current design decisions
|
|
209
|
-
- **Examples:**
|
|
210
|
-
- ✅ Correct: "The system uses a microservices architecture with three main services"
|
|
211
|
-
- ❌ Incorrect: "🏗️ Microservices architecture (under development)"
|
|
212
|
-
- ✅ Correct: "Data flows through the validation layer before storage"
|
|
213
|
-
- ❌ Incorrect: "Data validation layer (planned implementation)"
|
|
214
|
-
|
|
215
|
-
## Code Examples and Tutorials
|
|
216
|
-
|
|
217
|
-
- **Working Examples:** Ensure all code examples compile and run in the target language
|
|
218
|
-
- **Complete Examples:** Provide complete, runnable examples when possible
|
|
219
|
-
- **Progressive Complexity:** Start with simple examples, build to complex ones
|
|
220
|
-
- **Error Handling:** Show proper error handling patterns for the language
|
|
221
|
-
- **Best Practices:** Demonstrate best practices in example code
|
|
222
|
-
- **Language Appropriateness:** Use idiomatic patterns for each language
|
|
223
|
-
|
|
224
|
-
## Test Documentation Standards
|
|
225
|
-
|
|
226
|
-
Follow the standardized table format for all test case documentation across all project types:
|
|
227
|
-
|
|
228
|
-
### Required Table Format
|
|
229
|
-
|
|
230
|
-
```markdown
|
|
231
|
-
| Test Case ID | Description | Type | Status |
|
|
232
|
-
| :------------ | :------------------------------------------ | :--- | :-------- |
|
|
233
|
-
| AREA-TYPE-001 | Brief but descriptive test case description | Unit | Completed |
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
### Test Case ID Conventions
|
|
237
|
-
|
|
238
|
-
- **Format:** `[AREA]-[TYPE]-[NUMBER]`
|
|
239
|
-
- **Area Prefixes:** Adapt to your project (CORE, API, UI, DB, AUTH, UTIL, CONFIG, DOC, etc.)
|
|
240
|
-
- **Type Suffixes:** UNIT, INT, E2E
|
|
241
|
-
- **Sequential Numbering:** 001, 002, 003, etc.
|
|
242
|
-
|
|
243
|
-
### Table Organization Requirements
|
|
244
|
-
|
|
245
|
-
- **Functional Grouping:** Group test cases by system area/component
|
|
246
|
-
- **Consistent Formatting:** Maintain proper column alignment using pipes
|
|
247
|
-
- **Clear Headers:** Use descriptive section headers for test groups
|
|
248
|
-
- **Status Tracking:** Use simple status values: "Completed", "In Progress", "Not Started"
|
|
249
|
-
- **Descriptive Test Cases:** Provide clear, concise descriptions for each test case
|
|
250
|
-
- **Text only** Don't use emojis or bold text in the table - keep it simple and readable
|
|
251
|
-
|
|
252
|
-
## Documentation Testing
|
|
253
|
-
|
|
254
|
-
- **Link Checking:** Regularly verify all links work across all documentation
|
|
255
|
-
- **Code Testing:** Test all code examples in documentation using appropriate tools
|
|
256
|
-
- **Installation Testing:** Verify installation instructions work in clean environment
|
|
257
|
-
- **User Testing:** Occasionally have someone unfamiliar try following documentation
|
|
258
|
-
- **Cross-Platform Testing:** Verify instructions work across supported platforms
|
|
259
|
-
|
|
260
|
-
## Maintenance Schedule
|
|
261
|
-
|
|
262
|
-
- **Regular Review:** Schedule regular documentation review cycles
|
|
263
|
-
- **Release Updates:** Update documentation as part of release process
|
|
264
|
-
- **Issue Tracking:** Track documentation issues and improvements
|
|
265
|
-
- **Community Feedback:** Incorporate user feedback on documentation clarity
|
|
266
|
-
- **Automated Checks:** Use automated tools to check for broken links and outdated content
|
|
267
|
-
|
|
268
|
-
## Localization and Accessibility
|
|
269
|
-
|
|
270
|
-
- **Clear Language:** Use clear, simple language for international audiences
|
|
271
|
-
- **Cultural Sensitivity:** Avoid culture-specific references
|
|
272
|
-
- **Technical Terms:** Define technical terms when first introduced
|
|
273
|
-
- **Consistent Terminology:** Use consistent terminology throughout all documentation
|
|
274
|
-
- **Screen Reader Compatibility:** Ensure proper heading hierarchy and alt text
|
|
275
|
-
- **High Contrast:** Use sufficient color contrast for accessibility
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: 'Universal release process for all project types'
|
|
3
|
-
applyTo: 'package.json,setup.py,pyproject.toml,Cargo.toml'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Universal Release Process Guidelines
|
|
7
|
-
|
|
8
|
-
## Pre-Release Validation
|
|
9
|
-
|
|
10
|
-
### Code Quality Verification
|
|
11
|
-
|
|
12
|
-
1. **Test Suite:** Verify all tests pass using project-appropriate test runner
|
|
13
|
-
2. **Build Verification:** Ensure clean build without errors using project build system
|
|
14
|
-
3. **Linting:** Check code quality standards using project linter configuration
|
|
15
|
-
4. **Dependencies:** Review and update dependencies if needed
|
|
16
|
-
5. **Security Audit:** Run security audit using language-appropriate tools
|
|
17
|
-
|
|
18
|
-
### Language-Specific Pre-Release Steps
|
|
19
|
-
|
|
20
|
-
For detailed language-specific release steps, refer to:
|
|
21
|
-
|
|
22
|
-
- **TypeScript/Node.js:** `npm test`, `npm run build`, `npm audit`
|
|
23
|
-
- **Python:** `pytest`, `python -m build`, `pip-audit` or `safety check`
|
|
24
|
-
- **React/Frontend:** `npm test`, `npm run build`, `npm run lint`
|
|
25
|
-
|
|
26
|
-
## Version Management
|
|
27
|
-
|
|
28
|
-
### Semantic Versioning
|
|
29
|
-
|
|
30
|
-
Follow SemVer (Semantic Versioning) principles across all project types:
|
|
31
|
-
|
|
32
|
-
- **MAJOR (X.0.0):** Breaking changes that require user action
|
|
33
|
-
- **MINOR (0.X.0):** New features that are backward compatible
|
|
34
|
-
- **PATCH (0.0.X):** Bug fixes that are backward compatible
|
|
35
|
-
|
|
36
|
-
### Version Consistency
|
|
37
|
-
|
|
38
|
-
1. **Primary Version File:** Update version in main project file:
|
|
39
|
-
- Node.js: `package.json`
|
|
40
|
-
- Python: `setup.py`, `pyproject.toml`, or `__version__.py`
|
|
41
|
-
- Rust: `Cargo.toml`
|
|
42
|
-
- Other languages: Follow language conventions
|
|
43
|
-
2. **Cross-File Consistency:** Ensure version matches across all relevant files
|
|
44
|
-
3. **Breaking Changes:** Document breaking changes prominently in changelog
|
|
45
|
-
|
|
46
|
-
## Documentation Updates
|
|
47
|
-
|
|
48
|
-
### README.md Updates
|
|
49
|
-
|
|
50
|
-
1. **Version Badges:** Update version badges to match project version
|
|
51
|
-
2. **Installation Instructions:** Refresh installation instructions if needed
|
|
52
|
-
3. **Feature Descriptions:** Update feature descriptions for new capabilities
|
|
53
|
-
4. **Link Verification:** Verify all links and examples work correctly
|
|
54
|
-
5. **Language-Specific Updates:** Update language-specific installation commands
|
|
55
|
-
|
|
56
|
-
### API Documentation
|
|
57
|
-
|
|
58
|
-
- **Interface Changes:** Update API documentation for any interface changes
|
|
59
|
-
- **Compatibility Notes:** Document backward compatibility information
|
|
60
|
-
- **Migration Guides:** Provide migration guidance for breaking changes
|
|
61
|
-
|
|
62
|
-
## Changelog Management
|
|
63
|
-
|
|
64
|
-
### Entry Structure
|
|
65
|
-
|
|
66
|
-
Create new section in CHANGELOG.md with:
|
|
67
|
-
|
|
68
|
-
1. **Release Header:** Version number matching project version file
|
|
69
|
-
2. **Release Date:** Date in YYYY-MM-DD format
|
|
70
|
-
3. **Grouped Changes:** Organize by standard categories:
|
|
71
|
-
- **Added:** New features
|
|
72
|
-
- **Changed:** Changes in existing functionality
|
|
73
|
-
- **Deprecated:** Soon-to-be removed features
|
|
74
|
-
- **Removed:** Now removed features
|
|
75
|
-
- **Fixed:** Bug fixes
|
|
76
|
-
- **Security:** Security vulnerability fixes
|
|
77
|
-
|
|
78
|
-
### Entry Guidelines
|
|
79
|
-
|
|
80
|
-
- **User Impact Focus:** Write from user perspective, not technical implementation
|
|
81
|
-
- **Descriptive but Brief:** 1-2 lines per change explaining user impact
|
|
82
|
-
- **Issue References:** Include issue/PR numbers when applicable: `(#123)`
|
|
83
|
-
- **Breaking Changes:** Highlight with ⚠️ or **BREAKING:** prefix
|
|
84
|
-
- **Migration Information:** Include migration steps for breaking changes
|
|
85
|
-
|
|
86
|
-
## Git Operations
|
|
87
|
-
|
|
88
|
-
### Commit and Tagging
|
|
89
|
-
|
|
90
|
-
1. **Stage Changes:** Add all release-related changes (version files, changelog, docs)
|
|
91
|
-
2. **Commit Message:** Use consistent format: `chore: bump version to vX.Y.Z`
|
|
92
|
-
3. **Create Tag:** Tag the commit with version:
|
|
93
|
-
- Git: `git tag vX.Y.Z`
|
|
94
|
-
- Follow project conventions for tag naming
|
|
95
|
-
4. **Push Changes:** Push commits and tags: `git push && git push --tags`
|
|
96
|
-
|
|
97
|
-
### Branch Management
|
|
98
|
-
|
|
99
|
-
- **Release Branches:** Use release branches for complex release processes
|
|
100
|
-
- **Hotfix Handling:** Follow established branching strategy for hotfixes
|
|
101
|
-
- **Merge Strategy:** Use consistent merge strategy (merge commits vs. squash)
|
|
102
|
-
|
|
103
|
-
## Platform-Specific Release Steps
|
|
104
|
-
|
|
105
|
-
### Package Registry Publishing
|
|
106
|
-
|
|
107
|
-
**Node.js/npm:**
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
npm publish
|
|
111
|
-
# Or for scoped packages: npm publish --access public
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
**Python/PyPI:**
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
python -m build
|
|
118
|
-
twine upload dist/*
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**GitHub Releases:**
|
|
122
|
-
|
|
123
|
-
1. **Create Release:** Create GitHub release with tag matching project version
|
|
124
|
-
2. **Release Title:** Use format: `vX.Y.Z - [Brief description]`
|
|
125
|
-
3. **Release Notes:** Copy relevant sections from CHANGELOG.md
|
|
126
|
-
4. **Asset Uploads:** Include built artifacts if applicable
|
|
127
|
-
|
|
128
|
-
### Registry-Specific Considerations
|
|
129
|
-
|
|
130
|
-
- **Package Validation:** Verify package content before publishing
|
|
131
|
-
- **Permissions:** Ensure proper publishing permissions are configured
|
|
132
|
-
- **Registry Status:** Check target registry availability before publishing
|
|
133
|
-
|
|
134
|
-
## Post-Release Verification
|
|
135
|
-
|
|
136
|
-
### Publication Verification
|
|
137
|
-
|
|
138
|
-
1. **Registry Confirmation:** Verify package published correctly to target registry
|
|
139
|
-
2. **Installation Test:** Test installation from registry in clean environment
|
|
140
|
-
3. **Version Verification:** Confirm published version matches expected version
|
|
141
|
-
4. **Metadata Check:** Verify package metadata is correct
|
|
142
|
-
|
|
143
|
-
### Documentation and Communication
|
|
144
|
-
|
|
145
|
-
1. **Documentation Links:** Ensure all documentation links work correctly
|
|
146
|
-
2. **Update Notifications:** Notify relevant stakeholders of release
|
|
147
|
-
3. **Community Communication:** Post to relevant community channels if applicable
|
|
148
|
-
4. **Monitor Issues:** Watch for immediate issues reported by users
|
|
149
|
-
|
|
150
|
-
## Release Monitoring
|
|
151
|
-
|
|
152
|
-
### Immediate Post-Release
|
|
153
|
-
|
|
154
|
-
- **Download/Install Metrics:** Monitor initial adoption metrics
|
|
155
|
-
- **Error Monitoring:** Watch for error reports from new version
|
|
156
|
-
- **User Feedback:** Monitor support channels for user feedback
|
|
157
|
-
- **Dependency Issues:** Watch for reports of dependency conflicts
|
|
158
|
-
|
|
159
|
-
### Issue Response
|
|
160
|
-
|
|
161
|
-
- **Rapid Response:** Establish process for rapid response to critical issues
|
|
162
|
-
- **Hotfix Process:** Have clear process for emergency hotfixes
|
|
163
|
-
- **Communication Plan:** Prepare communication strategy for critical issues
|
|
164
|
-
- **Rollback Preparedness:** Know how to rollback if necessary
|
|
165
|
-
|
|
166
|
-
## Rollback and Emergency Procedures
|
|
167
|
-
|
|
168
|
-
### Rollback Planning
|
|
169
|
-
|
|
170
|
-
- **Git Revert:** Know how to revert problematic releases
|
|
171
|
-
- **Registry Management:** Understand registry policies for unpublishing
|
|
172
|
-
- **User Communication:** Prepare communication strategy for rollbacks
|
|
173
|
-
- **Data Migration:** Plan for any data migration rollbacks if applicable
|
|
174
|
-
|
|
175
|
-
### Emergency Release Process
|
|
176
|
-
|
|
177
|
-
- **Hotfix Workflow:** Streamlined process for critical security fixes
|
|
178
|
-
- **Testing Requirements:** Minimum testing requirements for emergency releases
|
|
179
|
-
- **Approval Process:** Expedited approval process for critical fixes
|
|
180
|
-
- **Communication Protocol:** Emergency communication procedures
|
|
181
|
-
|
|
182
|
-
## Release Automation
|
|
183
|
-
|
|
184
|
-
### CI/CD Integration
|
|
185
|
-
|
|
186
|
-
- **Automated Testing:** All tests must pass before release
|
|
187
|
-
- **Automated Building:** Automated build process for release artifacts
|
|
188
|
-
- **Automated Publishing:** Consider automated publishing for appropriate project types
|
|
189
|
-
- **Release Notes Generation:** Automate generation of release notes from changelog
|
|
190
|
-
|
|
191
|
-
### Quality Gates
|
|
192
|
-
|
|
193
|
-
- **Test Coverage:** Minimum test coverage requirements
|
|
194
|
-
- **Security Scanning:** Automated security vulnerability scanning
|
|
195
|
-
- **Dependency Auditing:** Automated dependency security auditing
|
|
196
|
-
- **Performance Benchmarks:** Performance regression testing
|
|
197
|
-
|
|
198
|
-
## Multi-Language Project Considerations
|
|
199
|
-
|
|
200
|
-
### Coordinated Releases
|
|
201
|
-
|
|
202
|
-
- **Version Synchronization:** Keep versions synchronized across language components
|
|
203
|
-
- **Testing Integration:** Test all language components together
|
|
204
|
-
- **Documentation Coordination:** Ensure documentation covers all language components
|
|
205
|
-
- **Compatibility Matrix:** Document compatibility between different language versions
|
|
206
|
-
|
|
207
|
-
### Release Coordination
|
|
208
|
-
|
|
209
|
-
- **Release Orchestration:** Coordinate release timing across components
|
|
210
|
-
- **Dependency Management:** Manage dependencies between language components
|
|
211
|
-
- **Testing Strategy:** Test integration between language components
|
|
212
|
-
- **Communication:** Coordinate communication across different language communities
|
|
213
|
-
|
|
214
|
-
## Compliance and Legal
|
|
215
|
-
|
|
216
|
-
### License Compliance
|
|
217
|
-
|
|
218
|
-
- **License Verification:** Ensure all dependencies comply with project license
|
|
219
|
-
- **License Updates:** Update license information for new dependencies
|
|
220
|
-
- **Attribution:** Provide proper attribution for third-party components
|
|
221
|
-
|
|
222
|
-
### Security and Privacy
|
|
223
|
-
|
|
224
|
-
- **Security Review:** Review security implications of changes
|
|
225
|
-
- **Privacy Impact:** Assess privacy impact of new features
|
|
226
|
-
- **Compliance Requirements:** Meet relevant compliance requirements (GDPR, HIPAA, etc.)
|
|
227
|
-
|
|
228
|
-
## Release Metrics and Analytics
|
|
229
|
-
|
|
230
|
-
### Success Metrics
|
|
231
|
-
|
|
232
|
-
- **Adoption Rate:** Track adoption of new version
|
|
233
|
-
- **Error Rate:** Monitor error rates in new version
|
|
234
|
-
- **Performance Metrics:** Track performance of new version
|
|
235
|
-
- **User Satisfaction:** Gather user feedback on new features
|
|
236
|
-
|
|
237
|
-
### Continuous Improvement
|
|
238
|
-
|
|
239
|
-
- **Release Retrospectives:** Conduct retrospectives after major releases
|
|
240
|
-
- **Process Refinement:** Continuously improve release process
|
|
241
|
-
- **Tool Evaluation:** Regularly evaluate and improve release tooling
|
|
242
|
-
- **Documentation Updates:** Keep release documentation current with process changes
|