metacoding 1.4.0 → 1.4.2
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 +35 -0
- package/lib/services/cursor.d.ts +5 -0
- package/lib/services/cursor.d.ts.map +1 -1
- package/lib/services/cursor.js +52 -27
- package/lib/services/cursor.js.map +1 -1
- package/package.json +1 -1
- package/templates/general/code-review.instructions.md +1 -1
- package/templates/general/copilot-instructions.md +64 -1
- package/templates/general/docs-update.instructions.md +27 -0
- package/templates/javascript/javascript.docs.instructions.md +31 -0
- package/templates/node/nodejs.docs.instructions.md +27 -0
- package/templates/python/python.coding.instructions.md +0 -1
- package/templates/python/python.docs.instructions.md +32 -1
- package/templates/python/python.testing.instructions.md +0 -1
- package/templates/react/react.coding.instructions.md +0 -1
- package/templates/react/react.docs.instructions.md +26 -2
- package/templates/react/react.testing.instructions.md +1 -2
- package/templates/typescript/typescript.docs.instructions.md +27 -1
- package/templates/typescript/typescript.testing.instructions.md +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,41 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Cursor Workflow Rules Generation**: Fixed workflow.mdc file generation to only include copilot-instructions.md content
|
|
13
|
+
- **Single Source Logic**: workflow.mdc now mirrors only the general copilot-instructions.md template instead of merging all instruction files
|
|
14
|
+
- **Deduplication**: Eliminated duplicate content that was causing the workflow.mdc file to be unnecessarily large
|
|
15
|
+
- **Clean Output**: Reduced workflow.mdc file size and complexity while maintaining all essential workflow guidance
|
|
16
|
+
- **Pattern-Specific Rules**: Preserved existing logic for generating pattern-specific .mdc files (e.g., typescript.mdc, python.mdc)
|
|
17
|
+
|
|
18
|
+
## [1.4.1] - 2024-12-26
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **Enhanced Workflow Instructions**: Comprehensive workflow guidance for AI agents
|
|
23
|
+
- **Detailed Step Progression**: Added clear step-by-step workflow with automatic continuation
|
|
24
|
+
- **Single-Task Focus Enforcement**: Enhanced scope creep management with proper response templates
|
|
25
|
+
- **Documentation-First Principle**: Made documentation completion mandatory before implementation
|
|
26
|
+
- **Quality Gates**: Added workflow completion checks and quality assurance measures
|
|
27
|
+
- **Repeated Task Checklist Guidance**: Added template-based approach for recurring processes
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- **Improved Copilot Instructions Template**: Enhanced workflow enforcement and consistency
|
|
32
|
+
- **Automatic Step Progression**: Added "After completing Step X" guidance for each workflow step
|
|
33
|
+
- **Enhanced Scope Management**: Improved blocking vs non-blocking request handling
|
|
34
|
+
- **Confirmation Gates**: Enhanced user approval requirements before proceeding
|
|
35
|
+
- **Task Documentation Requirements**: Strengthened mandatory documentation-first workflow
|
|
36
|
+
|
|
37
|
+
### Technical
|
|
38
|
+
|
|
39
|
+
- **Template Improvements**: All instruction templates now include enhanced repeated task sections
|
|
40
|
+
- **Test Coverage**: Added comprehensive test coverage for workflow enhancement features
|
|
41
|
+
- **Documentation**: Updated all language-specific instruction templates with checklist guidance
|
|
42
|
+
|
|
8
43
|
## [1.4.0] - 2024-12-26
|
|
9
44
|
|
|
10
45
|
### Changed
|
package/lib/services/cursor.d.ts
CHANGED
|
@@ -22,6 +22,10 @@ export declare class CursorService {
|
|
|
22
22
|
installCursorRules(projectPath: string, workflowContent: string, patternRules: PatternRule[]): Promise<InstallationResult>;
|
|
23
23
|
backupExistingRules(projectPath: string): Promise<string[]>;
|
|
24
24
|
processInstructionTemplate(instructionContent: string): string;
|
|
25
|
+
processInstructionFile(instructionFile: {
|
|
26
|
+
path: string;
|
|
27
|
+
content: string;
|
|
28
|
+
}, projectConfig?: any): string;
|
|
25
29
|
mergeInstructionFiles(instructionFiles: Array<{
|
|
26
30
|
path: string;
|
|
27
31
|
content: string;
|
|
@@ -38,5 +42,6 @@ export declare class CursorService {
|
|
|
38
42
|
private createMdcContent;
|
|
39
43
|
private getMetacodingVersion;
|
|
40
44
|
private applyTemplateSubstitution;
|
|
45
|
+
private processInstructionContentOnly;
|
|
41
46
|
}
|
|
42
47
|
//# sourceMappingURL=cursor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/services/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAKD,qBAAa,aAAa;IAEtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,iBAAiB;gBADjB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB;IAMxC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAanC,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC;IASrD,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAW1C,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,GAAG,GAClB,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/services/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAKD,qBAAa,aAAa;IAEtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,iBAAiB;gBADjB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB;IAMxC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAanC,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC;IASrD,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAW1C,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,GAAG,GAClB,OAAO,CAAC,MAAM,CAAC;IAgCZ,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC;IAyBnB,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,WAAW,EAAE,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAgExB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA8BjE,0BAA0B,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAiB9D,sBAAsB,CACpB,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAClD,aAAa,CAAC,EAAE,GAAG,GAClB,MAAM;IAqBT,qBAAqB,CACnB,gBAAgB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAC1D,aAAa,CAAC,EAAE,GAAG,GAClB,MAAM;IA0BT,2BAA2B,CACzB,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAClD,OAAO,EAAE,MAAM,GACd,WAAW;IAcd,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAa9C,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,oBAAoB;IAgD5B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,6BAA6B;CAStC"}
|
package/lib/services/cursor.js
CHANGED
|
@@ -64,10 +64,11 @@ class CursorService {
|
|
|
64
64
|
async generateWorkflowRules(projectPath, templateType, projectConfig) {
|
|
65
65
|
try {
|
|
66
66
|
const instructionFiles = await this.templateManager.getInstructionFiles(templateType);
|
|
67
|
-
|
|
67
|
+
const copilotInstructionsFile = instructionFiles.find((file) => file.path.includes('copilot-instructions.md'));
|
|
68
|
+
if (!copilotInstructionsFile) {
|
|
68
69
|
return this.createDefaultWorkflowRules();
|
|
69
70
|
}
|
|
70
|
-
return this.
|
|
71
|
+
return this.processInstructionFile(copilotInstructionsFile, projectConfig);
|
|
71
72
|
}
|
|
72
73
|
catch (error) {
|
|
73
74
|
throw new Error(`Failed to generate workflow rules: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -155,17 +156,26 @@ class CursorService {
|
|
|
155
156
|
.replace(/Visual Studio Code/g, 'Cursor IDE');
|
|
156
157
|
return `${header}\n\n${processedContent}`;
|
|
157
158
|
}
|
|
158
|
-
|
|
159
|
+
processInstructionFile(instructionFile, projectConfig) {
|
|
160
|
+
let content = instructionFile.content;
|
|
161
|
+
if (projectConfig) {
|
|
162
|
+
content = this.applyTemplateSubstitution(content, projectConfig);
|
|
163
|
+
}
|
|
164
|
+
const cleanedContent = this.processInstructionContentOnly(content);
|
|
159
165
|
const header = this.createCursorRulesHeader();
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
166
|
+
return `${header}\n\n<!-- Source: ${instructionFile.path} -->\n${cleanedContent}`;
|
|
167
|
+
}
|
|
168
|
+
mergeInstructionFiles(instructionFiles, projectConfig) {
|
|
169
|
+
const processedFiles = instructionFiles.map((file) => {
|
|
170
|
+
let content = file.content;
|
|
163
171
|
if (projectConfig) {
|
|
164
|
-
|
|
172
|
+
content = this.applyTemplateSubstitution(content, projectConfig);
|
|
165
173
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
174
|
+
const cleanedContent = this.processInstructionContentOnly(content);
|
|
175
|
+
return `<!-- Source: ${file.path} -->\n${cleanedContent}`;
|
|
176
|
+
});
|
|
177
|
+
const header = this.createCursorRulesHeader();
|
|
178
|
+
const mergedContent = processedFiles.join('\n\n---\n\n');
|
|
169
179
|
return `${header}\n\n${mergedContent}`;
|
|
170
180
|
}
|
|
171
181
|
extractPatternSpecificRules(instructionFile, pattern) {
|
|
@@ -257,7 +267,14 @@ alwaysApply: ${pattern === '**/*' ? 'true' : 'false'}
|
|
|
257
267
|
---
|
|
258
268
|
|
|
259
269
|
`;
|
|
260
|
-
|
|
270
|
+
let processedContent;
|
|
271
|
+
if (pattern === '**/*' &&
|
|
272
|
+
instructionContent.includes('# Cursor AI Development Rules')) {
|
|
273
|
+
processedContent = instructionContent;
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
processedContent = this.processInstructionTemplate(instructionContent);
|
|
277
|
+
}
|
|
261
278
|
return frontmatter + processedContent;
|
|
262
279
|
}
|
|
263
280
|
getMetacodingVersion() {
|
|
@@ -265,25 +282,33 @@ alwaysApply: ${pattern === '**/*' ? 'true' : 'false'}
|
|
|
265
282
|
}
|
|
266
283
|
applyTemplateSubstitution(content, projectConfig) {
|
|
267
284
|
let substituted = content;
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
285
|
+
const replacements = {
|
|
286
|
+
'{{PROJECT_NAME}}': projectConfig?.projectName || 'Project',
|
|
287
|
+
'{{PROJECT_DESCRIPTION}}': projectConfig?.projectDescription ||
|
|
288
|
+
'A guided development project using metacoding workflow',
|
|
289
|
+
'{{TECH_STACK}}': projectConfig?.techStack
|
|
290
|
+
? Array.isArray(projectConfig.techStack)
|
|
291
|
+
? projectConfig.techStack.join(', ')
|
|
292
|
+
: projectConfig.techStack
|
|
293
|
+
: 'TypeScript, Jest',
|
|
294
|
+
'{{PROJECT_DOMAIN}}': projectConfig?.projectDomain || 'software',
|
|
295
|
+
'{{PROJECT_SPECIFIC_GUIDANCE}}': projectConfig?.projectSpecificGuidance ||
|
|
296
|
+
'- **Best Practices:** Follow language-specific coding standards and conventions\n- **Architecture:** Implement modular and maintainable code structure\n- **Testing:** Write comprehensive tests for all functionality\n- **Documentation:** Maintain clear and up-to-date documentation',
|
|
297
|
+
};
|
|
298
|
+
for (const [placeholder, value] of Object.entries(replacements)) {
|
|
299
|
+
substituted = substituted.replace(new RegExp(placeholder.replace(/[{}]/g, '\\$&'), 'g'), value);
|
|
279
300
|
}
|
|
280
|
-
substituted = substituted.replace(/\{\{PROJECT_NAME\}\}/g, 'Project');
|
|
281
|
-
substituted = substituted.replace(/\{\{PROJECT_DESCRIPTION\}\}/g, 'A guided development project using metacoding workflow');
|
|
282
|
-
substituted = substituted.replace(/\{\{TECH_STACK\}\}/g, 'TypeScript, Jest');
|
|
283
|
-
substituted = substituted.replace(/\{\{PROJECT_DOMAIN\}\}/g, 'software');
|
|
284
|
-
substituted = substituted.replace(/\{\{PROJECT_SPECIFIC_GUIDANCE\}\}/g, '- **Best Practices:** Follow language-specific coding standards and conventions\n- **Architecture:** Implement modular and maintainable code structure\n- **Testing:** Write comprehensive tests for all functionality\n- **Documentation:** Maintain clear and up-to-date documentation');
|
|
285
301
|
return substituted;
|
|
286
302
|
}
|
|
303
|
+
processInstructionContentOnly(instructionContent) {
|
|
304
|
+
return instructionContent
|
|
305
|
+
.replace(/# GitHub Copilot/gi, '# Cursor AI')
|
|
306
|
+
.replace(/GitHub Copilot/g, 'Cursor AI')
|
|
307
|
+
.replace(/Copilot/g, 'Cursor AI')
|
|
308
|
+
.replace(/\.vscode/g, '.cursor')
|
|
309
|
+
.replace(/VS Code/g, 'Cursor IDE')
|
|
310
|
+
.replace(/Visual Studio Code/g, 'Cursor IDE');
|
|
311
|
+
}
|
|
287
312
|
}
|
|
288
313
|
exports.CursorService = CursorService;
|
|
289
314
|
//# sourceMappingURL=cursor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/services/cursor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAC7B,uCAAyB;AACzB,2BAAoC;AAuBpC,MAAa,aAAa;IACxB,YACU,eAAgC,EAChC,iBAAoC;QADpC,oBAAe,GAAf,eAAe,CAAiB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAC3C,CAAC;IAKJ,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9C,MAAM,aAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,2BAA2B;QAG/B,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC;IAKD,mBAAmB,CAAC,UAAmB;QACrC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAMD,KAAK,CAAC,qBAAqB,CACzB,WAAmB,EACnB,YAAoB,EACpB,aAAmB;QAEnB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/services/cursor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "metacoding",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "Guided Development Workflow for GitHub Copilot - Transform your coding experience with AI-guided standards, structured workflows, and quality practices",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -12,7 +12,7 @@ Code reviews are essential for maintaining code quality, sharing knowledge, and
|
|
|
12
12
|
## Language-Specific Review Guidelines
|
|
13
13
|
|
|
14
14
|
For detailed language-specific review criteria, refer to:
|
|
15
|
-
|
|
15
|
+
- **JavaScript** See `javascript.coding.instructions.md` for JavaScript-specific patterns and best practices
|
|
16
16
|
- **TypeScript/Node.js:** See `typescript.coding.instructions.md` for TypeScript-specific patterns and best practices
|
|
17
17
|
- **Python:** See `python.coding.instructions.md` for Python-specific patterns and conventions
|
|
18
18
|
- **React/Frontend:** See `react.coding.instructions.md` for React-specific patterns and component design
|
|
@@ -200,15 +200,27 @@ When providing code suggestions, prioritize:
|
|
|
200
200
|
|
|
201
201
|
**ALL development tasks must follow this strict workflow to ensure code quality, proper testing, and comprehensive documentation.**
|
|
202
202
|
|
|
203
|
+
**General Instruction:**
|
|
204
|
+
|
|
205
|
+
- The agent must always proceed through all workflow steps in order, without stopping or waiting for reminders, unless explicit user confirmation is required by the workflow. After completing each step, immediately continue to the next, ensuring the workflow is fully completed for every task.
|
|
206
|
+
|
|
203
207
|
### Step 1: Task Understanding and Planning
|
|
204
208
|
|
|
205
|
-
- **Always start with clarification:**
|
|
209
|
+
- **Always start with clarification:**
|
|
210
|
+
- Begin by thoroughly reading the project system documentation, reviewing the project folders and files structure, and examining the most important code sections.
|
|
211
|
+
- Measure your own uncertainty level regarding the user's initial query or answers on a scale from 1 (total uncertainty) to 0.1 (very low uncertainty).
|
|
212
|
+
- If your uncertainty is greater than 0.1, continue reading documentation and exploring the project and codebase before asking clarifying questions.
|
|
213
|
+
- If, after 5 clarification attempts, your uncertainty remains above 0.1, explicitly state this and propose a research plan before proceeding.
|
|
206
214
|
- **Provide implementation outline:** Present the shortest possible outline of the implementation plan with key details
|
|
207
215
|
- **Get explicit confirmation:** Wait for user confirmation before proceeding
|
|
208
216
|
- **Clarify scope:** Ensure both parties understand what will be implemented and what won't
|
|
209
217
|
- **Document first, execute second:** No implementation work begins until all required documentation is complete
|
|
210
218
|
- **Mandatory confirmation gates:** User must explicitly approve the plan, scope, and consequences before any work begins
|
|
211
219
|
|
|
220
|
+
**After completing Step 1:**
|
|
221
|
+
|
|
222
|
+
- Immediately proceed to Step 2 (Task Management) once user confirmation is received and documentation is complete.
|
|
223
|
+
|
|
212
224
|
### Step 2: Task Management
|
|
213
225
|
|
|
214
226
|
- **Document before executing:** Add corresponding task(s) to `/_meta/project-task-list.md` BEFORE any implementation work
|
|
@@ -220,6 +232,10 @@ When providing code suggestions, prioritize:
|
|
|
220
232
|
- **Estimate effort:** Provide realistic time/complexity estimates
|
|
221
233
|
- **Task documentation requirement:** Every task must be documented in the task list before work begins
|
|
222
234
|
|
|
235
|
+
**After completing Step 2:**
|
|
236
|
+
|
|
237
|
+
- Immediately proceed to Step 3 (Test-Driven Development) and ensure all test cases are documented before writing any test code.
|
|
238
|
+
|
|
223
239
|
### Step 3: Test-Driven Development (TDD)
|
|
224
240
|
|
|
225
241
|
- **Document test cases first:** Write test cases in `/test/test-documentation.md` BEFORE implementing any tests
|
|
@@ -230,6 +246,10 @@ When providing code suggestions, prioritize:
|
|
|
230
246
|
- **Clean up test artifacts:** Remove temporary test files, move useful test data to `/test/fixtures/`
|
|
231
247
|
- **Test documentation requirement:** All test cases must be documented before any test code is written
|
|
232
248
|
|
|
249
|
+
**After completing Step 3:**
|
|
250
|
+
|
|
251
|
+
- Immediately proceed to Step 4 (Implementation and Verification) and implement the required functionality.
|
|
252
|
+
|
|
233
253
|
### Step 4: Implementation and Verification
|
|
234
254
|
|
|
235
255
|
- **Write production code:** Implement the actual functionality
|
|
@@ -239,6 +259,10 @@ When providing code suggestions, prioritize:
|
|
|
239
259
|
- **Refactor if needed:** Clean up code while maintaining test coverage (refactor phase)
|
|
240
260
|
- **File cleanup:** Remove all temporary files, debug outputs, and experimental code created during development
|
|
241
261
|
|
|
262
|
+
**After completing Step 4:**
|
|
263
|
+
|
|
264
|
+
- Immediately proceed to Step 5 (Documentation and Status Updates) and update all relevant documentation and status indicators.
|
|
265
|
+
|
|
242
266
|
### Step 5: Documentation and Status Updates
|
|
243
267
|
|
|
244
268
|
- **Update all documentation:** Follow documentation maintenance guidelines
|
|
@@ -247,6 +271,10 @@ When providing code suggestions, prioritize:
|
|
|
247
271
|
- **Update CHANGELOG.md:** Document user-facing changes
|
|
248
272
|
- **Review code documentation:** Ensure code documentation is current
|
|
249
273
|
|
|
274
|
+
**After completing Step 5:**
|
|
275
|
+
|
|
276
|
+
- Immediately proceed to Step 6 (Version Control) and commit all changes with proper messages.
|
|
277
|
+
|
|
250
278
|
### Step 6: Version Control
|
|
251
279
|
|
|
252
280
|
- **Commit changes:** Use conventional commit messages
|
|
@@ -254,6 +282,10 @@ When providing code suggestions, prioritize:
|
|
|
254
282
|
- **Write descriptive commit messages:** Explain what was implemented and why
|
|
255
283
|
- **Keep commits atomic:** Each commit should represent a complete, working feature
|
|
256
284
|
|
|
285
|
+
**After completing Step 6:**
|
|
286
|
+
|
|
287
|
+
- Immediately proceed to Step 7 (Workflow Completion Check) and verify that all workflow requirements are satisfied.
|
|
288
|
+
|
|
257
289
|
### Step 7: Workflow Completion Check
|
|
258
290
|
|
|
259
291
|
- **Mandatory workflow completion:** User must complete the entire workflow before moving to next task
|
|
@@ -261,6 +293,37 @@ When providing code suggestions, prioritize:
|
|
|
261
293
|
- **Repository hygiene:** Ensure codebase, documentation, and repository remain up-to-date
|
|
262
294
|
- **Quality gates:** All tests must pass, documentation must be current, and code must be committed
|
|
263
295
|
|
|
296
|
+
**After completing Step 7:**
|
|
297
|
+
|
|
298
|
+
- Confirm that the workflow is fully complete and only then allow planning or starting a new task. Never stop at an intermediate step unless user confirmation is explicitly required by the workflow.
|
|
299
|
+
|
|
300
|
+
# Repeated Tasks and Checklist Templates
|
|
301
|
+
|
|
302
|
+
For any recurring, high-risk, or multi-step process (such as npm package release, GitHub release, major version update, or similar workflows), always use a dedicated checklist template to ensure all necessary steps are followed and nothing is missed.
|
|
303
|
+
|
|
304
|
+
- **Checklist Template Principle:**
|
|
305
|
+
- Maintain a template checklist file for each repeated process (e.g., `npm-publish-checklist.md`).
|
|
306
|
+
- For each new instance (e.g., each release or version), copy the template checklist and tag it with the relevant version or context, preserving the original template for future use.
|
|
307
|
+
- Systematically work through the checklist for every instance of the repeated task, marking each step as completed.
|
|
308
|
+
- Proactively identify any process that would benefit from a checklist and prompt the user to use or create one if it does not exist.
|
|
309
|
+
- If, during execution, you or the user identify missing or unclear steps, update the template checklist to improve future reliability.
|
|
310
|
+
|
|
311
|
+
**Examples of repeated tasks requiring checklists:**
|
|
312
|
+
|
|
313
|
+
- npm package publishing
|
|
314
|
+
- GitHub release process
|
|
315
|
+
- Major/minor version updates
|
|
316
|
+
- Production deployment
|
|
317
|
+
- Onboarding new contributors
|
|
318
|
+
- Any other process with multiple required steps or risk of omission
|
|
319
|
+
|
|
320
|
+
**Agent Guidance:**
|
|
321
|
+
|
|
322
|
+
- Always check for the existence of a checklist template before starting a repeated task.
|
|
323
|
+
- If a template does not exist, prompt the user to create one and assist in drafting it.
|
|
324
|
+
- When using a checklist, copy it for the specific instance (e.g., `npm-v1.5.0.md`), and work through each step systematically.
|
|
325
|
+
- If new steps are discovered or improvements are needed, update the template and inform the user.
|
|
326
|
+
|
|
264
327
|
## Workflow Enforcement Rules
|
|
265
328
|
|
|
266
329
|
### Documentation-First Principle
|
|
@@ -61,6 +61,33 @@ This project enforces a strict distinction between different types of documentat
|
|
|
61
61
|
- **Accessibility:** Use clear language and proper formatting for accessibility
|
|
62
62
|
- **Architecture Compliance:** Follow the system vs project documentation distinction
|
|
63
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
|
+
|
|
64
91
|
## Status Indication Guidelines (For Project Management Documentation Only)
|
|
65
92
|
|
|
66
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.**
|
|
@@ -53,6 +53,37 @@ This project enforces a strict distinction between different types of documentat
|
|
|
53
53
|
- **Accessibility:** Use clear language and proper formatting for accessibility
|
|
54
54
|
- **Architecture Compliance:** Follow the system vs project documentation distinction
|
|
55
55
|
|
|
56
|
+
## Repeated JavaScript Documentation Tasks and Checklist Templates
|
|
57
|
+
|
|
58
|
+
For any recurring documentation process specific to JavaScript projects (such as package release documentation, API documentation updates, JSDoc updates, or similar workflows), always use a dedicated checklist template to ensure all necessary steps are followed and nothing is missed.
|
|
59
|
+
|
|
60
|
+
- **JavaScript Documentation Checklist Template Principle:**
|
|
61
|
+
- Maintain a template checklist file for each repeated JavaScript documentation process (e.g., `package-release-docs-checklist.md`, `jsdoc-update-checklist.md`, `api-docs-checklist.md`).
|
|
62
|
+
- For each new instance (e.g., each package release or major API update), copy the template checklist and tag it with the relevant version or context, preserving the original template for future use.
|
|
63
|
+
- Systematically work through the checklist for every instance of the repeated documentation task, marking each step as completed.
|
|
64
|
+
- Proactively identify any JavaScript documentation process that would benefit from a checklist and prompt the user to use or create one if it does not exist.
|
|
65
|
+
- If, during execution, you or the user identify missing or unclear documentation steps, update the template checklist to improve future reliability.
|
|
66
|
+
|
|
67
|
+
**Examples of repeated JavaScript documentation tasks requiring checklists:**
|
|
68
|
+
|
|
69
|
+
- Package release documentation (README updates, CHANGELOG maintenance, package.json synchronization, JSDoc updates)
|
|
70
|
+
- API documentation updates (JavaScript API changes, parameter updates, example code verification)
|
|
71
|
+
- JSDoc documentation reviews and updates (type annotations, parameter descriptions, example code)
|
|
72
|
+
- Build and deployment documentation updates (build script changes, deployment process updates)
|
|
73
|
+
- JavaScript library documentation (usage examples, compatibility notes, migration guides)
|
|
74
|
+
- Browser compatibility documentation updates
|
|
75
|
+
- Node.js version compatibility documentation
|
|
76
|
+
- Module system documentation (CommonJS, ES modules, bundler compatibility)
|
|
77
|
+
- Any other JavaScript documentation process with multiple required steps or risk of omission
|
|
78
|
+
|
|
79
|
+
**Agent Guidance for JavaScript Documentation Tasks:**
|
|
80
|
+
|
|
81
|
+
- Always check for the existence of a JavaScript documentation checklist template before starting a repeated documentation task.
|
|
82
|
+
- If a template does not exist, prompt the user to create one and assist in drafting it with JavaScript-specific considerations.
|
|
83
|
+
- When using a documentation checklist, copy it for the specific instance (e.g., `package-release-docs-v2.1.0.md`), and work through each step systematically.
|
|
84
|
+
- If new JavaScript documentation steps are discovered or improvements are needed, update the template and inform the user.
|
|
85
|
+
- Consider JavaScript-specific requirements like JSDoc standards, package.json synchronization, and browser/Node.js compatibility when creating or using checklists.
|
|
86
|
+
|
|
56
87
|
## Task ID Naming Convention for JavaScript Projects
|
|
57
88
|
|
|
58
89
|
Follow the standardized task naming format for all project management documentation:
|
|
@@ -232,3 +232,30 @@ interface ErrorResponse {
|
|
|
232
232
|
- **Communication Templates:** Incident communication templates
|
|
233
233
|
- **Post-Incident Reviews:** How to conduct post-mortems
|
|
234
234
|
- **Knowledge Base:** Common issues and their solutions
|
|
235
|
+
|
|
236
|
+
## Repeated Node.js Documentation Tasks and Checklist Templates
|
|
237
|
+
|
|
238
|
+
For any recurring Node.js documentation process (such as API releases, deployment documentation updates, or operational procedure reviews), always use a dedicated checklist template to ensure all necessary documentation steps are followed and nothing is missed.
|
|
239
|
+
|
|
240
|
+
- **Node.js Documentation Checklist Template Principle:**
|
|
241
|
+
- Maintain a template checklist file for each repeated Node.js documentation process (e.g., `api-deployment-docs-checklist.md`, `operational-docs-checklist.md`).
|
|
242
|
+
- For each new instance (e.g., each deployment or operational review), copy the template checklist and tag it with the relevant version or context, preserving the original template for future use.
|
|
243
|
+
- Systematically work through the checklist for every instance of the repeated documentation task, marking each step as completed.
|
|
244
|
+
- Proactively identify any Node.js documentation process that would benefit from a checklist and prompt the user to use or create one if it does not exist.
|
|
245
|
+
- If, during execution, you or the user identify missing or unclear documentation steps, update the template checklist to improve future reliability.
|
|
246
|
+
|
|
247
|
+
**Examples of repeated Node.js documentation tasks requiring checklists:**
|
|
248
|
+
|
|
249
|
+
- API releases (OpenAPI schema updates, endpoint documentation, authentication guides, error response documentation)
|
|
250
|
+
- Deployment documentation (environment setup, configuration guides, scaling procedures, monitoring setup)
|
|
251
|
+
- Operational procedures (incident response guides, backup procedures, disaster recovery documentation)
|
|
252
|
+
- Security documentation (vulnerability assessments, compliance documentation, audit procedures)
|
|
253
|
+
- Performance documentation (optimization guides, monitoring setup, capacity planning documentation)
|
|
254
|
+
- Any other Node.js documentation process with multiple required steps or risk of omission
|
|
255
|
+
|
|
256
|
+
**Agent Guidance for Node.js Documentation Tasks:**
|
|
257
|
+
|
|
258
|
+
- Always check for the existence of a Node.js documentation checklist template before starting a repeated documentation task.
|
|
259
|
+
- If a template does not exist, prompt the user to create one and assist in drafting it.
|
|
260
|
+
- When using a documentation checklist, copy it for the specific instance (e.g., `api-deployment-v2.3.0.md`), and work through each step systematically.
|
|
261
|
+
- If new documentation steps are discovered or improvements are needed, update the template and inform the user.
|
|
@@ -1,11 +1,42 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: 'Python-specific documentation standards and docstring patterns'
|
|
3
3
|
applyTo: '**/*.py'
|
|
4
|
-
language: 'python'
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Python Documentation Standards
|
|
8
7
|
|
|
8
|
+
## Repeated Python Documentation Tasks and Checklist Templates
|
|
9
|
+
|
|
10
|
+
For any recurring documentation process specific to Python projects (such as package release documentation, Sphinx documentation updates, docstring reviews, or similar workflows), always use a dedicated checklist template to ensure all necessary steps are followed and nothing is missed.
|
|
11
|
+
|
|
12
|
+
- **Python Documentation Checklist Template Principle:**
|
|
13
|
+
- Maintain a template checklist file for each repeated Python documentation process (e.g., `python-package-release-docs-checklist.md`, `sphinx-docs-update-checklist.md`, `docstring-review-checklist.md`).
|
|
14
|
+
- For each new instance (e.g., each PyPI release or major documentation update), copy the template checklist and tag it with the relevant version or context, preserving the original template for future use.
|
|
15
|
+
- Systematically work through the checklist for every instance of the repeated documentation task, marking each step as completed.
|
|
16
|
+
- Proactively identify any Python documentation process that would benefit from a checklist and prompt the user to use or create one if it does not exist.
|
|
17
|
+
- If, during execution, you or the user identify missing or unclear documentation steps, update the template checklist to improve future reliability.
|
|
18
|
+
|
|
19
|
+
**Examples of repeated Python documentation tasks requiring checklists:**
|
|
20
|
+
|
|
21
|
+
- PyPI package release documentation (README updates, CHANGELOG maintenance, setup.py/pyproject.toml synchronization, docstring updates)
|
|
22
|
+
- Sphinx documentation updates (API documentation generation, docstring compilation, cross-references)
|
|
23
|
+
- Docstring reviews and standardization (Google/NumPy style compliance, type annotation consistency, example verification)
|
|
24
|
+
- Django application documentation updates (model documentation, API endpoint documentation, admin interface docs)
|
|
25
|
+
- FastAPI documentation updates (automatic API documentation, Pydantic model documentation, endpoint descriptions)
|
|
26
|
+
- Python library documentation (usage examples, installation guides, compatibility matrices)
|
|
27
|
+
- Virtual environment and dependency documentation (requirements.txt, poetry, pipenv setup)
|
|
28
|
+
- Python version compatibility documentation
|
|
29
|
+
- Testing documentation (pytest configuration, test coverage, testing patterns)
|
|
30
|
+
- Any other Python documentation process with multiple required steps or risk of omission
|
|
31
|
+
|
|
32
|
+
**Agent Guidance for Python Documentation Tasks:**
|
|
33
|
+
|
|
34
|
+
- Always check for the existence of a Python documentation checklist template before starting a repeated documentation task.
|
|
35
|
+
- If a template does not exist, prompt the user to create one and assist in drafting it with Python-specific considerations.
|
|
36
|
+
- When using a documentation checklist, copy it for the specific instance (e.g., `pypi-release-docs-v1.2.0.md`), and work through each step systematically.
|
|
37
|
+
- If new Python documentation steps are discovered or improvements are needed, update the template and inform the user.
|
|
38
|
+
- Consider Python-specific requirements like docstring standards, Sphinx integration, type annotations, and PyPI packaging when creating or using checklists.
|
|
39
|
+
|
|
9
40
|
## Docstring Conventions
|
|
10
41
|
|
|
11
42
|
### Google Style Docstrings
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: 'React-specific documentation standards and guidelines'
|
|
3
|
-
|
|
4
|
-
category: 'documentation'
|
|
3
|
+
applyTo: '**/*.{jsx,tsx}'
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# React Documentation Standards
|
|
@@ -424,4 +423,29 @@ describe('Button Component', () => {
|
|
|
424
423
|
- **Version Alignment:** Keep documentation in sync with component versions
|
|
425
424
|
- **Accessibility Updates:** Update accessibility docs when ARIA patterns change
|
|
426
425
|
- **Performance Notes:** Document performance implications of component usage
|
|
426
|
+
|
|
427
|
+
## Repeated React Documentation Tasks and Checklist Templates
|
|
428
|
+
|
|
429
|
+
For any recurring React documentation process (such as component library releases, API documentation updates, or component migration guides), always use a dedicated checklist template to ensure all necessary documentation steps are followed and nothing is missed.
|
|
430
|
+
|
|
431
|
+
- **React Documentation Checklist Template Principle:**
|
|
432
|
+
- Maintain a template checklist file for each repeated React documentation process (e.g., `component-release-docs-checklist.md`, `react-migration-docs-checklist.md`).
|
|
433
|
+
- For each new instance (e.g., each component release or migration), copy the template checklist and tag it with the relevant version or context, preserving the original template for future use.
|
|
434
|
+
- Systematically work through the checklist for every instance of the repeated documentation task, marking each step as completed.
|
|
435
|
+
- Proactively identify any React documentation process that would benefit from a checklist and prompt the user to use or create one if it does not exist.
|
|
436
|
+
- If, during execution, you or the user identify missing or unclear documentation steps, update the template checklist to improve future reliability.
|
|
437
|
+
|
|
438
|
+
**Examples of repeated React documentation tasks requiring checklists:**
|
|
439
|
+
- Component library releases (PropTypes updates, example verification, Storybook updates)
|
|
440
|
+
- React version migrations (hook migration guides, breaking changes documentation, compatibility notes)
|
|
441
|
+
- Performance optimization documentation (profiling results, optimization guides, benchmark updates)
|
|
442
|
+
- Accessibility documentation updates (ARIA pattern updates, keyboard navigation guides, screen reader testing)
|
|
443
|
+
- Testing documentation (test pattern updates, snapshot reviews, accessibility test updates)
|
|
444
|
+
- Any other React documentation process with multiple required steps or risk of omission
|
|
445
|
+
|
|
446
|
+
**Agent Guidance for React Documentation Tasks:**
|
|
447
|
+
- Always check for the existence of a React documentation checklist template before starting a repeated documentation task.
|
|
448
|
+
- If a template does not exist, prompt the user to create one and assist in drafting it.
|
|
449
|
+
- When using a documentation checklist, copy it for the specific instance (e.g., `component-release-v2.1.0.md`), and work through each step systematically.
|
|
450
|
+
- If new documentation steps are discovered or improvements are needed, update the template and inform the user.
|
|
427
451
|
```
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: 'TypeScript/Node.js-specific documentation standards and JSDoc patterns'
|
|
3
3
|
applyTo: '**/*.{ts,js}'
|
|
4
|
-
language: 'typescript'
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# TypeScript/Node.js Documentation Standards
|
|
@@ -732,3 +731,30 @@ export class DataProcessor extends Transform {
|
|
|
732
731
|
"includeVersion": true
|
|
733
732
|
}
|
|
734
733
|
```
|
|
734
|
+
|
|
735
|
+
## Repeated TypeScript Documentation Tasks and Checklist Templates
|
|
736
|
+
|
|
737
|
+
For any recurring TypeScript documentation process (such as API releases, type definition updates, or migration guides), always use a dedicated checklist template to ensure all necessary documentation steps are followed and nothing is missed.
|
|
738
|
+
|
|
739
|
+
- **TypeScript Documentation Checklist Template Principle:**
|
|
740
|
+
- Maintain a template checklist file for each repeated TypeScript documentation process (e.g., `api-release-docs-checklist.md`, `type-migration-docs-checklist.md`).
|
|
741
|
+
- For each new instance (e.g., each API release or migration), copy the template checklist and tag it with the relevant version or context, preserving the original template for future use.
|
|
742
|
+
- Systematically work through the checklist for every instance of the repeated documentation task, marking each step as completed.
|
|
743
|
+
- Proactively identify any TypeScript documentation process that would benefit from a checklist and prompt the user to use or create one if it does not exist.
|
|
744
|
+
- If, during execution, you or the user identify missing or unclear documentation steps, update the template checklist to improve future reliability.
|
|
745
|
+
|
|
746
|
+
**Examples of repeated TypeScript documentation tasks requiring checklists:**
|
|
747
|
+
|
|
748
|
+
- API releases (JSDoc updates, type definition exports, example verification, TypeDoc generation)
|
|
749
|
+
- TypeScript version migrations (type system changes, breaking changes documentation, compatibility guides)
|
|
750
|
+
- Package documentation (README updates, API reference generation, installation guides, usage examples)
|
|
751
|
+
- Type definition updates (interface changes, generic constraints, utility type documentation)
|
|
752
|
+
- Node.js documentation (environment setup, deployment guides, configuration documentation)
|
|
753
|
+
- Any other TypeScript documentation process with multiple required steps or risk of omission
|
|
754
|
+
|
|
755
|
+
**Agent Guidance for TypeScript Documentation Tasks:**
|
|
756
|
+
|
|
757
|
+
- Always check for the existence of a TypeScript documentation checklist template before starting a repeated documentation task.
|
|
758
|
+
- If a template does not exist, prompt the user to create one and assist in drafting it.
|
|
759
|
+
- When using a documentation checklist, copy it for the specific instance (e.g., `api-release-v3.2.0.md`), and work through each step systematically.
|
|
760
|
+
- If new documentation steps are discovered or improvements are needed, update the template and inform the user.
|