@abarcenas/ai-workflow-template 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/instructions/memory-bank.instructions.md +14 -0
- package/.github/instructions/task-implementation.instructions.md +8 -0
- package/.github/skills/architecture-blueprint-generator/SKILL.md +322 -0
- package/.github/skills/create-implementation-plan/SKILL.md +157 -0
- package/.github/skills/create-specification/SKILL.md +127 -0
- package/package.json +1 -1
- package/scripts/sync.js +5 -0
|
@@ -125,6 +125,20 @@ flowchart TD
|
|
|
125
125
|
Complete -->|No| Execute
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
+
### Audit Trail Requirement
|
|
129
|
+
|
|
130
|
+
All planning, implementation, and execution work must be recorded in Markdown files.
|
|
131
|
+
|
|
132
|
+
For every task:
|
|
133
|
+
|
|
134
|
+
- Create or update a task file in `tasks/` with the request, plan, progress, and decisions.
|
|
135
|
+
- Record implementation progress in the task progress log as work advances.
|
|
136
|
+
- Keep `tasks/_index.md` current.
|
|
137
|
+
- Use `progress.md` and `activeContext.md` for broader project status when relevant.
|
|
138
|
+
- Do not rely on chat alone for durable tracking of plans or execution history.
|
|
139
|
+
|
|
140
|
+
The Markdown record is the source of truth for auditing, traceability, and recovery after session resets.
|
|
141
|
+
|
|
128
142
|
## Documentation Updates
|
|
129
143
|
|
|
130
144
|
Memory Bank updates occur when:
|
|
@@ -11,6 +11,14 @@ Implementation progress MUST be tracked in a corresponding changes files located
|
|
|
11
11
|
|
|
12
12
|
## Core Implementation Process
|
|
13
13
|
|
|
14
|
+
### Markdown Audit Trail
|
|
15
|
+
|
|
16
|
+
All planning, implementation, and execution work must be recorded in Markdown files.
|
|
17
|
+
|
|
18
|
+
- Keep the plan file, the changes file, and any task-specific notes current as work progresses.
|
|
19
|
+
- Do not rely on chat alone for durable tracking of implementation decisions or progress.
|
|
20
|
+
- Treat the Markdown record as the source of truth for auditability and session recovery.
|
|
21
|
+
|
|
14
22
|
### 1. Plan Analysis and Preparation
|
|
15
23
|
|
|
16
24
|
**MUST complete before starting implementation:**
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architecture-blueprint-generator
|
|
3
|
+
description: 'Comprehensive project architecture blueprint generator that analyzes codebases to create detailed architectural documentation. Automatically detects technology stacks and architectural patterns, generates visual diagrams, documents implementation patterns, and provides extensible blueprints for maintaining architectural consistency and guiding new development.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comprehensive Project Architecture Blueprint Generator
|
|
7
|
+
|
|
8
|
+
## Configuration Variables
|
|
9
|
+
${PROJECT_TYPE="Auto-detect|.NET|Java|React|Angular|Python|Node.js|Flutter|Other"} <!-- Primary technology -->
|
|
10
|
+
${ARCHITECTURE_PATTERN="Auto-detect|Clean Architecture|Microservices|Layered|MVVM|MVC|Hexagonal|Event-Driven|Serverless|Monolithic|Other"} <!-- Primary architectural pattern -->
|
|
11
|
+
${DIAGRAM_TYPE="C4|UML|Flow|Component|None"} <!-- Architecture diagram type -->
|
|
12
|
+
${DETAIL_LEVEL="High-level|Detailed|Comprehensive|Implementation-Ready"} <!-- Level of detail to include -->
|
|
13
|
+
${INCLUDES_CODE_EXAMPLES=true|false} <!-- Include sample code to illustrate patterns -->
|
|
14
|
+
${INCLUDES_IMPLEMENTATION_PATTERNS=true|false} <!-- Include detailed implementation patterns -->
|
|
15
|
+
${INCLUDES_DECISION_RECORDS=true|false} <!-- Include architectural decision records -->
|
|
16
|
+
${FOCUS_ON_EXTENSIBILITY=true|false} <!-- Emphasize extension points and patterns -->
|
|
17
|
+
|
|
18
|
+
## Generated Prompt
|
|
19
|
+
|
|
20
|
+
"Create a comprehensive 'Project_Architecture_Blueprint.md' document that thoroughly analyzes the architectural patterns in the codebase to serve as a definitive reference for maintaining architectural consistency. Use the following approach:
|
|
21
|
+
|
|
22
|
+
### 1. Architecture Detection and Analysis
|
|
23
|
+
- ${PROJECT_TYPE == "Auto-detect" ? "Analyze the project structure to identify all technology stacks and frameworks in use by examining:
|
|
24
|
+
- Project and configuration files
|
|
25
|
+
- Package dependencies and import statements
|
|
26
|
+
- Framework-specific patterns and conventions
|
|
27
|
+
- Build and deployment configurations" : "Focus on ${PROJECT_TYPE} specific patterns and practices"}
|
|
28
|
+
|
|
29
|
+
- ${ARCHITECTURE_PATTERN == "Auto-detect" ? "Determine the architectural pattern(s) by analyzing:
|
|
30
|
+
- Folder organization and namespacing
|
|
31
|
+
- Dependency flow and component boundaries
|
|
32
|
+
- Interface segregation and abstraction patterns
|
|
33
|
+
- Communication mechanisms between components" : "Document how the ${ARCHITECTURE_PATTERN} architecture is implemented"}
|
|
34
|
+
|
|
35
|
+
### 2. Architectural Overview
|
|
36
|
+
- Provide a clear, concise explanation of the overall architectural approach
|
|
37
|
+
- Document the guiding principles evident in the architectural choices
|
|
38
|
+
- Identify architectural boundaries and how they're enforced
|
|
39
|
+
- Note any hybrid architectural patterns or adaptations of standard patterns
|
|
40
|
+
|
|
41
|
+
### 3. Architecture Visualization
|
|
42
|
+
${DIAGRAM_TYPE != "None" ? `Create ${DIAGRAM_TYPE} diagrams at multiple levels of abstraction:
|
|
43
|
+
- High-level architectural overview showing major subsystems
|
|
44
|
+
- Component interaction diagrams showing relationships and dependencies
|
|
45
|
+
- Data flow diagrams showing how information moves through the system
|
|
46
|
+
- Ensure diagrams accurately reflect the actual implementation, not theoretical patterns` : "Describe the component relationships based on actual code dependencies, providing clear textual explanations of:
|
|
47
|
+
- Subsystem organization and boundaries
|
|
48
|
+
- Dependency directions and component interactions
|
|
49
|
+
- Data flow and process sequences"}
|
|
50
|
+
|
|
51
|
+
### 4. Core Architectural Components
|
|
52
|
+
For each architectural component discovered in the codebase:
|
|
53
|
+
|
|
54
|
+
- **Purpose and Responsibility**:
|
|
55
|
+
- Primary function within the architecture
|
|
56
|
+
- Business domains or technical concerns addressed
|
|
57
|
+
- Boundaries and scope limitations
|
|
58
|
+
|
|
59
|
+
- **Internal Structure**:
|
|
60
|
+
- Organization of classes/modules within the component
|
|
61
|
+
- Key abstractions and their implementations
|
|
62
|
+
- Design patterns utilized
|
|
63
|
+
|
|
64
|
+
- **Interaction Patterns**:
|
|
65
|
+
- How the component communicates with others
|
|
66
|
+
- Interfaces exposed and consumed
|
|
67
|
+
- Dependency injection patterns
|
|
68
|
+
- Event publishing/subscription mechanisms
|
|
69
|
+
|
|
70
|
+
- **Evolution Patterns**:
|
|
71
|
+
- How the component can be extended
|
|
72
|
+
- Variation points and plugin mechanisms
|
|
73
|
+
- Configuration and customization approaches
|
|
74
|
+
|
|
75
|
+
### 5. Architectural Layers and Dependencies
|
|
76
|
+
- Map the layer structure as implemented in the codebase
|
|
77
|
+
- Document the dependency rules between layers
|
|
78
|
+
- Identify abstraction mechanisms that enable layer separation
|
|
79
|
+
- Note any circular dependencies or layer violations
|
|
80
|
+
- Document dependency injection patterns used to maintain separation
|
|
81
|
+
|
|
82
|
+
### 6. Data Architecture
|
|
83
|
+
- Document domain model structure and organization
|
|
84
|
+
- Map entity relationships and aggregation patterns
|
|
85
|
+
- Identify data access patterns (repositories, data mappers, etc.)
|
|
86
|
+
- Document data transformation and mapping approaches
|
|
87
|
+
- Note caching strategies and implementations
|
|
88
|
+
- Document data validation patterns
|
|
89
|
+
|
|
90
|
+
### 7. Cross-Cutting Concerns Implementation
|
|
91
|
+
Document implementation patterns for cross-cutting concerns:
|
|
92
|
+
|
|
93
|
+
- **Authentication & Authorization**:
|
|
94
|
+
- Security model implementation
|
|
95
|
+
- Permission enforcement patterns
|
|
96
|
+
- Identity management approach
|
|
97
|
+
- Security boundary patterns
|
|
98
|
+
|
|
99
|
+
- **Error Handling & Resilience**:
|
|
100
|
+
- Exception handling patterns
|
|
101
|
+
- Retry and circuit breaker implementations
|
|
102
|
+
- Fallback and graceful degradation strategies
|
|
103
|
+
- Error reporting and monitoring approaches
|
|
104
|
+
|
|
105
|
+
- **Logging & Monitoring**:
|
|
106
|
+
- Instrumentation patterns
|
|
107
|
+
- Observability implementation
|
|
108
|
+
- Diagnostic information flow
|
|
109
|
+
- Performance monitoring approach
|
|
110
|
+
|
|
111
|
+
- **Validation**:
|
|
112
|
+
- Input validation strategies
|
|
113
|
+
- Business rule validation implementation
|
|
114
|
+
- Validation responsibility distribution
|
|
115
|
+
- Error reporting patterns
|
|
116
|
+
|
|
117
|
+
- **Configuration Management**:
|
|
118
|
+
- Configuration source patterns
|
|
119
|
+
- Environment-specific configuration strategies
|
|
120
|
+
- Secret management approach
|
|
121
|
+
- Feature flag implementation
|
|
122
|
+
|
|
123
|
+
### 8. Service Communication Patterns
|
|
124
|
+
- Document service boundary definitions
|
|
125
|
+
- Identify communication protocols and formats
|
|
126
|
+
- Map synchronous vs. asynchronous communication patterns
|
|
127
|
+
- Document API versioning strategies
|
|
128
|
+
- Identify service discovery mechanisms
|
|
129
|
+
- Note resilience patterns in service communication
|
|
130
|
+
|
|
131
|
+
### 9. Technology-Specific Architectural Patterns
|
|
132
|
+
${PROJECT_TYPE == "Auto-detect" ? "For each detected technology stack, document specific architectural patterns:" : `Document ${PROJECT_TYPE}-specific architectural patterns:`}
|
|
133
|
+
|
|
134
|
+
${(PROJECT_TYPE == ".NET" || PROJECT_TYPE == "Auto-detect") ?
|
|
135
|
+
"#### .NET Architectural Patterns (if detected)
|
|
136
|
+
- Host and application model implementation
|
|
137
|
+
- Middleware pipeline organization
|
|
138
|
+
- Framework service integration patterns
|
|
139
|
+
- ORM and data access approaches
|
|
140
|
+
- API implementation patterns (controllers, minimal APIs, etc.)
|
|
141
|
+
- Dependency injection container configuration" : ""}
|
|
142
|
+
|
|
143
|
+
${(PROJECT_TYPE == "Java" || PROJECT_TYPE == "Auto-detect") ?
|
|
144
|
+
"#### Java Architectural Patterns (if detected)
|
|
145
|
+
- Application container and bootstrap process
|
|
146
|
+
- Dependency injection framework usage (Spring, CDI, etc.)
|
|
147
|
+
- AOP implementation patterns
|
|
148
|
+
- Transaction boundary management
|
|
149
|
+
- ORM configuration and usage patterns
|
|
150
|
+
- Service implementation patterns" : ""}
|
|
151
|
+
|
|
152
|
+
${(PROJECT_TYPE == "React" || PROJECT_TYPE == "Auto-detect") ?
|
|
153
|
+
"#### React Architectural Patterns (if detected)
|
|
154
|
+
- Component composition and reuse strategies
|
|
155
|
+
- State management architecture
|
|
156
|
+
- Side effect handling patterns
|
|
157
|
+
- Routing and navigation approach
|
|
158
|
+
- Data fetching and caching patterns
|
|
159
|
+
- Rendering optimization strategies" : ""}
|
|
160
|
+
|
|
161
|
+
${(PROJECT_TYPE == "Angular" || PROJECT_TYPE == "Auto-detect") ?
|
|
162
|
+
"#### Angular Architectural Patterns (if detected)
|
|
163
|
+
- Module organization strategy
|
|
164
|
+
- Component hierarchy design
|
|
165
|
+
- Service and dependency injection patterns
|
|
166
|
+
- State management approach
|
|
167
|
+
- Reactive programming patterns
|
|
168
|
+
- Route guard implementation" : ""}
|
|
169
|
+
|
|
170
|
+
${(PROJECT_TYPE == "Python" || PROJECT_TYPE == "Auto-detect") ?
|
|
171
|
+
"#### Python Architectural Patterns (if detected)
|
|
172
|
+
- Module organization approach
|
|
173
|
+
- Dependency management strategy
|
|
174
|
+
- OOP vs. functional implementation patterns
|
|
175
|
+
- Framework integration patterns
|
|
176
|
+
- Asynchronous programming approach" : ""}
|
|
177
|
+
|
|
178
|
+
### 10. Implementation Patterns
|
|
179
|
+
${INCLUDES_IMPLEMENTATION_PATTERNS ?
|
|
180
|
+
"Document concrete implementation patterns for key architectural components:
|
|
181
|
+
|
|
182
|
+
- **Interface Design Patterns**:
|
|
183
|
+
- Interface segregation approaches
|
|
184
|
+
- Abstraction level decisions
|
|
185
|
+
- Generic vs. specific interface patterns
|
|
186
|
+
- Default implementation patterns
|
|
187
|
+
|
|
188
|
+
- **Service Implementation Patterns**:
|
|
189
|
+
- Service lifetime management
|
|
190
|
+
- Service composition patterns
|
|
191
|
+
- Operation implementation templates
|
|
192
|
+
- Error handling within services
|
|
193
|
+
|
|
194
|
+
- **Repository Implementation Patterns**:
|
|
195
|
+
- Query pattern implementations
|
|
196
|
+
- Transaction management
|
|
197
|
+
- Concurrency handling
|
|
198
|
+
- Bulk operation patterns
|
|
199
|
+
|
|
200
|
+
- **Controller/API Implementation Patterns**:
|
|
201
|
+
- Request handling patterns
|
|
202
|
+
- Response formatting approaches
|
|
203
|
+
- Parameter validation
|
|
204
|
+
- API versioning implementation
|
|
205
|
+
|
|
206
|
+
- **Domain Model Implementation**:
|
|
207
|
+
- Entity implementation patterns
|
|
208
|
+
- Value object patterns
|
|
209
|
+
- Domain event implementation
|
|
210
|
+
- Business rule enforcement" : "Mention that detailed implementation patterns vary across the codebase."}
|
|
211
|
+
|
|
212
|
+
### 11. Testing Architecture
|
|
213
|
+
- Document testing strategies aligned with the architecture
|
|
214
|
+
- Identify test boundary patterns (unit, integration, system)
|
|
215
|
+
- Map test doubles and mocking approaches
|
|
216
|
+
- Document test data strategies
|
|
217
|
+
- Note testing tools and frameworks integration
|
|
218
|
+
|
|
219
|
+
### 12. Deployment Architecture
|
|
220
|
+
- Document deployment topology derived from configuration
|
|
221
|
+
- Identify environment-specific architectural adaptations
|
|
222
|
+
- Map runtime dependency resolution patterns
|
|
223
|
+
- Document configuration management across environments
|
|
224
|
+
- Identify containerization and orchestration approaches
|
|
225
|
+
- Note cloud service integration patterns
|
|
226
|
+
|
|
227
|
+
### 13. Extension and Evolution Patterns
|
|
228
|
+
${FOCUS_ON_EXTENSIBILITY ?
|
|
229
|
+
"Provide detailed guidance for extending the architecture:
|
|
230
|
+
|
|
231
|
+
- **Feature Addition Patterns**:
|
|
232
|
+
- How to add new features while preserving architectural integrity
|
|
233
|
+
- Where to place new components by type
|
|
234
|
+
- Dependency introduction guidelines
|
|
235
|
+
- Configuration extension patterns
|
|
236
|
+
|
|
237
|
+
- **Modification Patterns**:
|
|
238
|
+
- How to safely modify existing components
|
|
239
|
+
- Strategies for maintaining backward compatibility
|
|
240
|
+
- Deprecation patterns
|
|
241
|
+
- Migration approaches
|
|
242
|
+
|
|
243
|
+
- **Integration Patterns**:
|
|
244
|
+
- How to integrate new external systems
|
|
245
|
+
- Adapter implementation patterns
|
|
246
|
+
- Anti-corruption layer patterns
|
|
247
|
+
- Service facade implementation" : "Document key extension points in the architecture."}
|
|
248
|
+
|
|
249
|
+
${INCLUDES_CODE_EXAMPLES ?
|
|
250
|
+
"### 14. Architectural Pattern Examples
|
|
251
|
+
Extract representative code examples that illustrate key architectural patterns:
|
|
252
|
+
|
|
253
|
+
- **Layer Separation Examples**:
|
|
254
|
+
- Interface definition and implementation separation
|
|
255
|
+
- Cross-layer communication patterns
|
|
256
|
+
- Dependency injection examples
|
|
257
|
+
|
|
258
|
+
- **Component Communication Examples**:
|
|
259
|
+
- Service invocation patterns
|
|
260
|
+
- Event publication and handling
|
|
261
|
+
- Message passing implementation
|
|
262
|
+
|
|
263
|
+
- **Extension Point Examples**:
|
|
264
|
+
- Plugin registration and discovery
|
|
265
|
+
- Extension interface implementations
|
|
266
|
+
- Configuration-driven extension patterns
|
|
267
|
+
|
|
268
|
+
Include enough context with each example to show the pattern clearly, but keep examples concise and focused on architectural concepts." : ""}
|
|
269
|
+
|
|
270
|
+
${INCLUDES_DECISION_RECORDS ?
|
|
271
|
+
"### 15. Architectural Decision Records
|
|
272
|
+
Document key architectural decisions evident in the codebase:
|
|
273
|
+
|
|
274
|
+
- **Architectural Style Decisions**:
|
|
275
|
+
- Why the current architectural pattern was chosen
|
|
276
|
+
- Alternatives considered (based on code evolution)
|
|
277
|
+
- Constraints that influenced the decision
|
|
278
|
+
|
|
279
|
+
- **Technology Selection Decisions**:
|
|
280
|
+
- Key technology choices and their architectural impact
|
|
281
|
+
- Framework selection rationales
|
|
282
|
+
- Custom vs. off-the-shelf component decisions
|
|
283
|
+
|
|
284
|
+
- **Implementation Approach Decisions**:
|
|
285
|
+
- Specific implementation patterns chosen
|
|
286
|
+
- Standard pattern adaptations
|
|
287
|
+
- Performance vs. maintainability tradeoffs
|
|
288
|
+
|
|
289
|
+
For each decision, note:
|
|
290
|
+
- Context that made the decision necessary
|
|
291
|
+
- Factors considered in making the decision
|
|
292
|
+
- Resulting consequences (positive and negative)
|
|
293
|
+
- Future flexibility or limitations introduced" : ""}
|
|
294
|
+
|
|
295
|
+
### ${INCLUDES_DECISION_RECORDS ? "16" : INCLUDES_CODE_EXAMPLES ? "15" : "14"}. Architecture Governance
|
|
296
|
+
- Document how architectural consistency is maintained
|
|
297
|
+
- Identify automated checks for architectural compliance
|
|
298
|
+
- Note architectural review processes evident in the codebase
|
|
299
|
+
- Document architectural documentation practices
|
|
300
|
+
|
|
301
|
+
### ${INCLUDES_DECISION_RECORDS ? "17" : INCLUDES_CODE_EXAMPLES ? "16" : "15"}. Blueprint for New Development
|
|
302
|
+
Create a clear architectural guide for implementing new features:
|
|
303
|
+
|
|
304
|
+
- **Development Workflow**:
|
|
305
|
+
- Starting points for different feature types
|
|
306
|
+
- Component creation sequence
|
|
307
|
+
- Integration steps with existing architecture
|
|
308
|
+
- Testing approach by architectural layer
|
|
309
|
+
|
|
310
|
+
- **Implementation Templates**:
|
|
311
|
+
- Base class/interface templates for key architectural components
|
|
312
|
+
- Standard file organization for new components
|
|
313
|
+
- Dependency declaration patterns
|
|
314
|
+
- Documentation requirements
|
|
315
|
+
|
|
316
|
+
- **Common Pitfalls**:
|
|
317
|
+
- Architecture violations to avoid
|
|
318
|
+
- Common architectural mistakes
|
|
319
|
+
- Performance considerations
|
|
320
|
+
- Testing blind spots
|
|
321
|
+
|
|
322
|
+
Include information about when this blueprint was generated and recommendations for keeping it updated as the architecture evolves."
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-implementation-plan
|
|
3
|
+
description: 'Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.'
|
|
4
|
+
---
|
|
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,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-specification
|
|
3
|
+
description: 'Create a new specification file for the solution, optimized for Generative AI consumption.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Specification
|
|
7
|
+
|
|
8
|
+
Your goal is to create a new specification file for `${input:SpecPurpose}`.
|
|
9
|
+
|
|
10
|
+
The specification file must define the requirements, constraints, and interfaces for the solution components in a manner that is clear, unambiguous, and structured for effective use by Generative AIs. Follow established documentation standards and ensure the content is machine-readable and self-contained.
|
|
11
|
+
|
|
12
|
+
## Best Practices for AI-Ready Specifications
|
|
13
|
+
|
|
14
|
+
- Use precise, explicit, and unambiguous language.
|
|
15
|
+
- Clearly distinguish between requirements, constraints, and recommendations.
|
|
16
|
+
- Use structured formatting (headings, lists, tables) for easy parsing.
|
|
17
|
+
- Avoid idioms, metaphors, or context-dependent references.
|
|
18
|
+
- Define all acronyms and domain-specific terms.
|
|
19
|
+
- Include examples and edge cases where applicable.
|
|
20
|
+
- Ensure the document is self-contained and does not rely on external context.
|
|
21
|
+
|
|
22
|
+
The specification should be saved in the [/spec/](/spec/) directory and named according to the following convention: `spec-[a-z0-9-]+.md`, where the name should be descriptive of the specification's content and starting with the highlevel purpose, which is one of [schema, tool, data, infrastructure, process, architecture, or design].
|
|
23
|
+
|
|
24
|
+
The specification file must be formatted in well formed Markdown.
|
|
25
|
+
|
|
26
|
+
Specification files 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:
|
|
27
|
+
|
|
28
|
+
```md
|
|
29
|
+
---
|
|
30
|
+
title: [Concise Title Describing the Specification's Focus]
|
|
31
|
+
version: [Optional: e.g., 1.0, Date]
|
|
32
|
+
date_created: [YYYY-MM-DD]
|
|
33
|
+
last_updated: [Optional: YYYY-MM-DD]
|
|
34
|
+
owner: [Optional: Team/Individual responsible for this spec]
|
|
35
|
+
tags: [Optional: List of relevant tags or categories, e.g., `infrastructure`, `process`, `design`, `app` etc]
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
# Introduction
|
|
39
|
+
|
|
40
|
+
[A short concise introduction to the specification and the goal it is intended to achieve.]
|
|
41
|
+
|
|
42
|
+
## 1. Purpose & Scope
|
|
43
|
+
|
|
44
|
+
[Provide a clear, concise description of the specification's purpose and the scope of its application. State the intended audience and any assumptions.]
|
|
45
|
+
|
|
46
|
+
## 2. Definitions
|
|
47
|
+
|
|
48
|
+
[List and define all acronyms, abbreviations, and domain-specific terms used in this specification.]
|
|
49
|
+
|
|
50
|
+
## 3. Requirements, Constraints & Guidelines
|
|
51
|
+
|
|
52
|
+
[Explicitly list all requirements, constraints, rules, and guidelines. Use bullet points or tables for clarity.]
|
|
53
|
+
|
|
54
|
+
- **REQ-001**: Requirement 1
|
|
55
|
+
- **SEC-001**: Security Requirement 1
|
|
56
|
+
- **[3 LETTERS]-001**: Other Requirement 1
|
|
57
|
+
- **CON-001**: Constraint 1
|
|
58
|
+
- **GUD-001**: Guideline 1
|
|
59
|
+
- **PAT-001**: Pattern to follow 1
|
|
60
|
+
|
|
61
|
+
## 4. Interfaces & Data Contracts
|
|
62
|
+
|
|
63
|
+
[Describe the interfaces, APIs, data contracts, or integration points. Use tables or code blocks for schemas and examples.]
|
|
64
|
+
|
|
65
|
+
## 5. Acceptance Criteria
|
|
66
|
+
|
|
67
|
+
[Define clear, testable acceptance criteria for each requirement using Given-When-Then format where appropriate.]
|
|
68
|
+
|
|
69
|
+
- **AC-001**: Given [context], When [action], Then [expected outcome]
|
|
70
|
+
- **AC-002**: The system shall [specific behavior] when [condition]
|
|
71
|
+
- **AC-003**: [Additional acceptance criteria as needed]
|
|
72
|
+
|
|
73
|
+
## 6. Test Automation Strategy
|
|
74
|
+
|
|
75
|
+
[Define the testing approach, frameworks, and automation requirements.]
|
|
76
|
+
|
|
77
|
+
- **Test Levels**: Unit, Integration, End-to-End
|
|
78
|
+
- **Frameworks**: MSTest, FluentAssertions, Moq (for .NET applications)
|
|
79
|
+
- **Test Data Management**: [approach for test data creation and cleanup]
|
|
80
|
+
- **CI/CD Integration**: [automated testing in GitHub Actions pipelines]
|
|
81
|
+
- **Coverage Requirements**: [minimum code coverage thresholds]
|
|
82
|
+
- **Performance Testing**: [approach for load and performance testing]
|
|
83
|
+
|
|
84
|
+
## 7. Rationale & Context
|
|
85
|
+
|
|
86
|
+
[Explain the reasoning behind the requirements, constraints, and guidelines. Provide context for design decisions.]
|
|
87
|
+
|
|
88
|
+
## 8. Dependencies & External Integrations
|
|
89
|
+
|
|
90
|
+
[Define the external systems, services, and architectural dependencies required for this specification. Focus on **what** is needed rather than **how** it's implemented. Avoid specific package or library versions unless they represent architectural constraints.]
|
|
91
|
+
|
|
92
|
+
### External Systems
|
|
93
|
+
- **EXT-001**: [External system name] - [Purpose and integration type]
|
|
94
|
+
|
|
95
|
+
### Third-Party Services
|
|
96
|
+
- **SVC-001**: [Service name] - [Required capabilities and SLA requirements]
|
|
97
|
+
|
|
98
|
+
### Infrastructure Dependencies
|
|
99
|
+
- **INF-001**: [Infrastructure component] - [Requirements and constraints]
|
|
100
|
+
|
|
101
|
+
### Data Dependencies
|
|
102
|
+
- **DAT-001**: [External data source] - [Format, frequency, and access requirements]
|
|
103
|
+
|
|
104
|
+
### Technology Platform Dependencies
|
|
105
|
+
- **PLT-001**: [Platform/runtime requirement] - [Version constraints and rationale]
|
|
106
|
+
|
|
107
|
+
### Compliance Dependencies
|
|
108
|
+
- **COM-001**: [Regulatory or compliance requirement] - [Impact on implementation]
|
|
109
|
+
|
|
110
|
+
**Note**: This section should focus on architectural and business dependencies, not specific package implementations. For example, specify "OAuth 2.0 authentication library" rather than "Microsoft.AspNetCore.Authentication.JwtBearer v6.0.1".
|
|
111
|
+
|
|
112
|
+
## 9. Examples & Edge Cases
|
|
113
|
+
|
|
114
|
+
```code
|
|
115
|
+
// Code snippet or data example demonstrating the correct application of the guidelines, including edge cases
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 10. Validation Criteria
|
|
119
|
+
|
|
120
|
+
[List the criteria or tests that must be satisfied for compliance with this specification.]
|
|
121
|
+
|
|
122
|
+
## 11. Related Specifications / Further Reading
|
|
123
|
+
|
|
124
|
+
[Link to related spec 1]
|
|
125
|
+
[Link to relevant external documentation]
|
|
126
|
+
|
|
127
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abarcenas/ai-workflow-template",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A comprehensive template repository for AI-assisted development workflows using GitHub Copilot. This template provides a structured approach to leveraging AI assistance through pre-configured skills, prompts, agents, and coding standards.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
package/scripts/sync.js
CHANGED
|
@@ -9,6 +9,7 @@ const sourceGithubDir = resolve(packageRoot, '.github')
|
|
|
9
9
|
const consumerRoot = process.env.INIT_CWD ? resolve(process.env.INIT_CWD) : process.cwd()
|
|
10
10
|
const targetGithubDir = resolve(consumerRoot, '.github')
|
|
11
11
|
const manifestPath = resolve(consumerRoot, '.github-sync-manifest.json')
|
|
12
|
+
const excludedRelativePaths = new Set(['workflows/npm-publish.yml'])
|
|
12
13
|
const args = new Set(process.argv.slice(2))
|
|
13
14
|
const forceOverwrite = args.has('--force')
|
|
14
15
|
const dryRun = args.has('--dry-run')
|
|
@@ -88,6 +89,10 @@ let added = 0
|
|
|
88
89
|
|
|
89
90
|
for (const sourceFile of sourceFiles) {
|
|
90
91
|
const relativePath = relative(sourceGithubDir, sourceFile)
|
|
92
|
+
if (excludedRelativePaths.has(relativePath)) {
|
|
93
|
+
continue
|
|
94
|
+
}
|
|
95
|
+
|
|
91
96
|
const targetFile = resolve(targetGithubDir, relativePath)
|
|
92
97
|
const sourceHash = hashFile(sourceFile)
|
|
93
98
|
const existingHash = existsSync(targetFile) ? hashFile(targetFile) : null
|