@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.
- package/LICENSE.md +26 -0
- package/README.md +300 -0
- package/core/agent-teams/team-all.yaml +24 -0
- package/core/agent-teams/team-company.yaml +17 -0
- package/core/agent-teams/team-enterprise.yaml +17 -0
- package/core/agent-teams/team-fullstack.yaml +16 -0
- package/core/agent-teams/team-ide-minimal.yaml +10 -0
- package/core/agents/aigile-master.md +476 -0
- package/core/agents/aigile-orchestrator.agent.md +200 -0
- package/core/agents/analyst.md +45 -0
- package/core/agents/architect.md +43 -0
- package/core/agents/code-tour.agent.md +208 -0
- package/core/agents/dev.agent.md +145 -0
- package/core/agents/dev.md +130 -0
- package/core/agents/expert-react-frontend-engineer.agent.md +741 -0
- package/core/agents/pm.md +33 -0
- package/core/agents/po.md +35 -0
- package/core/agents/qa.md +38 -0
- package/core/agents/sm.md +31 -0
- package/core/agents/ui-expert.md +39 -0
- package/core/agents/ux-expert.md +31 -0
- package/core/checklists/architect-checklist.md +246 -0
- package/core/checklists/change-checklist.md +182 -0
- package/core/checklists/pm-checklist.md +286 -0
- package/core/checklists/po-master-checklist.md +291 -0
- package/core/checklists/story-dod-checklist.md +94 -0
- package/core/checklists/story-draft-checklist.md +153 -0
- package/core/core-config.yaml +22 -0
- package/core/data/aigile-kb.md +112 -0
- package/core/data/brainstorming-techniques.md +73 -0
- package/core/data/elicitation-methods.md +42 -0
- package/core/data/technical-preferences.md +52 -0
- package/core/data/test-levels-framework.md +43 -0
- package/core/data/test-priorities-matrix.md +26 -0
- package/core/instructions/csharp.instructions.md +656 -0
- package/core/instructions/dotnet/csharp.instructions.md +656 -0
- package/core/instructions/java/java.instructions.md +67 -0
- package/core/instructions/java/spring-boot.instructions.md +122 -0
- package/core/instructions/java.instructions.md +67 -0
- package/core/instructions/spring-boot.instructions.md +122 -0
- package/core/prompts/README.md +11 -0
- package/core/prompts/architecture/architecture-blueprint-generator.prompt.md +322 -0
- package/core/prompts/architecture/architecture-validation.prompt.md +71 -0
- package/core/prompts/architecture/file-tree-generator.prompt.md +405 -0
- package/core/prompts/architecture/technical-project-analyze.prompt.md +43 -0
- package/core/prompts/architecture-blueprint-generator.prompt.md +322 -0
- package/core/prompts/architecture-validation.prompt.md +71 -0
- package/core/prompts/code-review.prompt.md +107 -0
- package/core/prompts/confluence-in-md.prompt.md +167 -0
- package/core/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
- package/core/prompts/create-implementation-plan.prompt.md +157 -0
- package/core/prompts/create-oo-component-documentation.prompt.md +193 -0
- package/core/prompts/file-tree-generator.prompt.md +405 -0
- package/core/prompts/generate-unit-tests.prompt.md +291 -0
- package/core/prompts/java/java-doc.prompt.md +24 -0
- package/core/prompts/java/java-junit.prompt.md +64 -0
- package/core/prompts/java/junit-5.prompt.md +64 -0
- package/core/prompts/java-doc.prompt.md +24 -0
- package/core/prompts/java-junit.prompt.md +64 -0
- package/core/prompts/junit-5.prompt.md +64 -0
- package/core/prompts/release-notes/README.md +11 -0
- package/core/prompts/release-notes/release-notes.prompt.md +723 -0
- package/core/prompts/release-notes.prompt.md +723 -0
- package/core/prompts/technical-project-analyze.prompt.md +43 -0
- package/core/tasks/advanced-elicitation.md +119 -0
- package/core/tasks/check-story-implemented.md +44 -0
- package/core/tasks/code-arch-review-with-github.md +40 -0
- package/core/tasks/create-architecture-doc.md +55 -0
- package/core/tasks/create-jira-epic-from-confluence.md +70 -0
- package/core/tasks/create-jira-story-from-confluence.md +39 -0
- package/core/tasks/create-jira-story-from-text.md +39 -0
- package/core/tasks/create-next-story.md +35 -0
- package/core/tasks/create-prd-doc.md +54 -0
- package/core/tasks/create-stories-from-epic.md +66 -0
- package/core/tasks/create-tasks-for-story.md +60 -0
- package/core/tasks/document-project.md +69 -0
- package/core/tasks/execute-checklist.md +37 -0
- package/core/tasks/explain-story-from-jira.md +44 -0
- package/core/tasks/facilitate-brainstorming-session.md +69 -0
- package/core/tasks/figma-audit-design-system.md +20 -0
- package/core/tasks/front-end-spec-from-design.md +33 -0
- package/core/tasks/gate.md +64 -0
- package/core/tasks/groom-jira-story.md +52 -0
- package/core/tasks/help.md +27 -0
- package/core/tasks/implement-freeform-work-item.md +30 -0
- package/core/tasks/implement-story-from-jira.md +63 -0
- package/core/tasks/implement-unit-tests.md +45 -0
- package/core/tasks/market-research-from-context7.md +37 -0
- package/core/tasks/review-story.md +30 -0
- package/core/tasks/sonarqube-hotspot-review.md +39 -0
- package/core/tasks/standup-digest.md +21 -0
- package/core/tasks/sync-jira-backlog.md +32 -0
- package/core/tasks/test-design.md +68 -0
- package/core/tasks/validate-next-story.md +37 -0
- package/core/tasks/verify-jira-story-e2e.md +45 -0
- package/core/templates/architecture-tmpl.yaml +651 -0
- package/core/templates/brainstorming-output-tmpl.yaml +156 -0
- package/core/templates/brownfield-architecture-tmpl.yaml +477 -0
- package/core/templates/brownfield-prd-tmpl.yaml +281 -0
- package/core/templates/front-end-architecture-tmpl.yaml +219 -0
- package/core/templates/front-end-spec-tmpl.yaml +350 -0
- package/core/templates/fullstack-architecture-tmpl.yaml +824 -0
- package/core/templates/market-research-tmpl.yaml +253 -0
- package/core/templates/prd-tmpl.yaml +203 -0
- package/core/templates/project-brief-tmpl.yaml +222 -0
- package/core/templates/qa-gate-tmpl.yaml +103 -0
- package/core/templates/story-tmpl.yaml +138 -0
- package/core/workflows/brownfield-fullstack.yaml +298 -0
- package/core/workflows/brownfield-service.yaml +188 -0
- package/core/workflows/brownfield-ui.yaml +198 -0
- package/core/workflows/greenfield-fullstack.yaml +241 -0
- package/core/workflows/greenfield-service.yaml +207 -0
- package/core/workflows/greenfield-ui.yaml +236 -0
- package/dist/agents/aigile-master.txt +500 -0
- package/dist/agents/aigile-orchestrator.agent.txt +224 -0
- package/dist/agents/analyst.txt +69 -0
- package/dist/agents/architect.txt +67 -0
- package/dist/agents/code-tour.agent.txt +232 -0
- package/dist/agents/dev.agent.txt +169 -0
- package/dist/agents/dev.txt +154 -0
- package/dist/agents/expert-react-frontend-engineer.agent.txt +765 -0
- package/dist/agents/pm.txt +57 -0
- package/dist/agents/po.txt +59 -0
- package/dist/agents/qa.txt +62 -0
- package/dist/agents/sm.txt +55 -0
- package/dist/agents/ui-expert.txt +63 -0
- package/dist/agents/ux-expert.txt +55 -0
- package/dist/dev-agent-bundle.txt +154 -0
- package/dist/teams/team-company.txt +10789 -0
- package/docs/mcp-servers.md +102 -0
- package/docs/orchestrator-guide.md +526 -0
- package/mcp/servers.json +108 -0
- package/mcp/servers.yaml +124 -0
- package/package.json +72 -0
- package/tools/cli.js +1864 -0
- package/tools/installer/README.md +24 -0
- package/tools/installer/lib/ide-setup.js +295 -0
- package/tools/installer/lib/installer.js +131 -0
- package/tools/md-assets/web-agent-startup-instructions.md +21 -0
- package/tools/postinstall.js +72 -0
- package/tools/shared/bannerArt.js +68 -0
- package/tools/validate-bundles.js +54 -0
- package/tools/verify-publish-registry.js +34 -0
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 'Technology-agnostic blueprint generator for creating comprehensive copilot-instructions.md files that guide GitHub Copilot to produce code consistent with project standards, architecture patterns, and exact technology versions by analyzing existing codebase patterns and avoiding assumptions.'
|
|
3
|
+
mode: 'agent'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Copilot Instructions Blueprint Generator
|
|
7
|
+
|
|
8
|
+
## Configuration Variables
|
|
9
|
+
${PROJECT_TYPE="Auto-detect|.NET|Java|JavaScript|TypeScript|React|Angular|Python|Multiple|Other"} <!-- Primary technology -->
|
|
10
|
+
${ARCHITECTURE_STYLE="Layered|Microservices|Monolithic|Domain-Driven|Event-Driven|Serverless|Mixed"} <!-- Architectural approach -->
|
|
11
|
+
${CODE_QUALITY_FOCUS="Maintainability|Performance|Security|Accessibility|Testability|All"} <!-- Quality priorities -->
|
|
12
|
+
${DOCUMENTATION_LEVEL="Minimal|Standard|Comprehensive"} <!-- Documentation requirements -->
|
|
13
|
+
${TESTING_REQUIREMENTS="Unit|Integration|E2E|TDD|BDD|All"} <!-- Testing approach -->
|
|
14
|
+
${VERSIONING="Semantic|CalVer|Custom"} <!-- Versioning approach -->
|
|
15
|
+
|
|
16
|
+
## Generated Prompt
|
|
17
|
+
|
|
18
|
+
"Generate a comprehensive copilot-instructions.md file that will guide GitHub Copilot to produce code consistent with our project's standards, architecture, and technology versions. The instructions must be strictly based on actual code patterns in our codebase and avoid making any assumptions. Follow this approach:
|
|
19
|
+
|
|
20
|
+
### 1. Core Instruction Structure
|
|
21
|
+
|
|
22
|
+
```markdown
|
|
23
|
+
# GitHub Copilot Instructions
|
|
24
|
+
|
|
25
|
+
## Priority Guidelines
|
|
26
|
+
|
|
27
|
+
When generating code for this repository:
|
|
28
|
+
|
|
29
|
+
1. **Version Compatibility**: Always detect and respect the exact versions of languages, frameworks, and libraries used in this project
|
|
30
|
+
2. **Context Files**: Prioritize patterns and standards defined in the .github/copilot directory
|
|
31
|
+
3. **Codebase Patterns**: When context files don't provide specific guidance, scan the codebase for established patterns
|
|
32
|
+
4. **Architectural Consistency**: Maintain our ${ARCHITECTURE_STYLE} architectural style and established boundaries
|
|
33
|
+
5. **Code Quality**: Prioritize ${CODE_QUALITY_FOCUS == "All" ? "maintainability, performance, security, accessibility, and testability" : CODE_QUALITY_FOCUS} in all generated code
|
|
34
|
+
|
|
35
|
+
## Technology Version Detection
|
|
36
|
+
|
|
37
|
+
Before generating code, scan the codebase to identify:
|
|
38
|
+
|
|
39
|
+
1. **Language Versions**: Detect the exact versions of programming languages in use
|
|
40
|
+
- Examine project files, configuration files, and package managers
|
|
41
|
+
- Look for language-specific version indicators (e.g., <LangVersion> in .NET projects)
|
|
42
|
+
- Never use language features beyond the detected version
|
|
43
|
+
|
|
44
|
+
2. **Framework Versions**: Identify the exact versions of all frameworks
|
|
45
|
+
- Check package.json, .csproj, pom.xml, requirements.txt, etc.
|
|
46
|
+
- Respect version constraints when generating code
|
|
47
|
+
- Never suggest features not available in the detected framework versions
|
|
48
|
+
|
|
49
|
+
3. **Library Versions**: Note the exact versions of key libraries and dependencies
|
|
50
|
+
- Generate code compatible with these specific versions
|
|
51
|
+
- Never use APIs or features not available in the detected versions
|
|
52
|
+
|
|
53
|
+
## Context Files
|
|
54
|
+
|
|
55
|
+
Prioritize the following files in .github/copilot directory (if they exist):
|
|
56
|
+
|
|
57
|
+
- **architecture.md**: System architecture guidelines
|
|
58
|
+
- **tech-stack.md**: Technology versions and framework details
|
|
59
|
+
- **coding-standards.md**: Code style and formatting standards
|
|
60
|
+
- **folder-structure.md**: Project organization guidelines
|
|
61
|
+
- **exemplars.md**: Exemplary code patterns to follow
|
|
62
|
+
|
|
63
|
+
## Codebase Scanning Instructions
|
|
64
|
+
|
|
65
|
+
When context files don't provide specific guidance:
|
|
66
|
+
|
|
67
|
+
1. Identify similar files to the one being modified or created
|
|
68
|
+
2. Analyze patterns for:
|
|
69
|
+
- Naming conventions
|
|
70
|
+
- Code organization
|
|
71
|
+
- Error handling
|
|
72
|
+
- Logging approaches
|
|
73
|
+
- Documentation style
|
|
74
|
+
- Testing patterns
|
|
75
|
+
|
|
76
|
+
3. Follow the most consistent patterns found in the codebase
|
|
77
|
+
4. When conflicting patterns exist, prioritize patterns in newer files or files with higher test coverage
|
|
78
|
+
5. Never introduce patterns not found in the existing codebase
|
|
79
|
+
|
|
80
|
+
## Code Quality Standards
|
|
81
|
+
|
|
82
|
+
${CODE_QUALITY_FOCUS.includes("Maintainability") || CODE_QUALITY_FOCUS == "All" ? `### Maintainability
|
|
83
|
+
- Write self-documenting code with clear naming
|
|
84
|
+
- Follow the naming and organization conventions evident in the codebase
|
|
85
|
+
- Follow established patterns for consistency
|
|
86
|
+
- Keep functions focused on single responsibilities
|
|
87
|
+
- Limit function complexity and length to match existing patterns` : ""}
|
|
88
|
+
|
|
89
|
+
${CODE_QUALITY_FOCUS.includes("Performance") || CODE_QUALITY_FOCUS == "All" ? `### Performance
|
|
90
|
+
- Follow existing patterns for memory and resource management
|
|
91
|
+
- Match existing patterns for handling computationally expensive operations
|
|
92
|
+
- Follow established patterns for asynchronous operations
|
|
93
|
+
- Apply caching consistently with existing patterns
|
|
94
|
+
- Optimize according to patterns evident in the codebase` : ""}
|
|
95
|
+
|
|
96
|
+
${CODE_QUALITY_FOCUS.includes("Security") || CODE_QUALITY_FOCUS == "All" ? `### Security
|
|
97
|
+
- Follow existing patterns for input validation
|
|
98
|
+
- Apply the same sanitization techniques used in the codebase
|
|
99
|
+
- Use parameterized queries matching existing patterns
|
|
100
|
+
- Follow established authentication and authorization patterns
|
|
101
|
+
- Handle sensitive data according to existing patterns` : ""}
|
|
102
|
+
|
|
103
|
+
${CODE_QUALITY_FOCUS.includes("Accessibility") || CODE_QUALITY_FOCUS == "All" ? `### Accessibility
|
|
104
|
+
- Follow existing accessibility patterns in the codebase
|
|
105
|
+
- Match ARIA attribute usage with existing components
|
|
106
|
+
- Maintain keyboard navigation support consistent with existing code
|
|
107
|
+
- Follow established patterns for color and contrast
|
|
108
|
+
- Apply text alternative patterns consistent with the codebase` : ""}
|
|
109
|
+
|
|
110
|
+
${CODE_QUALITY_FOCUS.includes("Testability") || CODE_QUALITY_FOCUS == "All" ? `### Testability
|
|
111
|
+
- Follow established patterns for testable code
|
|
112
|
+
- Match dependency injection approaches used in the codebase
|
|
113
|
+
- Apply the same patterns for managing dependencies
|
|
114
|
+
- Follow established mocking and test double patterns
|
|
115
|
+
- Match the testing style used in existing tests` : ""}
|
|
116
|
+
|
|
117
|
+
## Documentation Requirements
|
|
118
|
+
|
|
119
|
+
${DOCUMENTATION_LEVEL == "Minimal" ?
|
|
120
|
+
`- Match the level and style of comments found in existing code
|
|
121
|
+
- Document according to patterns observed in the codebase
|
|
122
|
+
- Follow existing patterns for documenting non-obvious behavior
|
|
123
|
+
- Use the same format for parameter descriptions as existing code` : ""}
|
|
124
|
+
|
|
125
|
+
${DOCUMENTATION_LEVEL == "Standard" ?
|
|
126
|
+
`- Follow the exact documentation format found in the codebase
|
|
127
|
+
- Match the XML/JSDoc style and completeness of existing comments
|
|
128
|
+
- Document parameters, returns, and exceptions in the same style
|
|
129
|
+
- Follow existing patterns for usage examples
|
|
130
|
+
- Match class-level documentation style and content` : ""}
|
|
131
|
+
|
|
132
|
+
${DOCUMENTATION_LEVEL == "Comprehensive" ?
|
|
133
|
+
`- Follow the most detailed documentation patterns found in the codebase
|
|
134
|
+
- Match the style and completeness of the best-documented code
|
|
135
|
+
- Document exactly as the most thoroughly documented files do
|
|
136
|
+
- Follow existing patterns for linking documentation
|
|
137
|
+
- Match the level of detail in explanations of design decisions` : ""}
|
|
138
|
+
|
|
139
|
+
## Testing Approach
|
|
140
|
+
|
|
141
|
+
${TESTING_REQUIREMENTS.includes("Unit") || TESTING_REQUIREMENTS == "All" ?
|
|
142
|
+
`### Unit Testing
|
|
143
|
+
- Match the exact structure and style of existing unit tests
|
|
144
|
+
- Follow the same naming conventions for test classes and methods
|
|
145
|
+
- Use the same assertion patterns found in existing tests
|
|
146
|
+
- Apply the same mocking approach used in the codebase
|
|
147
|
+
- Follow existing patterns for test isolation` : ""}
|
|
148
|
+
|
|
149
|
+
${TESTING_REQUIREMENTS.includes("Integration") || TESTING_REQUIREMENTS == "All" ?
|
|
150
|
+
`### Integration Testing
|
|
151
|
+
- Follow the same integration test patterns found in the codebase
|
|
152
|
+
- Match existing patterns for test data setup and teardown
|
|
153
|
+
- Use the same approach for testing component interactions
|
|
154
|
+
- Follow existing patterns for verifying system behavior` : ""}
|
|
155
|
+
|
|
156
|
+
${TESTING_REQUIREMENTS.includes("E2E") || TESTING_REQUIREMENTS == "All" ?
|
|
157
|
+
`### End-to-End Testing
|
|
158
|
+
- Match the existing E2E test structure and patterns
|
|
159
|
+
- Follow established patterns for UI testing
|
|
160
|
+
- Apply the same approach for verifying user journeys` : ""}
|
|
161
|
+
|
|
162
|
+
${TESTING_REQUIREMENTS.includes("TDD") || TESTING_REQUIREMENTS == "All" ?
|
|
163
|
+
`### Test-Driven Development
|
|
164
|
+
- Follow TDD patterns evident in the codebase
|
|
165
|
+
- Match the progression of test cases seen in existing code
|
|
166
|
+
- Apply the same refactoring patterns after tests pass` : ""}
|
|
167
|
+
|
|
168
|
+
${TESTING_REQUIREMENTS.includes("BDD") || TESTING_REQUIREMENTS == "All" ?
|
|
169
|
+
`### Behavior-Driven Development
|
|
170
|
+
- Match the existing Given-When-Then structure in tests
|
|
171
|
+
- Follow the same patterns for behavior descriptions
|
|
172
|
+
- Apply the same level of business focus in test cases` : ""}
|
|
173
|
+
|
|
174
|
+
## Technology-Specific Guidelines
|
|
175
|
+
|
|
176
|
+
${PROJECT_TYPE == ".NET" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### .NET Guidelines
|
|
177
|
+
- Detect and strictly adhere to the specific .NET version in use
|
|
178
|
+
- Use only C# language features compatible with the detected version
|
|
179
|
+
- Follow LINQ usage patterns exactly as they appear in the codebase
|
|
180
|
+
- Match async/await usage patterns from existing code
|
|
181
|
+
- Apply the same dependency injection approach used in the codebase
|
|
182
|
+
- Use the same collection types and patterns found in existing code` : ""}
|
|
183
|
+
|
|
184
|
+
${PROJECT_TYPE == "Java" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### Java Guidelines
|
|
185
|
+
- Detect and adhere to the specific Java version in use
|
|
186
|
+
- Follow the exact same design patterns found in the codebase
|
|
187
|
+
- Match exception handling patterns from existing code
|
|
188
|
+
- Use the same collection types and approaches found in the codebase
|
|
189
|
+
- Apply the dependency injection patterns evident in existing code` : ""}
|
|
190
|
+
|
|
191
|
+
${PROJECT_TYPE == "JavaScript" || PROJECT_TYPE == "TypeScript" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### JavaScript/TypeScript Guidelines
|
|
192
|
+
- Detect and adhere to the specific ECMAScript/TypeScript version in use
|
|
193
|
+
- Follow the same module import/export patterns found in the codebase
|
|
194
|
+
- Match TypeScript type definitions with existing patterns
|
|
195
|
+
- Use the same async patterns (promises, async/await) as existing code
|
|
196
|
+
- Follow error handling patterns from similar files` : ""}
|
|
197
|
+
|
|
198
|
+
${PROJECT_TYPE == "React" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### React Guidelines
|
|
199
|
+
- Detect and adhere to the specific React version in use
|
|
200
|
+
- Match component structure patterns from existing components
|
|
201
|
+
- Follow the same hooks and lifecycle patterns found in the codebase
|
|
202
|
+
- Apply the same state management approach used in existing components
|
|
203
|
+
- Match prop typing and validation patterns from existing code` : ""}
|
|
204
|
+
|
|
205
|
+
${PROJECT_TYPE == "Angular" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### Angular Guidelines
|
|
206
|
+
- Detect and adhere to the specific Angular version in use
|
|
207
|
+
- Follow the same component and module patterns found in the codebase
|
|
208
|
+
- Match decorator usage exactly as seen in existing code
|
|
209
|
+
- Apply the same RxJS patterns found in the codebase
|
|
210
|
+
- Follow existing patterns for component communication` : ""}
|
|
211
|
+
|
|
212
|
+
${PROJECT_TYPE == "Python" || PROJECT_TYPE == "Auto-detect" || PROJECT_TYPE == "Multiple" ? `### Python Guidelines
|
|
213
|
+
- Detect and adhere to the specific Python version in use
|
|
214
|
+
- Follow the same import organization found in existing modules
|
|
215
|
+
- Match type hinting approaches if used in the codebase
|
|
216
|
+
- Apply the same error handling patterns found in existing code
|
|
217
|
+
- Follow the same module organization patterns` : ""}
|
|
218
|
+
|
|
219
|
+
## Version Control Guidelines
|
|
220
|
+
|
|
221
|
+
${VERSIONING == "Semantic" ?
|
|
222
|
+
`- Follow Semantic Versioning patterns as applied in the codebase
|
|
223
|
+
- Match existing patterns for documenting breaking changes
|
|
224
|
+
- Follow the same approach for deprecation notices` : ""}
|
|
225
|
+
|
|
226
|
+
${VERSIONING == "CalVer" ?
|
|
227
|
+
`- Follow Calendar Versioning patterns as applied in the codebase
|
|
228
|
+
- Match existing patterns for documenting changes
|
|
229
|
+
- Follow the same approach for highlighting significant changes` : ""}
|
|
230
|
+
|
|
231
|
+
${VERSIONING == "Custom" ?
|
|
232
|
+
`- Match the exact versioning pattern observed in the codebase
|
|
233
|
+
- Follow the same changelog format used in existing documentation
|
|
234
|
+
- Apply the same tagging conventions used in the project` : ""}
|
|
235
|
+
|
|
236
|
+
## General Best Practices
|
|
237
|
+
|
|
238
|
+
- Follow naming conventions exactly as they appear in existing code
|
|
239
|
+
- Match code organization patterns from similar files
|
|
240
|
+
- Apply error handling consistent with existing patterns
|
|
241
|
+
- Follow the same approach to testing as seen in the codebase
|
|
242
|
+
- Match logging patterns from existing code
|
|
243
|
+
- Use the same approach to configuration as seen in the codebase
|
|
244
|
+
|
|
245
|
+
## Project-Specific Guidance
|
|
246
|
+
|
|
247
|
+
- Scan the codebase thoroughly before generating any code
|
|
248
|
+
- Respect existing architectural boundaries without exception
|
|
249
|
+
- Match the style and patterns of surrounding code
|
|
250
|
+
- When in doubt, prioritize consistency with existing code over external best practices
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### 2. Codebase Analysis Instructions
|
|
254
|
+
|
|
255
|
+
To create the copilot-instructions.md file, first analyze the codebase to:
|
|
256
|
+
|
|
257
|
+
1. **Identify Exact Technology Versions**:
|
|
258
|
+
- ${PROJECT_TYPE == "Auto-detect" ? "Detect all programming languages, frameworks, and libraries by scanning file extensions and configuration files" : `Focus on ${PROJECT_TYPE} technologies`}
|
|
259
|
+
- Extract precise version information from project files, package.json, .csproj, etc.
|
|
260
|
+
- Document version constraints and compatibility requirements
|
|
261
|
+
|
|
262
|
+
2. **Understand Architecture**:
|
|
263
|
+
- Analyze folder structure and module organization
|
|
264
|
+
- Identify clear layer boundaries and component relationships
|
|
265
|
+
- Document communication patterns between components
|
|
266
|
+
|
|
267
|
+
3. **Document Code Patterns**:
|
|
268
|
+
- Catalog naming conventions for different code elements
|
|
269
|
+
- Note documentation styles and completeness
|
|
270
|
+
- Document error handling patterns
|
|
271
|
+
- Map testing approaches and coverage
|
|
272
|
+
|
|
273
|
+
4. **Note Quality Standards**:
|
|
274
|
+
- Identify performance optimization techniques actually used
|
|
275
|
+
- Document security practices implemented in the code
|
|
276
|
+
- Note accessibility features present (if applicable)
|
|
277
|
+
- Document code quality patterns evident in the codebase
|
|
278
|
+
|
|
279
|
+
### 3. Implementation Notes
|
|
280
|
+
|
|
281
|
+
The final copilot-instructions.md should:
|
|
282
|
+
- Be placed in the .github/copilot directory
|
|
283
|
+
- Reference only patterns and standards that exist in the codebase
|
|
284
|
+
- Include explicit version compatibility requirements
|
|
285
|
+
- Avoid prescribing any practices not evident in the code
|
|
286
|
+
- Provide concrete examples from the codebase
|
|
287
|
+
- Be comprehensive yet concise enough for Copilot to effectively use
|
|
288
|
+
|
|
289
|
+
Important: Only include guidance based on patterns actually observed in the codebase. Explicitly instruct Copilot to prioritize consistency with existing code over external best practices or newer language features.
|
|
290
|
+
"
|
|
291
|
+
|
|
292
|
+
## Expected Output
|
|
293
|
+
|
|
294
|
+
A comprehensive copilot-instructions.md file that will guide GitHub Copilot to produce code that is perfectly compatible with your existing technology versions and follows your established patterns and architecture.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
mode: 'agent'
|
|
3
|
+
description: 'Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.'
|
|
4
|
+
tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI']
|
|
5
|
+
---
|
|
6
|
+
# Create Implementation Plan
|
|
7
|
+
|
|
8
|
+
## Primary Directive
|
|
9
|
+
|
|
10
|
+
Your goal is to create a new implementation plan file for `${input:PlanPurpose}`. Your output must be machine-readable, deterministic, and structured for autonomous execution by other AI systems or humans.
|
|
11
|
+
|
|
12
|
+
## Execution Context
|
|
13
|
+
|
|
14
|
+
This prompt is designed for AI-to-AI communication and automated processing. All instructions must be interpreted literally and executed systematically without human interpretation or clarification.
|
|
15
|
+
|
|
16
|
+
## Core Requirements
|
|
17
|
+
|
|
18
|
+
- Generate implementation plans that are fully executable by AI agents or humans
|
|
19
|
+
- Use deterministic language with zero ambiguity
|
|
20
|
+
- Structure all content for automated parsing and execution
|
|
21
|
+
- Ensure complete self-containment with no external dependencies for understanding
|
|
22
|
+
|
|
23
|
+
## Plan Structure Requirements
|
|
24
|
+
|
|
25
|
+
Plans must consist of discrete, atomic phases containing executable tasks. Each phase must be independently processable by AI agents or humans without cross-phase dependencies unless explicitly declared.
|
|
26
|
+
|
|
27
|
+
## Phase Architecture
|
|
28
|
+
|
|
29
|
+
- Each phase must have measurable completion criteria
|
|
30
|
+
- Tasks within phases must be executable in parallel unless dependencies are specified
|
|
31
|
+
- All task descriptions must include specific file paths, function names, and exact implementation details
|
|
32
|
+
- No task should require human interpretation or decision-making
|
|
33
|
+
|
|
34
|
+
## AI-Optimized Implementation Standards
|
|
35
|
+
|
|
36
|
+
- Use explicit, unambiguous language with zero interpretation required
|
|
37
|
+
- Structure all content as machine-parseable formats (tables, lists, structured data)
|
|
38
|
+
- Include specific file paths, line numbers, and exact code references where applicable
|
|
39
|
+
- Define all variables, constants, and configuration values explicitly
|
|
40
|
+
- Provide complete context within each task description
|
|
41
|
+
- Use standardized prefixes for all identifiers (REQ-, TASK-, etc.)
|
|
42
|
+
- Include validation criteria that can be automatically verified
|
|
43
|
+
|
|
44
|
+
## Output File Specifications
|
|
45
|
+
|
|
46
|
+
- Save implementation plan files in `/plan/` directory
|
|
47
|
+
- Use naming convention: `[purpose]-[component]-[version].md`
|
|
48
|
+
- Purpose prefixes: `upgrade|refactor|feature|data|infrastructure|process|architecture|design`
|
|
49
|
+
- Example: `upgrade-system-command-4.md`, `feature-auth-module-1.md`
|
|
50
|
+
- File must be valid Markdown with proper front matter structure
|
|
51
|
+
|
|
52
|
+
## Mandatory Template Structure
|
|
53
|
+
|
|
54
|
+
All implementation plans must strictly adhere to the following template. Each section is required and must be populated with specific, actionable content. AI agents must validate template compliance before execution.
|
|
55
|
+
|
|
56
|
+
## Template Validation Rules
|
|
57
|
+
|
|
58
|
+
- All front matter fields must be present and properly formatted
|
|
59
|
+
- All section headers must match exactly (case-sensitive)
|
|
60
|
+
- All identifier prefixes must follow the specified format
|
|
61
|
+
- Tables must include all required columns
|
|
62
|
+
- No placeholder text may remain in the final output
|
|
63
|
+
|
|
64
|
+
## Status
|
|
65
|
+
|
|
66
|
+
The status of the implementation plan must be clearly defined in the front matter and must reflect the current state of the plan. The status can be one of the following (status_color in brackets): `Completed` (bright green badge), `In progress` (yellow badge), `Planned` (blue badge), `Deprecated` (red badge), or `On Hold` (orange badge). It should also be displayed as a badge in the introduction section.
|
|
67
|
+
|
|
68
|
+
```md
|
|
69
|
+
---
|
|
70
|
+
goal: [Concise Title Describing the Package Implementation Plan's Goal]
|
|
71
|
+
version: [Optional: e.g., 1.0, Date]
|
|
72
|
+
date_created: [YYYY-MM-DD]
|
|
73
|
+
last_updated: [Optional: YYYY-MM-DD]
|
|
74
|
+
owner: [Optional: Team/Individual responsible for this spec]
|
|
75
|
+
status: 'Completed'|'In progress'|'Planned'|'Deprecated'|'On Hold'
|
|
76
|
+
tags: [Optional: List of relevant tags or categories, e.g., `feature`, `upgrade`, `chore`, `architecture`, `migration`, `bug` etc]
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
# Introduction
|
|
80
|
+
|
|
81
|
+

|
|
82
|
+
|
|
83
|
+
[A short concise introduction to the plan and the goal it is intended to achieve.]
|
|
84
|
+
|
|
85
|
+
## 1. Requirements & Constraints
|
|
86
|
+
|
|
87
|
+
[Explicitly list all requirements & constraints that affect the plan and constrain how it is implemented. Use bullet points or tables for clarity.]
|
|
88
|
+
|
|
89
|
+
- **REQ-001**: Requirement 1
|
|
90
|
+
- **SEC-001**: Security Requirement 1
|
|
91
|
+
- **[3 LETTERS]-001**: Other Requirement 1
|
|
92
|
+
- **CON-001**: Constraint 1
|
|
93
|
+
- **GUD-001**: Guideline 1
|
|
94
|
+
- **PAT-001**: Pattern to follow 1
|
|
95
|
+
|
|
96
|
+
## 2. Implementation Steps
|
|
97
|
+
|
|
98
|
+
### Implementation Phase 1
|
|
99
|
+
|
|
100
|
+
- GOAL-001: [Describe the goal of this phase, e.g., "Implement feature X", "Refactor module Y", etc.]
|
|
101
|
+
|
|
102
|
+
| Task | Description | Completed | Date |
|
|
103
|
+
|------|-------------|-----------|------|
|
|
104
|
+
| TASK-001 | Description of task 1 | ✅ | 2025-04-25 |
|
|
105
|
+
| TASK-002 | Description of task 2 | | |
|
|
106
|
+
| TASK-003 | Description of task 3 | | |
|
|
107
|
+
|
|
108
|
+
### Implementation Phase 2
|
|
109
|
+
|
|
110
|
+
- GOAL-002: [Describe the goal of this phase, e.g., "Implement feature X", "Refactor module Y", etc.]
|
|
111
|
+
|
|
112
|
+
| Task | Description | Completed | Date |
|
|
113
|
+
|------|-------------|-----------|------|
|
|
114
|
+
| TASK-004 | Description of task 4 | | |
|
|
115
|
+
| TASK-005 | Description of task 5 | | |
|
|
116
|
+
| TASK-006 | Description of task 6 | | |
|
|
117
|
+
|
|
118
|
+
## 3. Alternatives
|
|
119
|
+
|
|
120
|
+
[A bullet point list of any alternative approaches that were considered and why they were not chosen. This helps to provide context and rationale for the chosen approach.]
|
|
121
|
+
|
|
122
|
+
- **ALT-001**: Alternative approach 1
|
|
123
|
+
- **ALT-002**: Alternative approach 2
|
|
124
|
+
|
|
125
|
+
## 4. Dependencies
|
|
126
|
+
|
|
127
|
+
[List any dependencies that need to be addressed, such as libraries, frameworks, or other components that the plan relies on.]
|
|
128
|
+
|
|
129
|
+
- **DEP-001**: Dependency 1
|
|
130
|
+
- **DEP-002**: Dependency 2
|
|
131
|
+
|
|
132
|
+
## 5. Files
|
|
133
|
+
|
|
134
|
+
[List the files that will be affected by the feature or refactoring task.]
|
|
135
|
+
|
|
136
|
+
- **FILE-001**: Description of file 1
|
|
137
|
+
- **FILE-002**: Description of file 2
|
|
138
|
+
|
|
139
|
+
## 6. Testing
|
|
140
|
+
|
|
141
|
+
[List the tests that need to be implemented to verify the feature or refactoring task.]
|
|
142
|
+
|
|
143
|
+
- **TEST-001**: Description of test 1
|
|
144
|
+
- **TEST-002**: Description of test 2
|
|
145
|
+
|
|
146
|
+
## 7. Risks & Assumptions
|
|
147
|
+
|
|
148
|
+
[List any risks or assumptions related to the implementation of the plan.]
|
|
149
|
+
|
|
150
|
+
- **RISK-001**: Risk 1
|
|
151
|
+
- **ASSUMPTION-001**: Assumption 1
|
|
152
|
+
|
|
153
|
+
## 8. Related Specifications / Further Reading
|
|
154
|
+
|
|
155
|
+
[Link to related spec 1]
|
|
156
|
+
[Link to relevant external documentation]
|
|
157
|
+
```
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
mode: 'agent'
|
|
3
|
+
description: 'Create comprehensive, standardized documentation for object-oriented components following industry best practices and architectural documentation standards.'
|
|
4
|
+
tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'fetch', 'githubRepo', 'openSimpleBrowser', 'problems', 'runTasks', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI']
|
|
5
|
+
---
|
|
6
|
+
# Generate Standard OO Component Documentation
|
|
7
|
+
|
|
8
|
+
Create comprehensive documentation for the object-oriented component(s) at: `${input:ComponentPath}`.
|
|
9
|
+
|
|
10
|
+
Analyze the component by examining code in the provided path. If folder, analyze all source files. If single file, treat as main component and analyze related files in same directory.
|
|
11
|
+
|
|
12
|
+
## Documentation Standards
|
|
13
|
+
|
|
14
|
+
- DOC-001: Follow C4 Model documentation levels (Context, Containers, Components, Code)
|
|
15
|
+
- DOC-002: Align with Arc42 software architecture documentation template
|
|
16
|
+
- DOC-003: Comply with IEEE 1016 Software Design Description standard
|
|
17
|
+
- DOC-004: Use Agile Documentation principles (just enough documentation that adds value)
|
|
18
|
+
- DOC-005: Target developers and maintainers as primary audience
|
|
19
|
+
|
|
20
|
+
## Analysis Instructions
|
|
21
|
+
|
|
22
|
+
- ANA-001: Determine path type (folder vs single file) and identify primary component
|
|
23
|
+
- ANA-002: Examine source code files for class structures and inheritance
|
|
24
|
+
- ANA-003: Identify design patterns and architectural decisions
|
|
25
|
+
- ANA-004: Document public APIs, interfaces, and dependencies
|
|
26
|
+
- ANA-005: Recognize creational/structural/behavioral patterns
|
|
27
|
+
- ANA-006: Document method parameters, return values, exceptions
|
|
28
|
+
- ANA-007: Assess performance, security, reliability, maintainability
|
|
29
|
+
- ANA-008: Infer integration patterns and data flow
|
|
30
|
+
|
|
31
|
+
## Language-Specific Optimizations
|
|
32
|
+
|
|
33
|
+
- LNG-001: **C#/.NET** - async/await, dependency injection, configuration, disposal
|
|
34
|
+
- LNG-002: **Java** - Spring framework, annotations, exception handling, packaging
|
|
35
|
+
- LNG-003: **TypeScript/JavaScript** - modules, async patterns, types, npm
|
|
36
|
+
- LNG-004: **Python** - packages, virtual environments, type hints, testing
|
|
37
|
+
|
|
38
|
+
## Error Handling
|
|
39
|
+
|
|
40
|
+
- ERR-001: Path doesn't exist - provide correct format guidance
|
|
41
|
+
- ERR-002: No source files found - suggest alternative locations
|
|
42
|
+
- ERR-003: Unclear structure - document findings and request clarification
|
|
43
|
+
- ERR-004: Non-standard patterns - document custom approaches
|
|
44
|
+
- ERR-005: Insufficient code - focus on available information, highlight gaps
|
|
45
|
+
|
|
46
|
+
## Output Format
|
|
47
|
+
|
|
48
|
+
Generate well-structured Markdown with clear heading hierarchy, code blocks, tables, bullet points, and proper formatting for readability and maintainability.
|
|
49
|
+
|
|
50
|
+
## File Location
|
|
51
|
+
|
|
52
|
+
The documentation should be saved in the `/docs/components/` directory and named according to the convention: `[component-name]-documentation.md`.
|
|
53
|
+
|
|
54
|
+
## Required Documentation Structure
|
|
55
|
+
|
|
56
|
+
The documentation file must follow the template below, ensuring that all sections are filled out appropriately. The front matter for the markdown should be structured correctly as per the example following:
|
|
57
|
+
|
|
58
|
+
```md
|
|
59
|
+
---
|
|
60
|
+
title: [Component Name] - Technical Documentation
|
|
61
|
+
component_path: `${input:ComponentPath}`
|
|
62
|
+
version: [Optional: e.g., 1.0, Date]
|
|
63
|
+
date_created: [YYYY-MM-DD]
|
|
64
|
+
last_updated: [Optional: YYYY-MM-DD]
|
|
65
|
+
owner: [Optional: Team/Individual responsible for this component]
|
|
66
|
+
tags: [Optional: List of relevant tags or categories, e.g., `component`,`service`,`tool`,`infrastructure`,`documentation`,`architecture` etc]
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
# [Component Name] Documentation
|
|
70
|
+
|
|
71
|
+
[A short concise introduction to the component and its purpose within the system.]
|
|
72
|
+
|
|
73
|
+
## 1. Component Overview
|
|
74
|
+
|
|
75
|
+
### Purpose/Responsibility
|
|
76
|
+
- OVR-001: State component's primary responsibility
|
|
77
|
+
- OVR-002: Define scope (included/excluded functionality)
|
|
78
|
+
- OVR-003: Describe system context and relationships
|
|
79
|
+
|
|
80
|
+
## 2. Architecture Section
|
|
81
|
+
|
|
82
|
+
- ARC-001: Document design patterns used (Repository, Factory, Observer, etc.)
|
|
83
|
+
- ARC-002: List internal and external dependencies with purposes
|
|
84
|
+
- ARC-003: Document component interactions and relationships
|
|
85
|
+
- ARC-004: Include visual diagrams (UML class, sequence, component)
|
|
86
|
+
- ARC-005: Create mermaid diagram showing component structure, relationships, and dependencies
|
|
87
|
+
|
|
88
|
+
### Component Structure and Dependencies Diagram
|
|
89
|
+
|
|
90
|
+
Include a comprehensive mermaid diagram that shows:
|
|
91
|
+
- **Component structure** - Main classes, interfaces, and their relationships
|
|
92
|
+
- **Internal dependencies** - How components interact within the system
|
|
93
|
+
- **External dependencies** - External libraries, services, databases, APIs
|
|
94
|
+
- **Data flow** - Direction of dependencies and interactions
|
|
95
|
+
- **Inheritance/composition** - Class hierarchies and composition relationships
|
|
96
|
+
|
|
97
|
+
```mermaid
|
|
98
|
+
graph TD
|
|
99
|
+
subgraph "Component System"
|
|
100
|
+
A[Main Component] --> B[Internal Service]
|
|
101
|
+
A --> C[Internal Repository]
|
|
102
|
+
B --> D[Business Logic]
|
|
103
|
+
C --> E[Data Access Layer]
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
subgraph "External Dependencies"
|
|
107
|
+
F[External API]
|
|
108
|
+
G[Database]
|
|
109
|
+
H[Third-party Library]
|
|
110
|
+
I[Configuration Service]
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
A --> F
|
|
114
|
+
E --> G
|
|
115
|
+
B --> H
|
|
116
|
+
A --> I
|
|
117
|
+
|
|
118
|
+
classDiagram
|
|
119
|
+
class MainComponent {
|
|
120
|
+
+property: Type
|
|
121
|
+
+method(): ReturnType
|
|
122
|
+
+asyncMethod(): Promise~Type~
|
|
123
|
+
}
|
|
124
|
+
class InternalService {
|
|
125
|
+
+businessOperation(): Result
|
|
126
|
+
}
|
|
127
|
+
class ExternalAPI {
|
|
128
|
+
<<external>>
|
|
129
|
+
+apiCall(): Data
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
MainComponent --> InternalService
|
|
133
|
+
MainComponent --> ExternalAPI
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## 3. Interface Documentation
|
|
137
|
+
|
|
138
|
+
- INT-001: Document all public interfaces and usage patterns
|
|
139
|
+
- INT-002: Create method/property reference table
|
|
140
|
+
- INT-003: Document events/callbacks/notification mechanisms
|
|
141
|
+
|
|
142
|
+
| Method/Property | Purpose | Parameters | Return Type | Usage Notes |
|
|
143
|
+
|-----------------|---------|------------|-------------|-------------|
|
|
144
|
+
| [Name] | [Purpose] | [Parameters] | [Type] | [Notes] |
|
|
145
|
+
|
|
146
|
+
## 4. Implementation Details
|
|
147
|
+
|
|
148
|
+
- IMP-001: Document main implementation classes and responsibilities
|
|
149
|
+
- IMP-002: Describe configuration requirements and initialization
|
|
150
|
+
- IMP-003: Document key algorithms and business logic
|
|
151
|
+
- IMP-004: Note performance characteristics and bottlenecks
|
|
152
|
+
|
|
153
|
+
## 5. Usage Examples
|
|
154
|
+
|
|
155
|
+
### Basic Usage
|
|
156
|
+
|
|
157
|
+
```csharp
|
|
158
|
+
// Basic usage example
|
|
159
|
+
var component = new ComponentName();
|
|
160
|
+
component.DoSomething();
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Advanced Usage
|
|
164
|
+
|
|
165
|
+
```csharp
|
|
166
|
+
// Advanced configuration patterns
|
|
167
|
+
var options = new ComponentOptions();
|
|
168
|
+
var component = ComponentFactory.Create(options);
|
|
169
|
+
await component.ProcessAsync(data);
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
- USE-001: Provide basic usage examples
|
|
173
|
+
- USE-002: Show advanced configuration patterns
|
|
174
|
+
- USE-003: Document best practices and recommended patterns
|
|
175
|
+
|
|
176
|
+
## 6. Quality Attributes
|
|
177
|
+
|
|
178
|
+
- QUA-001: Security (authentication, authorization, data protection)
|
|
179
|
+
- QUA-002: Performance (characteristics, scalability, resource usage)
|
|
180
|
+
- QUA-003: Reliability (error handling, fault tolerance, recovery)
|
|
181
|
+
- QUA-004: Maintainability (standards, testing, documentation)
|
|
182
|
+
- QUA-005: Extensibility (extension points, customization options)
|
|
183
|
+
|
|
184
|
+
## 7. Reference Information
|
|
185
|
+
|
|
186
|
+
- REF-001: List dependencies with versions and purposes
|
|
187
|
+
- REF-002: Complete configuration options reference
|
|
188
|
+
- REF-003: Testing guidelines and mock setup
|
|
189
|
+
- REF-004: Troubleshooting (common issues, error messages)
|
|
190
|
+
- REF-005: Related documentation links
|
|
191
|
+
- REF-006: Change history and migration notes
|
|
192
|
+
|
|
193
|
+
```
|