x-ipe 1.0.23__py3-none-any.whl → 1.0.25__py3-none-any.whl
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.
- x_ipe/app.py +32 -1
- x_ipe/handlers/terminal_handlers.py +6 -0
- x_ipe/handlers/voice_handlers.py +5 -0
- x_ipe/resources/copilot-instructions.md +19 -6
- x_ipe/resources/skills/lesson-learned/SKILL.md +208 -0
- x_ipe/resources/skills/lesson-learned/references/examples.md +238 -0
- x_ipe/resources/skills/project-quality-board-management/SKILL.md +135 -298
- x_ipe/resources/skills/project-quality-board-management/references/evaluation-principles.md +213 -0
- x_ipe/resources/skills/project-quality-board-management/references/evaluation-procedures.md +214 -0
- x_ipe/resources/skills/project-quality-board-management/templates/quality-report.md +70 -18
- x_ipe/resources/skills/task-execution-guideline/SKILL.md +2 -2
- x_ipe/resources/skills/task-execution-guideline/templates/task-record.yaml +1 -1
- x_ipe/resources/skills/task-type-code-implementation/SKILL.md +72 -270
- x_ipe/resources/skills/task-type-code-implementation/references/implementation-guidelines.md +432 -0
- x_ipe/resources/skills/task-type-code-refactor-v2/SKILL.md +127 -353
- x_ipe/resources/skills/task-type-code-refactor-v2/references/refactoring-techniques.md +373 -0
- x_ipe/resources/skills/task-type-feature-breakdown/SKILL.md +31 -243
- x_ipe/resources/skills/task-type-feature-breakdown/references/breakdown-guidelines.md +330 -0
- x_ipe/resources/skills/task-type-feature-refinement/SKILL.md +27 -180
- x_ipe/resources/skills/task-type-feature-refinement/references/specification-writing-guide.md +267 -0
- x_ipe/resources/skills/task-type-idea-mockup/SKILL.md +38 -276
- x_ipe/resources/skills/task-type-idea-mockup/references/mockup-guidelines.md +299 -0
- x_ipe/resources/skills/task-type-idea-to-architecture/SKILL.md +20 -218
- x_ipe/resources/skills/task-type-idea-to-architecture/references/architecture-patterns.md +342 -0
- x_ipe/resources/skills/task-type-ideation/SKILL.md +10 -266
- x_ipe/resources/skills/task-type-ideation/references/folder-naming-guide.md +55 -0
- x_ipe/resources/skills/task-type-ideation/references/tool-usage-guide.md +236 -0
- x_ipe/resources/skills/task-type-ideation-v2/SKILL.md +488 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/examples.md +377 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/folder-naming-guide.md +74 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/tool-usage-guide.md +145 -0
- x_ipe/resources/skills/task-type-ideation-v2/references/visualization-guide.md +160 -0
- x_ipe/resources/skills/task-type-ideation-v2/templates/idea-summary.md +86 -0
- x_ipe/resources/skills/task-type-refactoring-analysis/SKILL.md +83 -145
- x_ipe/resources/skills/task-type-refactoring-analysis/references/output-schema.md +172 -0
- x_ipe/resources/skills/task-type-technical-design/SKILL.md +28 -214
- x_ipe/resources/skills/task-type-technical-design/references/design-templates.md +422 -0
- x_ipe/resources/skills/task-type-test-generation/SKILL.md +47 -332
- x_ipe/resources/skills/task-type-test-generation/references/test-patterns.md +368 -0
- x_ipe/resources/skills/tool-tracing-creator/SKILL.md +312 -0
- x_ipe/resources/skills/tool-tracing-creator/references/examples.md +324 -0
- x_ipe/resources/skills/tool-tracing-instrumentation/SKILL.md +373 -0
- x_ipe/resources/skills/tool-tracing-instrumentation/references/examples.md +264 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/SKILL.md +486 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/10. example-gate-conditions.md +73 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/11. reference-quality-standards.md +127 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/2. reference-section-order.md +127 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/3. example-step-based-code-review.md +84 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/4. example-step-based-feature-implementation.md +113 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/5. example-function-based-validation.md +73 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/6. example-function-based-analysis.md +94 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/7. example-task-io-code-implementation.md +36 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/8. example-structured-summary.md +43 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/9. example-dor-dod.md +77 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/examples.md +429 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/references/skill-general-guidelines-v2.md +611 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-meta.md +153 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-based.md +324 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-task-category.md +109 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/skill-meta-x-ipe-tool.md +205 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-meta.md +334 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-task-based.md +279 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-tool.md +175 -0
- x_ipe/resources/skills/x-ipe-skill-creator-v3/templates/x-ipe-workflow-orchestration.md +329 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/SKILL.md +487 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/examples.md +377 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/folder-naming-guide.md +74 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/tool-usage-guide.md +145 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/references/visualization-guide.md +160 -0
- x_ipe/resources/skills/x-ipe-task-based-ideation/templates/idea-summary.md +86 -0
- x_ipe/routes/__init__.py +2 -0
- x_ipe/routes/ideas_routes.py +289 -0
- x_ipe/routes/kb_routes.py +80 -0
- x_ipe/routes/main_routes.py +18 -0
- x_ipe/routes/project_routes.py +7 -0
- x_ipe/routes/proxy_routes.py +10 -2
- x_ipe/routes/quality_evaluation_routes.py +193 -0
- x_ipe/routes/settings_routes.py +6 -0
- x_ipe/routes/tools_routes.py +6 -0
- x_ipe/routes/tracing_routes.py +232 -0
- x_ipe/routes/uiux_feedback_routes.py +50 -0
- x_ipe/services/__init__.py +5 -0
- x_ipe/services/config_service.py +6 -0
- x_ipe/services/file_service.py +20 -0
- x_ipe/services/homepage_service.py +160 -0
- x_ipe/services/ideas_service.py +535 -2
- x_ipe/services/kb_service.py +378 -0
- x_ipe/services/proxy_service.py +37 -7
- x_ipe/services/settings_service.py +13 -0
- x_ipe/services/skills_service.py +4 -0
- x_ipe/services/terminal_service.py +24 -0
- x_ipe/services/themes_service.py +4 -0
- x_ipe/services/tools_config_service.py +4 -0
- x_ipe/services/tracing_service.py +333 -0
- x_ipe/services/uiux_feedback_service.py +148 -1
- x_ipe/services/voice_input_service_v2.py +11 -0
- x_ipe/static/css/base.css +7 -0
- x_ipe/static/css/homepage-infinity.css +330 -0
- x_ipe/static/css/kb-core.css +301 -0
- x_ipe/static/css/quality-evaluation.css +345 -0
- x_ipe/static/css/sidebar.css +14 -4
- x_ipe/static/css/terminal.css +23 -0
- x_ipe/static/css/tracing-dashboard.css +796 -0
- x_ipe/static/css/uiux-feedback.css +7 -1
- x_ipe/static/css/workplace.css +636 -0
- x_ipe/static/img/homepage-infinity-loop.png +0 -0
- x_ipe/static/js/features/confirm-dialog.js +169 -0
- x_ipe/static/js/features/folder-view.js +742 -0
- x_ipe/static/js/features/homepage-infinity.js +314 -0
- x_ipe/static/js/features/kb-core.js +371 -0
- x_ipe/static/js/features/quality-evaluation.js +387 -0
- x_ipe/static/js/features/sidebar.js +255 -12
- x_ipe/static/js/features/tracing-dashboard.js +855 -0
- x_ipe/static/js/features/tracing-graph.js +1031 -0
- x_ipe/static/js/features/tree-drag.js +227 -0
- x_ipe/static/js/features/tree-search.js +228 -0
- x_ipe/static/js/features/workplace.js +661 -33
- x_ipe/static/js/init.js +76 -0
- x_ipe/static/js/terminal-v2.js +45 -14
- x_ipe/static/js/terminal.js +50 -49
- x_ipe/static/js/uiux-feedback.js +75 -16
- x_ipe/templates/base.html +24 -0
- x_ipe/templates/index.html +10 -1
- x_ipe/templates/knowledge-base.html +110 -0
- x_ipe/templates/workplace.html +4 -0
- x_ipe/tracing/__init__.py +37 -0
- x_ipe/tracing/buffer.py +135 -0
- x_ipe/tracing/context.py +125 -0
- x_ipe/tracing/decorator.py +288 -0
- x_ipe/tracing/middleware.py +197 -0
- x_ipe/tracing/parser.py +235 -0
- x_ipe/tracing/redactor.py +111 -0
- x_ipe/tracing/writer.py +122 -0
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/METADATA +2 -2
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/RECORD +138 -65
- x_ipe/app.py.bak +0 -1333
- x_ipe/resources/skills/x-ipe-skill-creator/SKILL.md +0 -329
- x_ipe/resources/skills/x-ipe-skill-creator/references/output-patterns.md +0 -169
- x_ipe/resources/skills/x-ipe-skill-creator/references/skill-structure.md +0 -162
- x_ipe/resources/skills/x-ipe-skill-creator/references/workflows.md +0 -110
- x_ipe/resources/skills/x-ipe-skill-creator/templates/references/examples.md +0 -113
- x_ipe/resources/skills/x-ipe-skill-creator/templates/skill-category-skill.md +0 -296
- x_ipe/resources/skills/x-ipe-skill-creator/templates/task-type-skill.md +0 -269
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/WHEEL +0 -0
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/entry_points.txt +0 -0
- {x_ipe-1.0.23.dist-info → x_ipe-1.0.25.dist-info}/licenses/LICENSE +0 -0
|
@@ -197,88 +197,23 @@ Execute Technical Design by following these steps in order:
|
|
|
197
197
|
|
|
198
198
|
Technical design documents MUST use this two-part structure. Adapt content based on implementation type (API, CLI, frontend, backend, etc.).
|
|
199
199
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
> **📌 Note for AI Coders:** Focus primarily on Part 1 for implementation. Part 2 is supplementary for complex scenarios.
|
|
205
|
-
|
|
206
|
-
**Required Elements:**
|
|
207
|
-
- **Key Components Implemented:** What modules/classes/services were created or modified
|
|
208
|
-
- **Scope & Boundaries:** What this design covers and what it doesn't
|
|
209
|
-
- **Dependencies:** Components from other features/foundation this feature relies on
|
|
210
|
-
- **Major Flow:** High-level description of how components interact
|
|
211
|
-
- **Usage Example:** Code snippet showing how to use the implemented feature
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
### Mockup Reference (Conditional)
|
|
216
|
-
|
|
217
|
-
**🎨 When to Use Mockup List:**
|
|
218
|
-
```
|
|
219
|
-
IF Mockup List != N/A AND Technical Scope in specification.md includes [Frontend] OR [Full Stack]:
|
|
220
|
-
1. OPEN and analyze the Mockup List file(s)
|
|
221
|
-
2. Extract UI requirements from mockup:
|
|
222
|
-
- Component hierarchy and structure
|
|
223
|
-
- State management requirements
|
|
224
|
-
- Event handlers and user interactions
|
|
225
|
-
- CSS/styling approach
|
|
226
|
-
3. Design frontend components based on mockup
|
|
227
|
-
4. Include mockup-derived requirements in Part 2 Implementation Guide
|
|
228
|
-
5. Reference mockup filenames in design decisions
|
|
229
|
-
|
|
230
|
-
ELSE IF Mockup List == N/A AND specification.md has "Linked Mockups" section:
|
|
231
|
-
1. MUST review "Linked Mockups" section in specification.md
|
|
232
|
-
2. Open and analyze each linked mockup file
|
|
233
|
-
3. Follow same extraction process as above
|
|
234
|
-
|
|
235
|
-
ELSE (Backend/API Only/Database/Infrastructure OR no mockups available):
|
|
236
|
-
- Skip mockup reference
|
|
237
|
-
- Focus on service architecture, data models, APIs
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
**Design Document Note:**
|
|
241
|
-
When Technical Scope includes frontend, Part 2 SHOULD include:
|
|
242
|
-
- UI Component breakdown
|
|
243
|
-
- State management strategy
|
|
244
|
-
- Mockup-to-component mapping
|
|
245
|
-
|
|
246
|
-
**Format Guidelines:**
|
|
247
|
-
- Use tables for component listings (Component | Responsibility | Scope/Impact | Tags)
|
|
248
|
-
- Use dependency table for cross-feature/foundation dependencies
|
|
249
|
-
- Tags enable semantic search across project designs
|
|
250
|
-
- Keep concise - this is a reference summary, not documentation
|
|
251
|
-
|
|
252
|
-
**Dependency Table Format:**
|
|
253
|
-
| Dependency | Source | Design Link | Usage Description (≤50 words) |
|
|
254
|
-
|------------|--------|-------------|-------------------------------|
|
|
255
|
-
| `AuthService` | FEATURE-001 | [technical-design.md](../FEATURE-001/technical-design.md) | Used for user authentication before accessing protected endpoints |
|
|
256
|
-
| `DatabaseManager` | Foundation | [database.md](../../architecture/technical-designs/database.md) | Provides connection pooling and query execution |
|
|
257
|
-
|
|
258
|
-
### Part 2: Human-Readable Implementation Guide
|
|
259
|
-
|
|
260
|
-
> **Purpose:** Detailed guide for developers to understand and implement the design.
|
|
261
|
-
>
|
|
262
|
-
> **📌 Note:** This section emphasizes visual diagrams and step-by-step guidance for human comprehension.
|
|
263
|
-
|
|
264
|
-
**Include as needed based on implementation type:**
|
|
265
|
-
- **Workflow Diagrams:** Mermaid sequence/flow diagrams for visual understanding (REQUIRED for complex flows)
|
|
266
|
-
- **Data Models:** Schema definitions, type structures
|
|
267
|
-
- **API/Interface Specs:** Endpoints, CLI commands, function signatures
|
|
268
|
-
- **Implementation Steps:** Ordered tasks to build the feature
|
|
269
|
-
- **Edge Cases:** Error handling, boundary conditions
|
|
200
|
+
| Part | Purpose | Focus |
|
|
201
|
+
|------|---------|-------|
|
|
202
|
+
| Part 1: Agent-Facing Summary | Quick reference for AI agents | Key components, dependencies, major flow, usage example |
|
|
203
|
+
| Part 2: Implementation Guide | Human-readable details | Workflow diagrams, data models, API specs, implementation steps |
|
|
270
204
|
|
|
271
205
|
**Format Guidelines:**
|
|
272
|
-
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
206
|
+
- Use tables for component listings with Tags for semantic search
|
|
207
|
+
- Include dependency table linking to other feature/foundation designs
|
|
208
|
+
- Prioritize Mermaid diagrams for visual comprehension
|
|
209
|
+
|
|
210
|
+
> 📚 **See [references/design-templates.md](references/design-templates.md) for:**
|
|
211
|
+
> - Full document template with examples
|
|
212
|
+
> - Part 1 & Part 2 detailed guidelines
|
|
213
|
+
> - Dependency table format
|
|
214
|
+
> - Mockup reference guidelines
|
|
215
|
+
> - API/Data model examples
|
|
216
|
+
> - Mermaid diagram examples
|
|
282
217
|
|
|
283
218
|
---
|
|
284
219
|
|
|
@@ -291,34 +226,13 @@ When Technical Scope includes frontend, Part 2 SHOULD include:
|
|
|
291
226
|
|
|
292
227
|
---
|
|
293
228
|
|
|
294
|
-
## ⚠️ Single File with Version History
|
|
229
|
+
## ⚠️ Single File with Version History
|
|
295
230
|
|
|
296
231
|
**Rule:** Maintain ONE technical design file per feature with version history inside.
|
|
297
232
|
|
|
298
|
-
|
|
299
|
-
-
|
|
300
|
-
-
|
|
301
|
-
|
|
302
|
-
**Instead:**
|
|
303
|
-
- ✅ Keep single `technical-design.md` file
|
|
304
|
-
- ✅ Add/update Version History table at the top
|
|
305
|
-
- ✅ Update content in place with new version
|
|
306
|
-
|
|
307
|
-
**Version History Format (add at top of document after header):**
|
|
308
|
-
```markdown
|
|
309
|
-
## Version History
|
|
310
|
-
|
|
311
|
-
| Version | Date | Description |
|
|
312
|
-
|---------|------|-------------|
|
|
313
|
-
| v2.0 | 01-22-2026 | Major upgrade: xterm.js, session persistence, split-pane |
|
|
314
|
-
| v1.0 | 01-18-2026 | Initial design with VanillaTerminal |
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
**When updating existing design:**
|
|
318
|
-
1. Increment version in document header (v1.0 → v2.0)
|
|
319
|
-
2. Add new row to Version History table
|
|
320
|
-
3. Update design content in place
|
|
321
|
-
4. Keep the same filename: `technical-design.md`
|
|
233
|
+
- ❌ Do NOT create versioned files like `technical-design-v2.md`
|
|
234
|
+
- ✅ Keep single `technical-design.md` with Version History table at top
|
|
235
|
+
- ✅ Update content in place, increment version header
|
|
322
236
|
|
|
323
237
|
---
|
|
324
238
|
|
|
@@ -394,111 +308,10 @@ DOCUMENT findings for design decisions
|
|
|
394
308
|
|
|
395
309
|
**Adapt structure based on implementation type** (API, CLI, frontend, backend, etc.)
|
|
396
310
|
|
|
397
|
-
**
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
> Feature ID: FEATURE-XXX | Version: v1.0 | Last Updated: YYYY-MM-DD
|
|
403
|
-
|
|
404
|
-
---
|
|
405
|
-
|
|
406
|
-
## Part 1: Agent-Facing Summary
|
|
407
|
-
|
|
408
|
-
> **Purpose:** Quick reference for AI agents navigating large projects.
|
|
409
|
-
> **📌 AI Coders:** Focus on this section for implementation context.
|
|
410
|
-
|
|
411
|
-
### Key Components Implemented
|
|
412
|
-
|
|
413
|
-
| Component | Responsibility | Scope/Impact | Tags |
|
|
414
|
-
|-----------|----------------|--------------|------|
|
|
415
|
-
| `AuthService` | User authentication | Login flow across apps | #auth #security #core |
|
|
416
|
-
| `TokenManager` | JWT generation/validation | Session management | #auth #jwt |
|
|
417
|
-
|
|
418
|
-
### Dependencies
|
|
419
|
-
|
|
420
|
-
| Dependency | Source | Design Link | Usage Description |
|
|
421
|
-
|------------|--------|-------------|-------------------|
|
|
422
|
-
| `UserRepository` | FEATURE-001 | [technical-design.md](../FEATURE-001/technical-design.md) | Query user records for credential validation |
|
|
423
|
-
| `ConfigManager` | Foundation | [config.md](../../architecture/technical-designs/config.md) | Load JWT secret and token expiry settings |
|
|
424
|
-
|
|
425
|
-
### Major Flow
|
|
426
|
-
|
|
427
|
-
1. Client submits credentials → AuthService validates → TokenManager generates JWT → Response returned
|
|
428
|
-
2. Subsequent requests include JWT → TokenManager validates → Access granted/denied
|
|
429
|
-
|
|
430
|
-
### Usage Example
|
|
431
|
-
|
|
432
|
-
```python
|
|
433
|
-
# Authentication flow
|
|
434
|
-
auth = AuthService()
|
|
435
|
-
token = auth.login(email="user@test.com", password="secure")
|
|
436
|
-
|
|
437
|
-
# Using the token
|
|
438
|
-
api.set_auth_header(token.access_token)
|
|
439
|
-
response = api.get("/protected-resource")
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
---
|
|
443
|
-
|
|
444
|
-
## Part 2: Implementation Guide
|
|
445
|
-
|
|
446
|
-
> **Purpose:** Human-readable details for developers.
|
|
447
|
-
> **📌 Emphasis on visual diagrams for comprehension.
|
|
448
|
-
|
|
449
|
-
### Workflow Diagram
|
|
450
|
-
|
|
451
|
-
```mermaid
|
|
452
|
-
sequenceDiagram
|
|
453
|
-
participant C as Client
|
|
454
|
-
participant A as AuthAPI
|
|
455
|
-
participant S as AuthService
|
|
456
|
-
participant T as TokenManager
|
|
457
|
-
|
|
458
|
-
C->>A: POST /login
|
|
459
|
-
A->>S: authenticate(email, password)
|
|
460
|
-
S->>T: generate_tokens(user)
|
|
461
|
-
T-->>S: TokenPair
|
|
462
|
-
S-->>A: Token
|
|
463
|
-
A-->>C: 200 OK + Token
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
### [Data Models / API Specs / CLI Commands - adapt to implementation type]
|
|
467
|
-
|
|
468
|
-
(Content varies based on whether this is API, CLI, frontend, etc.)
|
|
469
|
-
|
|
470
|
-
### Implementation Steps
|
|
471
|
-
|
|
472
|
-
1. **{Layer}:** [Tasks]
|
|
473
|
-
2. **{Layer}:** [Tasks]
|
|
474
|
-
|
|
475
|
-
### Edge Cases & Error Handling
|
|
476
|
-
|
|
477
|
-
| Scenario | Expected Behavior |
|
|
478
|
-
|----------|-------------------|
|
|
479
|
-
| Invalid password | 401 Unauthorized |
|
|
480
|
-
| Rate limit exceeded | 429 Too Many Requests |
|
|
481
|
-
|
|
482
|
-
---
|
|
483
|
-
|
|
484
|
-
## Design Change Log
|
|
485
|
-
|
|
486
|
-
| Date | Phase | Change Summary |
|
|
487
|
-
|------|-------|----------------|
|
|
488
|
-
| {YYYY-MM-DD} | Initial Design | Initial technical design created. |
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
---
|
|
492
|
-
|
|
493
|
-
## Design Change Log Format
|
|
494
|
-
|
|
495
|
-
When the technical design needs to be updated (during implementation, bug fix, or feature extension), add an entry:
|
|
496
|
-
|
|
497
|
-
| Date | Phase | Change Summary |
|
|
498
|
-
|------|-------|----------------|
|
|
499
|
-
| YYYY-MM-DD | {Phase where change occurred} | {Summary in ~100 words: what changed, why it changed, impact on components} |
|
|
500
|
-
|
|
501
|
-
**Valid Phases:** Technical Design, Test Generation, Code Implementation, Bug Fix, Feature Extension
|
|
311
|
+
> 📚 **Use templates from [references/design-templates.md](references/design-templates.md)** for:
|
|
312
|
+
> - Full document template structure
|
|
313
|
+
> - API/CLI/Frontend adaptations
|
|
314
|
+
> - Mockup integration guidelines
|
|
502
315
|
|
|
503
316
|
---
|
|
504
317
|
|
|
@@ -510,10 +323,11 @@ When the technical design needs to be updated (during implementation, bug fix, o
|
|
|
510
323
|
| 2 | Part 1 has component table with tags | Yes |
|
|
511
324
|
| 3 | Part 1 has usage example | Yes |
|
|
512
325
|
| 4 | Part 2 has workflow diagrams (Mermaid) | Recommended |
|
|
513
|
-
| 5 | Part 2
|
|
514
|
-
| 6 |
|
|
515
|
-
| 7 |
|
|
516
|
-
| 8 |
|
|
326
|
+
| 5 | Part 2 has class diagram (Mermaid) | Recommended |
|
|
327
|
+
| 6 | Part 2 adapted to implementation type | Yes |
|
|
328
|
+
| 7 | KISS/YAGNI/DRY principles followed | Yes |
|
|
329
|
+
| 8 | Mockup List analyzed (if provided AND frontend scope) | If Applicable |
|
|
330
|
+
| 9 | UI components derived from mockup (if frontend scope) | If Applicable |
|
|
517
331
|
|
|
518
332
|
**Important:** After completing this skill, always return to `task-execution-guideline` skill to continue the task execution flow and validate the DoD defined there.
|
|
519
333
|
|
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
# Technical Design Templates Reference
|
|
2
|
+
|
|
3
|
+
This document contains detailed templates and examples for creating technical design documents.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Document Template
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# Technical Design: {Feature Title}
|
|
11
|
+
|
|
12
|
+
> Feature ID: FEATURE-XXX | Version: v1.0 | Last Updated: YYYY-MM-DD
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Part 1: Agent-Facing Summary
|
|
17
|
+
|
|
18
|
+
> **Purpose:** Quick reference for AI agents navigating large projects.
|
|
19
|
+
> **📌 AI Coders:** Focus on this section for implementation context.
|
|
20
|
+
|
|
21
|
+
### Key Components Implemented
|
|
22
|
+
|
|
23
|
+
| Component | Responsibility | Scope/Impact | Tags |
|
|
24
|
+
|-----------|----------------|--------------|------|
|
|
25
|
+
| `AuthService` | User authentication | Login flow across apps | #auth #security #core |
|
|
26
|
+
| `TokenManager` | JWT generation/validation | Session management | #auth #jwt |
|
|
27
|
+
|
|
28
|
+
### Dependencies
|
|
29
|
+
|
|
30
|
+
| Dependency | Source | Design Link | Usage Description |
|
|
31
|
+
|------------|--------|-------------|-------------------|
|
|
32
|
+
| `UserRepository` | FEATURE-001 | [technical-design.md](../FEATURE-001/technical-design.md) | Query user records for credential validation |
|
|
33
|
+
| `ConfigManager` | Foundation | [config.md](../../architecture/technical-designs/config.md) | Load JWT secret and token expiry settings |
|
|
34
|
+
|
|
35
|
+
### Major Flow
|
|
36
|
+
|
|
37
|
+
1. Client submits credentials → AuthService validates → TokenManager generates JWT → Response returned
|
|
38
|
+
2. Subsequent requests include JWT → TokenManager validates → Access granted/denied
|
|
39
|
+
|
|
40
|
+
### Usage Example
|
|
41
|
+
|
|
42
|
+
```python
|
|
43
|
+
# Authentication flow
|
|
44
|
+
auth = AuthService()
|
|
45
|
+
token = auth.login(email="user@test.com", password="secure")
|
|
46
|
+
|
|
47
|
+
# Using the token
|
|
48
|
+
api.set_auth_header(token.access_token)
|
|
49
|
+
response = api.get("/protected-resource")
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Part 2: Implementation Guide
|
|
55
|
+
|
|
56
|
+
> **Purpose:** Human-readable details for developers.
|
|
57
|
+
> **📌 Emphasis on visual diagrams for comprehension.
|
|
58
|
+
|
|
59
|
+
### Workflow Diagram
|
|
60
|
+
|
|
61
|
+
```mermaid
|
|
62
|
+
sequenceDiagram
|
|
63
|
+
participant C as Client
|
|
64
|
+
participant A as AuthAPI
|
|
65
|
+
participant S as AuthService
|
|
66
|
+
participant T as TokenManager
|
|
67
|
+
|
|
68
|
+
C->>A: POST /login
|
|
69
|
+
A->>S: authenticate(email, password)
|
|
70
|
+
S->>T: generate_tokens(user)
|
|
71
|
+
T-->>S: TokenPair
|
|
72
|
+
S-->>A: Token
|
|
73
|
+
A-->>C: 200 OK + Token
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### [Data Models / API Specs / CLI Commands - adapt to implementation type]
|
|
77
|
+
|
|
78
|
+
(Content varies based on whether this is API, CLI, frontend, etc.)
|
|
79
|
+
|
|
80
|
+
### Implementation Steps
|
|
81
|
+
|
|
82
|
+
1. **{Layer}:** [Tasks]
|
|
83
|
+
2. **{Layer}:** [Tasks]
|
|
84
|
+
|
|
85
|
+
### Edge Cases & Error Handling
|
|
86
|
+
|
|
87
|
+
| Scenario | Expected Behavior |
|
|
88
|
+
|----------|-------------------|
|
|
89
|
+
| Invalid password | 401 Unauthorized |
|
|
90
|
+
| Rate limit exceeded | 429 Too Many Requests |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Design Change Log
|
|
95
|
+
|
|
96
|
+
| Date | Phase | Change Summary |
|
|
97
|
+
|------|-------|----------------|
|
|
98
|
+
| {YYYY-MM-DD} | Initial Design | Initial technical design created. |
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Version History Format
|
|
104
|
+
|
|
105
|
+
Add at top of document after header when design evolves:
|
|
106
|
+
|
|
107
|
+
```markdown
|
|
108
|
+
## Version History
|
|
109
|
+
|
|
110
|
+
| Version | Date | Description |
|
|
111
|
+
|---------|------|-------------|
|
|
112
|
+
| v2.0 | 01-22-2026 | Major upgrade: xterm.js, session persistence, split-pane |
|
|
113
|
+
| v1.0 | 01-18-2026 | Initial design with VanillaTerminal |
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Part 1: Agent-Facing Summary Guidelines
|
|
119
|
+
|
|
120
|
+
### Purpose
|
|
121
|
+
Enable AI agents to quickly understand and reference designs across large projects.
|
|
122
|
+
|
|
123
|
+
> **📌 Note for AI Coders:** Focus primarily on Part 1 for implementation. Part 2 is supplementary for complex scenarios.
|
|
124
|
+
|
|
125
|
+
### Required Elements
|
|
126
|
+
|
|
127
|
+
| Element | Description |
|
|
128
|
+
|---------|-------------|
|
|
129
|
+
| Key Components | What modules/classes/services were created or modified |
|
|
130
|
+
| Scope & Boundaries | What this design covers and what it doesn't |
|
|
131
|
+
| Dependencies | Components from other features/foundation this feature relies on |
|
|
132
|
+
| Major Flow | High-level description of how components interact |
|
|
133
|
+
| Usage Example | Code snippet showing how to use the implemented feature |
|
|
134
|
+
|
|
135
|
+
### Dependency Table Format
|
|
136
|
+
|
|
137
|
+
| Dependency | Source | Design Link | Usage Description (≤50 words) |
|
|
138
|
+
|------------|--------|-------------|-------------------------------|
|
|
139
|
+
| `AuthService` | FEATURE-001 | [technical-design.md](../FEATURE-001/technical-design.md) | Used for user authentication before accessing protected endpoints |
|
|
140
|
+
| `DatabaseManager` | Foundation | [database.md](../../architecture/technical-designs/database.md) | Provides connection pooling and query execution |
|
|
141
|
+
|
|
142
|
+
### Format Guidelines
|
|
143
|
+
|
|
144
|
+
- Use tables for component listings (Component | Responsibility | Scope/Impact | Tags)
|
|
145
|
+
- Use dependency table for cross-feature/foundation dependencies
|
|
146
|
+
- Tags enable semantic search across project designs
|
|
147
|
+
- Keep concise - this is a reference summary, not documentation
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Part 2: Implementation Guide Guidelines
|
|
152
|
+
|
|
153
|
+
### Purpose
|
|
154
|
+
Detailed guide for developers to understand and implement the design.
|
|
155
|
+
|
|
156
|
+
> **📌 Note:** This section emphasizes visual diagrams and step-by-step guidance for human comprehension.
|
|
157
|
+
|
|
158
|
+
### Sections (Include as needed)
|
|
159
|
+
|
|
160
|
+
| Section | When to Include |
|
|
161
|
+
|---------|-----------------|
|
|
162
|
+
| Workflow Diagrams | REQUIRED for complex flows |
|
|
163
|
+
| Class Diagram | RECOMMENDED for OOP designs |
|
|
164
|
+
| Data Models | Schema definitions, type structures |
|
|
165
|
+
| API/Interface Specs | Endpoints, CLI commands, function signatures |
|
|
166
|
+
| Implementation Steps | Ordered tasks to build the feature |
|
|
167
|
+
| Edge Cases | Error handling, boundary conditions |
|
|
168
|
+
|
|
169
|
+
### Format Guidelines
|
|
170
|
+
|
|
171
|
+
- **Prioritize visualization** - Use Mermaid diagrams liberally for:
|
|
172
|
+
- Sequence diagrams for API/service interactions
|
|
173
|
+
- Flowcharts for decision logic
|
|
174
|
+
- Entity-relationship diagrams for data models
|
|
175
|
+
- State diagrams for stateful components
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Implementation Type Adaptations
|
|
180
|
+
|
|
181
|
+
### API-Based Features
|
|
182
|
+
|
|
183
|
+
Focus on:
|
|
184
|
+
- Endpoints, request/response schemas
|
|
185
|
+
- Authentication requirements
|
|
186
|
+
- Rate limiting, pagination
|
|
187
|
+
- Sequence diagrams for complex flows
|
|
188
|
+
|
|
189
|
+
### CLI-Based Features
|
|
190
|
+
|
|
191
|
+
Focus on:
|
|
192
|
+
- Commands, flags, arguments
|
|
193
|
+
- Output formats
|
|
194
|
+
- Exit codes
|
|
195
|
+
- Help text structure
|
|
196
|
+
|
|
197
|
+
### Frontend Features
|
|
198
|
+
|
|
199
|
+
Focus on:
|
|
200
|
+
- Component architecture
|
|
201
|
+
- State management
|
|
202
|
+
- User interaction flows
|
|
203
|
+
- Wireframes/mockup references
|
|
204
|
+
|
|
205
|
+
### Backend/Service Features
|
|
206
|
+
|
|
207
|
+
Focus on:
|
|
208
|
+
- Service interfaces
|
|
209
|
+
- Data flow diagrams
|
|
210
|
+
- Integration points
|
|
211
|
+
- Error handling strategies
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Mockup Reference Guidelines
|
|
216
|
+
|
|
217
|
+
### When to Use Mockup List
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
IF Mockup List != N/A AND Technical Scope in specification.md includes [Frontend] OR [Full Stack]:
|
|
221
|
+
1. OPEN and analyze the Mockup List file(s)
|
|
222
|
+
2. Extract UI requirements from mockup:
|
|
223
|
+
- Component hierarchy and structure
|
|
224
|
+
- State management requirements
|
|
225
|
+
- Event handlers and user interactions
|
|
226
|
+
- CSS/styling approach
|
|
227
|
+
3. Design frontend components based on mockup
|
|
228
|
+
4. Include mockup-derived requirements in Part 2 Implementation Guide
|
|
229
|
+
5. Reference mockup filenames in design decisions
|
|
230
|
+
|
|
231
|
+
ELSE IF Mockup List == N/A AND specification.md has "Linked Mockups" section:
|
|
232
|
+
1. MUST review "Linked Mockups" section in specification.md
|
|
233
|
+
2. Open and analyze each linked mockup file
|
|
234
|
+
3. Follow same extraction process as above
|
|
235
|
+
|
|
236
|
+
ELSE (Backend/API Only/Database/Infrastructure OR no mockups available):
|
|
237
|
+
- Skip mockup reference
|
|
238
|
+
- Focus on service architecture, data models, APIs
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### UI Design Document Additions
|
|
242
|
+
|
|
243
|
+
When Technical Scope includes frontend, Part 2 SHOULD include:
|
|
244
|
+
- UI Component breakdown
|
|
245
|
+
- State management strategy
|
|
246
|
+
- Mockup-to-component mapping
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Design Change Log Format
|
|
251
|
+
|
|
252
|
+
When the technical design needs to be updated (during implementation, bug fix, or feature extension), add an entry:
|
|
253
|
+
|
|
254
|
+
| Date | Phase | Change Summary |
|
|
255
|
+
|------|-------|----------------|
|
|
256
|
+
| YYYY-MM-DD | {Phase where change occurred} | {Summary in ~100 words: what changed, why it changed, impact on components} |
|
|
257
|
+
|
|
258
|
+
**Valid Phases:** Technical Design, Test Generation, Code Implementation, Bug Fix, Feature Extension
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## API Design Example
|
|
263
|
+
|
|
264
|
+
```markdown
|
|
265
|
+
### API Specification
|
|
266
|
+
|
|
267
|
+
#### POST /api/v1/auth/login
|
|
268
|
+
|
|
269
|
+
**Request:**
|
|
270
|
+
```json
|
|
271
|
+
{
|
|
272
|
+
"email": "user@example.com",
|
|
273
|
+
"password": "secure123"
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Response (200):**
|
|
278
|
+
```json
|
|
279
|
+
{
|
|
280
|
+
"access_token": "eyJ...",
|
|
281
|
+
"refresh_token": "eyJ...",
|
|
282
|
+
"expires_in": 3600
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Errors:**
|
|
287
|
+
| Status | Code | Description |
|
|
288
|
+
|--------|------|-------------|
|
|
289
|
+
| 401 | INVALID_CREDENTIALS | Email or password incorrect |
|
|
290
|
+
| 429 | RATE_LIMITED | Too many login attempts |
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Data Model Example
|
|
296
|
+
|
|
297
|
+
```markdown
|
|
298
|
+
### User Entity
|
|
299
|
+
|
|
300
|
+
```python
|
|
301
|
+
@dataclass
|
|
302
|
+
class User:
|
|
303
|
+
id: UUID
|
|
304
|
+
email: str
|
|
305
|
+
password_hash: str
|
|
306
|
+
created_at: datetime
|
|
307
|
+
updated_at: datetime
|
|
308
|
+
is_active: bool = True
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Database Schema
|
|
312
|
+
|
|
313
|
+
```sql
|
|
314
|
+
CREATE TABLE users (
|
|
315
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
316
|
+
email VARCHAR(255) UNIQUE NOT NULL,
|
|
317
|
+
password_hash VARCHAR(255) NOT NULL,
|
|
318
|
+
created_at TIMESTAMP DEFAULT NOW(),
|
|
319
|
+
updated_at TIMESTAMP DEFAULT NOW(),
|
|
320
|
+
is_active BOOLEAN DEFAULT TRUE
|
|
321
|
+
);
|
|
322
|
+
```
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## Mermaid Diagram Examples
|
|
328
|
+
|
|
329
|
+
### Sequence Diagram
|
|
330
|
+
|
|
331
|
+
```mermaid
|
|
332
|
+
sequenceDiagram
|
|
333
|
+
participant C as Client
|
|
334
|
+
participant A as API
|
|
335
|
+
participant S as Service
|
|
336
|
+
participant D as Database
|
|
337
|
+
|
|
338
|
+
C->>A: Request
|
|
339
|
+
A->>S: Process
|
|
340
|
+
S->>D: Query
|
|
341
|
+
D-->>S: Result
|
|
342
|
+
S-->>A: Response
|
|
343
|
+
A-->>C: 200 OK
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Flowchart
|
|
347
|
+
|
|
348
|
+
```mermaid
|
|
349
|
+
flowchart TD
|
|
350
|
+
A[Start] --> B{Condition?}
|
|
351
|
+
B -->|Yes| C[Action 1]
|
|
352
|
+
B -->|No| D[Action 2]
|
|
353
|
+
C --> E[End]
|
|
354
|
+
D --> E
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### Entity Relationship
|
|
358
|
+
|
|
359
|
+
```mermaid
|
|
360
|
+
erDiagram
|
|
361
|
+
USER ||--o{ ORDER : places
|
|
362
|
+
ORDER ||--|{ LINE_ITEM : contains
|
|
363
|
+
PRODUCT ||--o{ LINE_ITEM : included_in
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### State Diagram
|
|
367
|
+
|
|
368
|
+
```mermaid
|
|
369
|
+
stateDiagram-v2
|
|
370
|
+
[*] --> Idle
|
|
371
|
+
Idle --> Processing : submit
|
|
372
|
+
Processing --> Success : complete
|
|
373
|
+
Processing --> Failed : error
|
|
374
|
+
Success --> [*]
|
|
375
|
+
Failed --> Idle : retry
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### Class Diagram
|
|
379
|
+
|
|
380
|
+
```mermaid
|
|
381
|
+
classDiagram
|
|
382
|
+
class AuthService {
|
|
383
|
+
-UserRepository userRepo
|
|
384
|
+
-TokenManager tokenManager
|
|
385
|
+
+login(email, password) Token
|
|
386
|
+
+logout(token) bool
|
|
387
|
+
+validateToken(token) User
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
class TokenManager {
|
|
391
|
+
-secretKey string
|
|
392
|
+
-expirySeconds int
|
|
393
|
+
+generateToken(user) Token
|
|
394
|
+
+validateToken(token) Claims
|
|
395
|
+
+refreshToken(token) Token
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
class UserRepository {
|
|
399
|
+
-database Database
|
|
400
|
+
+findByEmail(email) User
|
|
401
|
+
+findById(id) User
|
|
402
|
+
+save(user) User
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
class User {
|
|
406
|
+
+id UUID
|
|
407
|
+
+email string
|
|
408
|
+
+passwordHash string
|
|
409
|
+
+isActive bool
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
class Token {
|
|
413
|
+
+accessToken string
|
|
414
|
+
+refreshToken string
|
|
415
|
+
+expiresIn int
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
AuthService --> TokenManager : uses
|
|
419
|
+
AuthService --> UserRepository : uses
|
|
420
|
+
UserRepository --> User : returns
|
|
421
|
+
TokenManager --> Token : creates
|
|
422
|
+
```
|