@amrhas82/agentic-kit 1.0.0 → 1.1.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/.claude-plugin/marketplace.json +67 -0
- package/.claude-plugin/plugin-lite.json +6 -1
- package/.claude-plugin/plugin-pro.json +6 -1
- package/.claude-plugin/plugin-standard.json +6 -1
- package/.claude-plugin/plugin.json +6 -1
- package/README.md +140 -370
- package/TROUBLESHOOTING.md +1 -1
- package/hooks/session-start.js +159 -0
- package/package.json +9 -2
- package/resources/agent-teams.yaml +3 -3
- package/resources/templates.yaml +404 -228
- package/resources/workflows.yaml +479 -219
package/resources/templates.yaml
CHANGED
|
@@ -39,29 +39,38 @@ templates:
|
|
|
39
39
|
'
|
|
40
40
|
- id: starter-template
|
|
41
41
|
title: Starter Template or Existing Project
|
|
42
|
-
instruction:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
42
|
+
instruction: |
|
|
43
|
+
Before proceeding further with architecture design, check if the project is based on a starter template or existing codebase:
|
|
44
|
+
|
|
45
|
+
1. Review the PRD and brainstorming brief for any mentions of:
|
|
46
|
+
- Starter templates (e.g., Create React App, Next.js, Vue CLI, Angular CLI, etc.)
|
|
47
|
+
- Existing projects or codebases being used as a foundation
|
|
48
|
+
- Boilerplate projects or scaffolding tools
|
|
49
|
+
- Previous projects to be cloned or adapted
|
|
50
|
+
2. If a starter template or existing project is mentioned:
|
|
51
|
+
- Ask the user to provide access via one of these methods:
|
|
52
|
+
- Link to the starter template documentation
|
|
53
|
+
- Upload/attach the project files (for small projects)
|
|
54
|
+
- Share a link to the project repository (GitHub, GitLab, etc.)
|
|
55
|
+
- Analyze the starter/existing project to understand:
|
|
56
|
+
- Pre-configured technology stack and versions
|
|
57
|
+
- Project structure and organization patterns
|
|
58
|
+
- Built-in scripts and tooling
|
|
59
|
+
- Existing architectural patterns and conventions
|
|
60
|
+
- Any limitations or constraints imposed by the starter
|
|
61
|
+
- Use this analysis to inform and align your architecture decisions
|
|
62
|
+
|
|
63
|
+
3. If no starter template is mentioned but this is a greenfield project:
|
|
64
|
+
- Suggest appropriate starter templates based on the tech stack preferences
|
|
65
|
+
- Explain the benefits (faster setup, best practices, community support)
|
|
66
|
+
- Let the user decide whether to use one
|
|
67
|
+
|
|
68
|
+
4. If the user confirms no starter template will be used:
|
|
69
|
+
- Proceed with architecture design from scratch
|
|
70
|
+
- Note that manual setup will be required for all tooling and configuration
|
|
71
|
+
|
|
72
|
+
Document the decision here before proceeding with the architecture design. If none, just say N/A
|
|
73
|
+
|
|
65
74
|
elicit: true
|
|
66
75
|
- id: changelog
|
|
67
76
|
title: Change Log
|
|
@@ -435,9 +444,16 @@ templates:
|
|
|
435
444
|
|
|
436
445
|
'
|
|
437
446
|
elicit: true
|
|
438
|
-
template:
|
|
439
|
-
|
|
440
|
-
|
|
447
|
+
template: |
|
|
448
|
+
openapi: 3.0.0
|
|
449
|
+
info:
|
|
450
|
+
title: {{api_title}}
|
|
451
|
+
version: {{api_version}}
|
|
452
|
+
description: {{api_description}}
|
|
453
|
+
servers:
|
|
454
|
+
- url: {{server_url}}
|
|
455
|
+
description: {{server_description}}
|
|
456
|
+
|
|
441
457
|
- id: database-schema
|
|
442
458
|
title: Database Schema
|
|
443
459
|
instruction: 'Transform the conceptual data models into concrete database schemas:
|
|
@@ -485,13 +501,16 @@ templates:
|
|
|
485
501
|
'
|
|
486
502
|
elicit: true
|
|
487
503
|
examples:
|
|
488
|
-
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
504
|
+
- |
|
|
505
|
+
project-root/
|
|
506
|
+
\u251C\u2500\u2500 packages/
|
|
507
|
+
\u2502 \u251C\u2500\u2500 api/ # Backend API service
|
|
508
|
+
\u2502 \u251C\u2500\u2500 web/ # Frontend application
|
|
509
|
+
\u2502 \u251C\u2500\u2500 shared/ # Shared utilities/types
|
|
510
|
+
\u2502 \u2514\u2500\u2500 infrastructure/ # IaC definitions
|
|
511
|
+
\u251C\u2500\u2500 scripts/ # Monorepo management scripts
|
|
512
|
+
\u2514\u2500\u2500 package.json # Root package.json with workspaces
|
|
513
|
+
|
|
495
514
|
- id: infrastructure-deployment
|
|
496
515
|
title: Infrastructure and Deployment
|
|
497
516
|
instruction: 'Define the deployment architecture and practices:
|
|
@@ -581,10 +600,15 @@ templates:
|
|
|
581
600
|
'
|
|
582
601
|
- id: logging-standards
|
|
583
602
|
title: Logging Standards
|
|
584
|
-
template:
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
603
|
+
template: |
|
|
604
|
+
- **Library:** {{logging_library}} {{version}}
|
|
605
|
+
- **Format:** {{log_format}}
|
|
606
|
+
- **Levels:** {{log_levels_definition}}
|
|
607
|
+
- **Required Context:**
|
|
608
|
+
- Correlation ID: {{correlation_id_format}}
|
|
609
|
+
- Service Context: {{service_context}}
|
|
610
|
+
- User Context: {{user_context_rules}}
|
|
611
|
+
|
|
588
612
|
- id: error-patterns
|
|
589
613
|
title: Error Handling Patterns
|
|
590
614
|
sections:
|
|
@@ -742,14 +766,17 @@ templates:
|
|
|
742
766
|
|
|
743
767
|
- Mock all external dependencies
|
|
744
768
|
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
769
|
+
|
|
|
770
|
+
|
|
771
|
+
- id: integration-tests
|
|
772
|
+
title: Integration Tests
|
|
773
|
+
template: "- **Scope:** {{integration_scope}}
|
|
774
|
+
- **Location:** {{integration_test_location}}
|
|
775
|
+
- **Test Infrastructure:**
|
|
776
|
+
- **{{dependency_name}}:** {{test_approach}} ({{test_tool}})
|
|
777
|
+
"
|
|
778
|
+
examples:
|
|
779
|
+
- **Database:** In-memory H2 for unit tests, Testcontainers PostgreSQL
|
|
753
780
|
for integration'
|
|
754
781
|
- '**Message Queue:** Embedded Kafka for tests'
|
|
755
782
|
- '**External APIs:** WireMock for stubbing'
|
|
@@ -799,29 +826,39 @@ templates:
|
|
|
799
826
|
|
|
800
827
|
5. Work with user to ensure completeness without redundancy
|
|
801
828
|
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
829
|
+
|
|
|
830
|
+
|
|
831
|
+
elicit: true
|
|
832
|
+
sections:
|
|
833
|
+
- id: input-validation
|
|
834
|
+
title: Input Validation
|
|
835
|
+
template: "- **Validation Library:** {{validation_library}}
|
|
836
|
+
- **Validation Location:** {{where_to_validate}}
|
|
837
|
+
- **Required Rules:**
|
|
838
|
+
- All external inputs MUST be validated
|
|
839
|
+
- Validation at API boundary before processing
|
|
840
|
+
- Whitelist approach preferred over blacklist
|
|
841
|
+
"
|
|
842
|
+
- id: auth-authorization
|
|
843
|
+
title: Authentication & Authorization
|
|
844
|
+
template: "- **Auth Method:** {{auth_implementation}}
|
|
845
|
+
- **Session Management:** {{session_approach}}
|
|
846
|
+
- **Required Patterns:**
|
|
847
|
+
- {{auth_pattern_1}}
|
|
848
|
+
- {{auth_pattern_2}}
|
|
849
|
+
"
|
|
850
|
+
- id: secrets-management
|
|
851
|
+
title: Secrets Management
|
|
852
|
+
template: "- **Development:** {{dev_secrets_approach}}
|
|
853
|
+
- **Production:** {{prod_secrets_service}}
|
|
854
|
+
- **Code Requirements:**
|
|
855
|
+
- NEVER hardcode secrets
|
|
856
|
+
- Access via configuration service only
|
|
857
|
+
- No secrets in logs or error messages
|
|
858
|
+
"
|
|
859
|
+
- id: api-security
|
|
860
|
+
title: API Security
|
|
861
|
+
template: - **Rate Limiting:** {{rate_limit_implementation}}
|
|
825
862
|
|
|
826
863
|
- **CORS Policy:** {{cors_configuration}}
|
|
827
864
|
|
|
@@ -1097,31 +1134,34 @@ templates:
|
|
|
1097
1134
|
output:
|
|
1098
1135
|
format: markdown
|
|
1099
1136
|
filename: docs/architecture.md
|
|
1100
|
-
title: '{{project_name}} Brownfield Enhancement Architecture
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1137
|
+
title: '{{project_name}} Brownfield Enhancement Architecture|
|
|
1138
|
+
|
|
1139
|
+
workflow:
|
|
1140
|
+
mode: interactive
|
|
1141
|
+
elicitation: advanced-elicitation
|
|
1142
|
+
sections:
|
|
1143
|
+
- id: introduction
|
|
1144
|
+
title: Introduction
|
|
1145
|
+
instruction: "IMPORTANT - SCOPE AND ASSESSMENT REQUIRED:
|
|
1146
|
+
|
|
1147
|
+
This architecture document is for SIGNIFICANT enhancements to existing projects that require comprehensive architectural planning. Before proceeding:
|
|
1148
|
+
|
|
1149
|
+
1. **Verify Complexity**: Confirm this enhancement requires architectural planning. For simple additions, recommend: "For simpler changes that dont require
|
|
1150
|
+
architectural planning, consider using the brownfield-create-epic or brownfield-create-story
|
|
1151
|
+
task with the Product Owner instead.\|
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
2. **REQUIRED INPUTS**:
|
|
1155
|
+
- Completed prd.md
|
|
1156
|
+
- Existing project technical documentation (from docs folder or user-provided)
|
|
1157
|
+
- Access to existing project structure (IDE or uploaded files)
|
|
1158
|
+
|
|
1159
|
+
3. **DEEP ANALYSIS MANDATE**: You MUST conduct thorough analysis of the existing codebase, architecture patterns, and technical constraints before making ANY architectural recommendations. Every suggestion must be based on actual project analysis, not assumptions.
|
|
1160
|
+
|
|
1161
|
+
4. **CONTINUOUS VALIDATION**: Throughout this process, explicitly validate your understanding with the user. For every architectural decision, confirm: "Based on my analysis of your existing system, I recommend [decision] because [evidence from actual project]. Does this align with your system's reality?"
|
|
1162
|
+
|
|
1163
|
+
If any required inputs are missing, request them before proceeding.
|
|
1164
|
+
|
|
1125
1165
|
elicit: true
|
|
1126
1166
|
sections:
|
|
1127
1167
|
- id: intro-content
|
|
@@ -1508,14 +1548,17 @@ templates:
|
|
|
1508
1548
|
type: code
|
|
1509
1549
|
language: plaintext
|
|
1510
1550
|
instruction: Show only new additions to existing structure
|
|
1511
|
-
template:
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1551
|
+
template: |
|
|
1552
|
+
{{project-root}}/
|
|
1553
|
+
\u251C\u2500\u2500 {{existing_structure_context}}
|
|
1554
|
+
\u2502 \u251C\u2500\u2500 {{new_folder_1}}/ # {{purpose_1}}
|
|
1555
|
+
\u2502 \u2502 \u251C\u2500\u2500 {{new_file_1}}
|
|
1556
|
+
\u2502 \u2502 \u2514\u2500\u2500 {{new_file_2}}
|
|
1557
|
+
\u2502 \u251C\u2500\u2500 {{existing_folder}}/ # Existing folder with additions
|
|
1558
|
+
\u2502 \u2502 \u251C\u2500\u2500 {{existing_file}} # Existing file
|
|
1559
|
+
\u2502 \u2502 \u2514\u2500\u2500 {{new_file_3}} # New addition
|
|
1560
|
+
\u2502 \u2514\u2500\u2500 {{new_folder_2}}/ # {{purpose_2}}
|
|
1561
|
+
|
|
1519
1562
|
- id: integration-guidelines
|
|
1520
1563
|
title: Integration Guidelines
|
|
1521
1564
|
template: '- **File Naming:** {{file_naming_consistency}}
|
|
@@ -1868,16 +1911,16 @@ templates:
|
|
|
1868
1911
|
title: Available Documentation
|
|
1869
1912
|
type: checklist
|
|
1870
1913
|
items:
|
|
1871
|
-
- Tech Stack Documentation [[LLM: "If from document-project, check \u2713
|
|
1914
|
+
- Tech Stack Documentation [[LLM: "If from document-project, check \u2713
|
|
1872
1915
|
]]"
|
|
1873
|
-
- Source Tree/Architecture [[LLM: "If from document-project, check \u2713
|
|
1916
|
+
- Source Tree/Architecture [[LLM: "If from document-project, check \u2713
|
|
1874
1917
|
]]"
|
|
1875
1918
|
- Coding Standards [[LLM: If from document-project, may be partial]]
|
|
1876
1919
|
- API Documentation [[LLM: "If from document-project, check \u2713]]"
|
|
1877
|
-
- External API Documentation [[LLM: "If from document-project, check \u2713
|
|
1920
|
+
- External API Documentation [[LLM: "If from document-project, check \u2713
|
|
1878
1921
|
]]"
|
|
1879
1922
|
- UX/UI Guidelines [[LLM: May not be in document-project]]
|
|
1880
|
-
- Technical Debt Documentation [[LLM: "If from document-project, check \u2713
|
|
1923
|
+
- Technical Debt Documentation [[LLM: "If from document-project, check \u2713
|
|
1881
1924
|
]]"
|
|
1882
1925
|
- 'Other: {{other_docs}}'
|
|
1883
1926
|
instruction: '- If document-project was already run: "Using existing project
|
|
@@ -2620,44 +2663,62 @@ templates:
|
|
|
2620
2663
|
output:
|
|
2621
2664
|
format: markdown
|
|
2622
2665
|
filename: docs/ui-architecture.md
|
|
2623
|
-
title: '{{project_name}} Frontend Architecture Document
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2666
|
+
title: '{{project_name}} Frontend Architecture Document|
|
|
2667
|
+
|
|
2668
|
+
workflow:
|
|
2669
|
+
mode: interactive
|
|
2670
|
+
elicitation: advanced-elicitation
|
|
2671
|
+
sections:
|
|
2672
|
+
- id: template-framework-selection
|
|
2673
|
+
title: Template and Framework Selection
|
|
2674
|
+
instruction: "Review provided documents including PRD, UX-UI Specification, and main Architecture Document. Focus on extracting technical implementation details needed for AI frontend tools and developer agents. Ask the user for any of these documents if you are unable to locate and were not provided.
|
|
2675
|
+
Before proceeding with frontend architecture design, check if the project is using a frontend starter template or existing codebase:
|
|
2676
|
+
|
|
2677
|
+
1. Review the PRD, main architecture document, and brainstorming brief for mentions of:
|
|
2678
|
+
- Frontend starter templates (e.g., Create React App, Next.js, Vite, Vue CLI, Angular CLI, etc.)
|
|
2679
|
+
- UI kit or component library starters
|
|
2680
|
+
- Existing frontend projects being used as a foundation
|
|
2681
|
+
- Admin dashboard templates or other specialized starters
|
|
2682
|
+
- Design system implementations
|
|
2683
|
+
2. If a frontend starter template or existing project is mentioned:
|
|
2684
|
+
- Ask the user to provide access via one of these methods:
|
|
2685
|
+
- Link to the starter template documentation
|
|
2686
|
+
- Upload/attach the project files (for small projects)
|
|
2687
|
+
- Share a link to the project repository
|
|
2688
|
+
- Analyze the starter/existing project to understand:
|
|
2689
|
+
- Pre-installed dependencies and versions
|
|
2690
|
+
- Folder structure and file organization
|
|
2691
|
+
- Built-in components and utilities
|
|
2692
|
+
- Styling approach (CSS modules, styled-components, Tailwind, etc.)
|
|
2693
|
+
- State management setup (if any)
|
|
2694
|
+
- Routing configuration
|
|
2695
|
+
- Testing setup and patterns
|
|
2696
|
+
- Build and development scripts
|
|
2697
|
+
- Use this analysis to ensure your frontend architecture aligns with the starters patterns
|
|
2698
|
+
|
|
2699
|
+
3. If no frontend starter
|
|
2700
|
+
is mentioned but this is a new UI, ensure we know what the ui language and
|
|
2701
|
+
framework is:
|
|
2702
|
+
- Based on the framework choice, suggest appropriate starters:
|
|
2703
|
+
|
|
2704
|
+
- React: Create React App, Next.js, Vite + React
|
|
2705
|
+
- Vue: Vue CLI,
|
|
2706
|
+
Nuxt.js, Vite + Vue
|
|
2707
|
+
- Angular: Angular CLI
|
|
2708
|
+
- Or suggest popular
|
|
2709
|
+
UI templates if applicable
|
|
2710
|
+
- Explain benefits specific to frontend development
|
|
2711
|
+
|
|
2712
|
+
|
|
2713
|
+
4. If the user confirms no starter template will be used:
|
|
2714
|
+
- Note that
|
|
2715
|
+
all tooling, bundling, and configuration will need manual setup
|
|
2716
|
+
- Proceed
|
|
2717
|
+
with frontend architecture from scratch
|
|
2718
|
+
|
|
2719
|
+
Document the starter template
|
|
2720
|
+
decision and any constraints it imposes before proceeding.
|
|
2721
|
+
"
|
|
2661
2722
|
sections:
|
|
2662
2723
|
- id: changelog
|
|
2663
2724
|
title: Change Log
|
|
@@ -2986,10 +3047,19 @@ templates:
|
|
|
2986
3047
|
mermaid_type: graph
|
|
2987
3048
|
template: '{{sitemap_diagram}}'
|
|
2988
3049
|
examples:
|
|
2989
|
-
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
3050
|
+
- |
|
|
3051
|
+
graph TD
|
|
3052
|
+
A[Homepage] --> B[Dashboard]
|
|
3053
|
+
A --> C[Products]
|
|
3054
|
+
A --> D[Account]
|
|
3055
|
+
B --> B1[Analytics]
|
|
3056
|
+
B --> B2[Recent Activity]
|
|
3057
|
+
C --> C1[Browse]
|
|
3058
|
+
C --> C2[Search]
|
|
3059
|
+
C --> C3[Product Details]
|
|
3060
|
+
D --> D1[Profile]
|
|
3061
|
+
D --> D2[Settings]
|
|
3062
|
+
D --> D3[Billing]
|
|
2993
3063
|
- id: navigation-structure
|
|
2994
3064
|
title: Navigation Structure
|
|
2995
3065
|
template: '**Primary Navigation:** {{primary_nav_description}}
|
|
@@ -3798,9 +3868,15 @@ templates:
|
|
|
3798
3868
|
condition: API style is REST
|
|
3799
3869
|
type: code
|
|
3800
3870
|
language: yaml
|
|
3801
|
-
template:
|
|
3802
|
-
|
|
3803
|
-
|
|
3871
|
+
template: |
|
|
3872
|
+
openapi: 3.0.0
|
|
3873
|
+
info:
|
|
3874
|
+
title: {{api_title}}
|
|
3875
|
+
version: {{api_version}}
|
|
3876
|
+
description: {{api_description}}
|
|
3877
|
+
servers:
|
|
3878
|
+
- url: {{server_url}}
|
|
3879
|
+
description: {{server_description}}
|
|
3804
3880
|
- id: graphql-api
|
|
3805
3881
|
title: GraphQL Schema
|
|
3806
3882
|
condition: API style is GraphQL
|
|
@@ -4097,50 +4173,103 @@ templates:
|
|
|
4097
4173
|
type: code
|
|
4098
4174
|
language: plaintext
|
|
4099
4175
|
examples:
|
|
4100
|
-
- "{{project-name}}
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
|
|
4104
|
-
|
|
4105
|
-
\u2500
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
\
|
|
4111
|
-
|
|
4112
|
-
\
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
\
|
|
4119
|
-
|
|
4120
|
-
\
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
\
|
|
4129
|
-
|
|
4130
|
-
\
|
|
4131
|
-
|
|
4132
|
-
\u2502 \u2502 \
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
\u2500
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4176
|
+
- "{{project-name}}/
|
|
4177
|
+
\u251C\u2500\u2500 .github/ # CI/CD
|
|
4178
|
+
workflows
|
|
4179
|
+
\u2502 \u2514\u2500\u2500 workflows/
|
|
4180
|
+
\u2502 \u251C\u2500
|
|
4181
|
+
\u2500 ci.yaml
|
|
4182
|
+
\u2502 \u2514\u2500\u2500 deploy.yaml
|
|
4183
|
+
\u251C\u2500\u2500
|
|
4184
|
+
apps/ # Application packages
|
|
4185
|
+
\u2502 \u251C\u2500
|
|
4186
|
+
\u2500 web/ # Frontend application
|
|
4187
|
+
\u2502 \u2502 \u251C
|
|
4188
|
+
\u2500\u2500 src/
|
|
4189
|
+
\u2502 \u2502 \u2502 \u251C\u2500\u2500 components/
|
|
4190
|
+
# UI components
|
|
4191
|
+
\u2502 \u2502 \u2502 \u251C\u2500\u2500 pages/
|
|
4192
|
+
# Page components/routes
|
|
4193
|
+
\u2502 \u2502 \u2502 \u251C\u2500
|
|
4194
|
+
\u2500 hooks/ # Custom React hooks
|
|
4195
|
+
\u2502 \u2502 \u2502 \u251C
|
|
4196
|
+
\u2500\u2500 services/ # API client services
|
|
4197
|
+
\u2502 \u2502 \u2502
|
|
4198
|
+
\u251C\u2500\u2500 stores/ # State management
|
|
4199
|
+
\u2502 \u2502
|
|
4200
|
+
\u2502 \u251C\u2500\u2500 styles/ # Global styles/themes
|
|
4201
|
+
\u2502
|
|
4202
|
+
\u2502 \u2502 \u2514\u2500\u2500 utils/ # Frontend utilities
|
|
4203
|
+
|
|
4204
|
+
\u2502 \u2502 \u251C\u2500\u2500 public/ # Static assets
|
|
4205
|
+
|
|
4206
|
+
\u2502 \u2502 \u251C\u2500\u2500 tests/ # Frontend tests
|
|
4207
|
+
|
|
4208
|
+
\u2502 \u2502 \u2514\u2500\u2500 package.json
|
|
4209
|
+
\u2502 \u2514\u2500\u2500
|
|
4210
|
+
api/ # Backend application
|
|
4211
|
+
\u2502 \u251C\u2500
|
|
4212
|
+
\u2500 src/
|
|
4213
|
+
\u2502 \u2502 \u251C\u2500\u2500 routes/ # API
|
|
4214
|
+
routes/controllers
|
|
4215
|
+
\u2502 \u2502 \u251C\u2500\u2500 services/
|
|
4216
|
+
# Business logic
|
|
4217
|
+
\u2502 \u2502 \u251C\u2500\u2500 models/
|
|
4218
|
+
# Data models
|
|
4219
|
+
\u2502 \u2502 \u251C\u2500\u2500 middleware/
|
|
4220
|
+
# Express/API middleware
|
|
4221
|
+
\u2502 \u2502 \u251C\u2500\u2500 utils/
|
|
4222
|
+
# Backend utilities
|
|
4223
|
+
\u2502 \u2502 \u2514\u2500\u2500 {{serverless_or_server_entry}}
|
|
4224
|
+
|
|
4225
|
+
\u2502 \u251C\u2500\u2500 tests/ # Backend tests
|
|
4226
|
+
\u2502
|
|
4227
|
+
\u2514\u2500\u2500 package.json
|
|
4228
|
+
\u251C\u2500\u2500 packages/
|
|
4229
|
+
# Shared packages
|
|
4230
|
+
\u2502 \u251C\u2500\u2500 shared/
|
|
4231
|
+
# Shared types/utilities
|
|
4232
|
+
\u2502 \u2502 \u251C\u2500\u2500
|
|
4233
|
+
src/
|
|
4234
|
+
\u2502 \u2502 \u2502 \u251C\u2500\u2500 types/ # TypeScript
|
|
4235
|
+
interfaces
|
|
4236
|
+
\u2502 \u2502 \u2502 \u251C\u2500\u2500 constants/
|
|
4237
|
+
# Shared constants
|
|
4238
|
+
\u2502 \u2502 \u2502 \u2514\u2500\u2500 utils/
|
|
4239
|
+
# Shared utilities
|
|
4240
|
+
\u2502 \u2502 \u2514\u2500\u2500 package.json
|
|
4241
|
+
|
|
4242
|
+
\u2502 \u251C\u2500\u2500 ui/ # Shared UI components
|
|
4243
|
+
|
|
4244
|
+
\u2502 \u2502 \u251C\u2500\u2500 src/
|
|
4245
|
+
\u2502 \u2502 \u2514\u2500\u2500
|
|
4246
|
+
package.json
|
|
4247
|
+
\u2502 \u2514\u2500\u2500 config/ # Shared
|
|
4248
|
+
configuration
|
|
4249
|
+
\u2502 \u251C\u2500\u2500 eslint/
|
|
4250
|
+
\u2502 \u251C
|
|
4251
|
+
\u2500\u2500 typescript/
|
|
4252
|
+
\u2502 \u2514\u2500\u2500 jest/
|
|
4253
|
+
\u251C\u2500
|
|
4254
|
+
\u2500 infrastructure/ # IaC definitions
|
|
4255
|
+
\u2502 \u2514\u2500
|
|
4256
|
+
\u2500 {{iac_structure}}
|
|
4257
|
+
\u251C\u2500\u2500 scripts/ #
|
|
4258
|
+
Build/deploy scripts
|
|
4259
|
+
\u251C\u2500\u2500 docs/ # Documentation
|
|
4260
|
+
|
|
4261
|
+
\u2502 \u251C\u2500\u2500 prd.md
|
|
4262
|
+
\u2502 \u251C\u2500\u2500 front-end-spec.md
|
|
4263
|
+
|
|
4264
|
+
\u2502 \u2514\u2500\u2500 fullstack-architecture.md
|
|
4265
|
+
\u251C\u2500\u2500
|
|
4266
|
+
.env.example # Environment template
|
|
4267
|
+
\u251C\u2500\u2500 package.json
|
|
4268
|
+
# Root package.json
|
|
4269
|
+
\u251C\u2500\u2500 {{monorepo_config}}
|
|
4270
|
+
# Monorepo configuration
|
|
4271
|
+
\u2514\u2500\u2500 README.md
|
|
4272
|
+
"
|
|
4144
4273
|
- id: development-workflow
|
|
4145
4274
|
title: Development Workflow
|
|
4146
4275
|
instruction: Define the development setup and workflow for the fullstack application.
|
|
@@ -4324,11 +4453,11 @@ templates:
|
|
|
4324
4453
|
language: text
|
|
4325
4454
|
template: 'E2E Tests
|
|
4326
4455
|
|
|
4327
|
-
/
|
|
4456
|
+
/
|
|
4328
4457
|
|
|
4329
4458
|
Integration Tests
|
|
4330
4459
|
|
|
4331
|
-
/
|
|
4460
|
+
/
|
|
4332
4461
|
|
|
4333
4462
|
Frontend Unit Backend Unit
|
|
4334
4463
|
|
|
@@ -4428,9 +4557,16 @@ templates:
|
|
|
4428
4557
|
title: Error Response Format
|
|
4429
4558
|
type: code
|
|
4430
4559
|
language: typescript
|
|
4431
|
-
template:
|
|
4432
|
-
|
|
4433
|
-
|
|
4560
|
+
template: |
|
|
4561
|
+
interface ApiError {
|
|
4562
|
+
error: {
|
|
4563
|
+
code: string;
|
|
4564
|
+
message: string;
|
|
4565
|
+
details?: Record<string, any>;
|
|
4566
|
+
timestamp: string;
|
|
4567
|
+
requestId: string;
|
|
4568
|
+
};
|
|
4569
|
+
}
|
|
4434
4570
|
- id: frontend-error-handling
|
|
4435
4571
|
title: Frontend Error Handling
|
|
4436
4572
|
type: code
|
|
@@ -5427,38 +5563,73 @@ templates:
|
|
|
5427
5563
|
must_fix: []
|
|
5428
5564
|
monitor: []
|
|
5429
5565
|
examples:
|
|
5430
|
-
with_issues: "top_issues
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
|
|
5566
|
+
with_issues: "top_issues:
|
|
5567
|
+
- id: \|
|
|
5568
|
+
SEC-001"
|
|
5569
|
+
severity: high # ONLY: low|medium|high
|
|
5570
|
+
finding: "No rate limiting on login endpoint"
|
|
5571
|
+
suggested_action: "Add rate limiting middleware before production"
|
|
5572
|
+
- id: "TEST-001"
|
|
5573
|
+
severity: medium
|
|
5574
|
+
finding: "Missing integration tests for auth flow"
|
|
5575
|
+
suggested_action: "Add test coverage for critical paths"
|
|
5576
|
+
|
|
5577
|
+
when_waived: |
|
|
5578
|
+
waiver:
|
|
5579
|
+
active: true
|
|
5580
|
+
reason: "Accepted for MVP release - will address in next sprint"
|
|
5581
|
+
approved_by: "Product Owner"
|
|
5582
|
+
|
|
5438
5583
|
optional_fields_examples:
|
|
5439
5584
|
quality_and_expiry: 'quality_score: 75 # 0-100 (optional scoring)
|
|
5440
5585
|
|
|
5441
5586
|
expires: "2025-01-26T00:00:00Z" # Optional gate freshness window
|
|
5442
5587
|
|
|
5443
5588
|
'
|
|
5444
|
-
evidence:
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5589
|
+
evidence: |
|
|
5590
|
+
evidence:
|
|
5591
|
+
tests_reviewed: 15
|
|
5592
|
+
risks_identified: 3
|
|
5593
|
+
trace:
|
|
5594
|
+
ac_covered: [1, 2, 3] # AC numbers with test coverage
|
|
5595
|
+
ac_gaps: [4] # AC numbers lacking coverage
|
|
5596
|
+
|
|
5597
|
+
nfr_validation: |
|
|
5598
|
+
nfr_validation:
|
|
5599
|
+
security: { status: CONCERNS, notes: "Rate limiting missing" }
|
|
5600
|
+
performance: { status: PASS, notes: "" }
|
|
5601
|
+
reliability: { status: PASS, notes: "" }
|
|
5602
|
+
maintainability: { status: PASS, notes: "" }
|
|
5603
|
+
|
|
5604
|
+
history: |
|
|
5605
|
+
history: # Append-only audit trail
|
|
5606
|
+
- at: "2025-01-12T10:00:00Z"gate: FAIL
|
|
5607
|
+
note: "Initial review - missing tests"
|
|
5608
|
+
- at: "2025-01-12T15:00:00Z"
|
|
5609
|
+
gate: CONCERNS
|
|
5610
|
+
note: "Tests added but rate limiting still missing"
|
|
5611
|
+
|
|
5612
|
+
risk_summary: |
|
|
5613
|
+
risk_summary: # From risk-profile task
|
|
5614
|
+
totals:
|
|
5615
|
+
critical: 0
|
|
5616
|
+
high: 0
|
|
5617
|
+
medium: 0
|
|
5618
|
+
low: 0
|
|
5619
|
+
# 'highest' is emitted only when risks exist
|
|
5620
|
+
recommendations:
|
|
5621
|
+
must_fix: []
|
|
5622
|
+
monitor: []
|
|
5623
|
+
|
|
5624
|
+
recommendations: |
|
|
5625
|
+
recommendations:
|
|
5626
|
+
immediate: # Must fix before production
|
|
5627
|
+
- action: "Add rate limiting to auth endpoints"
|
|
5628
|
+
refs: ["api/auth/login.ts:42-68"]
|
|
5629
|
+
future: # Can be addressed later
|
|
5630
|
+
- action: "Consider caching for better performance"
|
|
5631
|
+
refs: ["services/data.service.ts"]
|
|
5632
|
+
|
|
5462
5633
|
story-tmpl:
|
|
5463
5634
|
template:
|
|
5464
5635
|
id: story-template-v2
|
|
@@ -5528,9 +5699,14 @@ templates:
|
|
|
5528
5699
|
Reference applicable acceptance criteria numbers where relevant.
|
|
5529
5700
|
|
|
5530
5701
|
'
|
|
5531
|
-
template:
|
|
5532
|
-
|
|
5533
|
-
|
|
5702
|
+
template: |
|
|
5703
|
+
- [ ] Task 1 (AC: # if applicable)
|
|
5704
|
+
- [ ] Subtask1.1...
|
|
5705
|
+
- [ ] Task 2 (AC: # if applicable)
|
|
5706
|
+
- [ ] Subtask 2.1...
|
|
5707
|
+
- [ ] Task 3 (AC: # if applicable)
|
|
5708
|
+
- [ ] Subtask 3.1...
|
|
5709
|
+
|
|
5534
5710
|
elicit: true
|
|
5535
5711
|
owner: scrum-master
|
|
5536
5712
|
editors:
|