@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.
@@ -39,29 +39,38 @@ templates:
39
39
  '
40
40
  - id: starter-template
41
41
  title: Starter Template or Existing Project
42
- instruction: "Before proceeding further with architecture design, check if\
43
- \ the project is based on a starter template or existing codebase:\n\n1.\
44
- \ Review the PRD and brainstorming brief for any mentions of:\n- Starter\
45
- \ templates (e.g., Create React App, Next.js, Vue CLI, Angular CLI, etc.)\n\
46
- - Existing projects or codebases being used as a foundation\n- Boilerplate\
47
- \ projects or scaffolding tools\n- Previous projects to be cloned or adapted\n\
48
- \n2. If a starter template or existing project is mentioned:\n- Ask the\
49
- \ user to provide access via one of these methods:\n - Link to the starter\
50
- \ template documentation\n - Upload/attach the project files (for small\
51
- \ projects)\n - Share a link to the project repository (GitHub, GitLab,\
52
- \ etc.)\n- Analyze the starter/existing project to understand:\n - Pre-configured\
53
- \ technology stack and versions\n - Project structure and organization\
54
- \ patterns\n - Built-in scripts and tooling\n - Existing architectural\
55
- \ patterns and conventions\n - Any limitations or constraints imposed by\
56
- \ the starter\n- Use this analysis to inform and align your architecture\
57
- \ decisions\n\n3. If no starter template is mentioned but this is a greenfield\
58
- \ project:\n- Suggest appropriate starter templates based on the tech stack\
59
- \ preferences\n- Explain the benefits (faster setup, best practices, community\
60
- \ support)\n- Let the user decide whether to use one\n\n4. If the user confirms\
61
- \ no starter template will be used:\n- Proceed with architecture design\
62
- \ from scratch\n- Note that manual setup will be required for all tooling\
63
- \ and configuration\n\nDocument the decision here before proceeding with\
64
- \ the architecture design. If none, just say N/A\n"
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: "openapi: 3.0.0\ninfo:\n title: {{api_title}}\n version: {{api_version}}\n\
439
- \ description: {{api_description}}\nservers:\n - url: {{server_url}}\n \
440
- \ description: {{server_description}}\n"
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
- - "project-root/\n\u251C\u2500\u2500 packages/\n\u2502 \u251C\u2500\u2500\
489
- \ api/ # Backend API service\n\u2502 \u251C\u2500\u2500\
490
- \ web/ # Frontend application\n\u2502 \u251C\u2500\u2500\
491
- \ shared/ # Shared utilities/types\n\u2502 \u2514\u2500\u2500\
492
- \ infrastructure/ # IaC definitions\n\u251C\u2500\u2500 scripts/ \
493
- \ # Monorepo management scripts\n\u2514\u2500\u2500 package.json\
494
- \ # Root package.json with workspaces\n"
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: "- **Library:** {{logging_library}} {{version}}\n- **Format:** {{log_format}}\n\
585
- - **Levels:** {{log_levels_definition}}\n- **Required Context:**\n - Correlation\
586
- \ ID: {{correlation_id_format}}\n - Service Context: {{service_context}}\n\
587
- \ - User Context: {{user_context_rules}}\n"
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
- - id: integration-tests
747
- title: Integration Tests
748
- template: "- **Scope:** {{integration_scope}}\n- **Location:** {{integration_test_location}}\n\
749
- - **Test Infrastructure:**\n - **{{dependency_name}}:** {{test_approach}}\
750
- \ ({{test_tool}})\n"
751
- examples:
752
- - '**Database:** In-memory H2 for unit tests, Testcontainers PostgreSQL
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
- elicit: true
804
- sections:
805
- - id: input-validation
806
- title: Input Validation
807
- template: "- **Validation Library:** {{validation_library}}\n- **Validation\
808
- \ Location:** {{where_to_validate}}\n- **Required Rules:**\n - All external\
809
- \ inputs MUST be validated\n - Validation at API boundary before processing\n\
810
- \ - Whitelist approach preferred over blacklist\n"
811
- - id: auth-authorization
812
- title: Authentication & Authorization
813
- template: "- **Auth Method:** {{auth_implementation}}\n- **Session Management:**\
814
- \ {{session_approach}}\n- **Required Patterns:**\n - {{auth_pattern_1}}\n\
815
- \ - {{auth_pattern_2}}\n"
816
- - id: secrets-management
817
- title: Secrets Management
818
- template: "- **Development:** {{dev_secrets_approach}}\n- **Production:**\
819
- \ {{prod_secrets_service}}\n- **Code Requirements:**\n - NEVER hardcode\
820
- \ secrets\n - Access via configuration service only\n - No secrets in\
821
- \ logs or error messages\n"
822
- - id: api-security
823
- title: API Security
824
- template: '- **Rate Limiting:** {{rate_limit_implementation}}
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
- workflow:
1102
- mode: interactive
1103
- elicitation: advanced-elicitation
1104
- sections:
1105
- - id: introduction
1106
- title: Introduction
1107
- instruction: "IMPORTANT - SCOPE AND ASSESSMENT REQUIRED:\n\nThis architecture\
1108
- \ document is for SIGNIFICANT enhancements to existing projects that require\
1109
- \ comprehensive architectural planning. Before proceeding:\n\n1. **Verify\
1110
- \ Complexity**: Confirm this enhancement requires architectural planning.\
1111
- \ For simple additions, recommend: \"For simpler changes that don't require\
1112
- \ architectural planning, consider using the brownfield-create-epic or brownfield-create-story\
1113
- \ task with the Product Owner instead.\"\n\n2. **REQUIRED INPUTS**:\n -\
1114
- \ Completed prd.md\n - Existing project technical documentation (from docs\
1115
- \ folder or user-provided)\n - Access to existing project structure (IDE\
1116
- \ or uploaded files)\n\n3. **DEEP ANALYSIS MANDATE**: You MUST conduct thorough\
1117
- \ analysis of the existing codebase, architecture patterns, and technical\
1118
- \ constraints before making ANY architectural recommendations. Every suggestion\
1119
- \ must be based on actual project analysis, not assumptions.\n\n4. **CONTINUOUS\
1120
- \ VALIDATION**: Throughout this process, explicitly validate your understanding\
1121
- \ with the user. For every architectural decision, confirm: \"Based on my\
1122
- \ analysis of your existing system, I recommend [decision] because [evidence\
1123
- \ from actual project]. Does this align with your system's reality?\"\n\n\
1124
- If any required inputs are missing, request them before proceeding.\n"
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: "{{project-root}}/\n\u251C\u2500\u2500 {{existing_structure_context}}\n\
1512
- \u2502 \u251C\u2500\u2500 {{new_folder_1}}/ # {{purpose_1}}\n\
1513
- \u2502 \u2502 \u251C\u2500\u2500 {{new_file_1}}\n\u2502 \u2502 \u2514\
1514
- \u2500\u2500 {{new_file_2}}\n\u2502 \u251C\u2500\u2500 {{existing_folder}}/\
1515
- \ # Existing folder with additions\n\u2502 \u2502 \u251C\u2500\
1516
- \u2500 {{existing_file}} # Existing file\n\u2502 \u2502 \u2514\
1517
- \u2500\u2500 {{new_file_3}} # New addition\n\u2502 \u2514\u2500\
1518
- \u2500 {{new_folder_2}}/ # {{purpose_2}}\n"
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
- workflow:
2625
- mode: interactive
2626
- elicitation: advanced-elicitation
2627
- sections:
2628
- - id: template-framework-selection
2629
- title: Template and Framework Selection
2630
- instruction: "Review provided documents including PRD, UX-UI Specification,\
2631
- \ and main Architecture Document. Focus on extracting technical implementation\
2632
- \ details needed for AI frontend tools and developer agents. Ask the user\
2633
- \ for any of these documents if you are unable to locate and were not provided.\n\
2634
- \nBefore proceeding with frontend architecture design, check if the project\
2635
- \ is using a frontend starter template or existing codebase:\n\n1. Review\
2636
- \ the PRD, main architecture document, and brainstorming brief for mentions\
2637
- \ of:\n - Frontend starter templates (e.g., Create React App, Next.js, Vite,\
2638
- \ Vue CLI, Angular CLI, etc.)\n - UI kit or component library starters\n\
2639
- \ - Existing frontend projects being used as a foundation\n - Admin dashboard\
2640
- \ templates or other specialized starters\n - Design system implementations\n\
2641
- \n2. If a frontend starter template or existing project is mentioned:\n \
2642
- \ - Ask the user to provide access via one of these methods:\n - Link\
2643
- \ to the starter template documentation\n - Upload/attach the project\
2644
- \ files (for small projects)\n - Share a link to the project repository\n\
2645
- \ - Analyze the starter/existing project to understand:\n - Pre-installed\
2646
- \ dependencies and versions\n - Folder structure and file organization\n\
2647
- \ - Built-in components and utilities\n - Styling approach (CSS modules,\
2648
- \ styled-components, Tailwind, etc.)\n - State management setup (if any)\n\
2649
- \ - Routing configuration\n - Testing setup and patterns\n - Build\
2650
- \ and development scripts\n - Use this analysis to ensure your frontend\
2651
- \ architecture aligns with the starter's patterns\n\n3. If no frontend starter\
2652
- \ is mentioned but this is a new UI, ensure we know what the ui language and\
2653
- \ framework is:\n - Based on the framework choice, suggest appropriate starters:\n\
2654
- \ - React: Create React App, Next.js, Vite + React\n - Vue: Vue CLI,\
2655
- \ Nuxt.js, Vite + Vue\n - Angular: Angular CLI\n - Or suggest popular\
2656
- \ UI templates if applicable\n - Explain benefits specific to frontend development\n\
2657
- \n4. If the user confirms no starter template will be used:\n - Note that\
2658
- \ all tooling, bundling, and configuration will need manual setup\n - Proceed\
2659
- \ with frontend architecture from scratch\n\nDocument the starter template\
2660
- \ decision and any constraints it imposes before proceeding.\n"
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
- - "graph TD\n A[Homepage] --> B[Dashboard]\n A --> C[Products]\n \
2990
- \ A --> D[Account]\n B --> B1[Analytics]\n B --> B2[Recent Activity]\n\
2991
- \ C --> C1[Browse]\n C --> C2[Search]\n C --> C3[Product Details]\n\
2992
- \ D --> D1[Profile]\n D --> D2[Settings]\n D --> D3[Billing]\n"
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: "openapi: 3.0.0\ninfo:\n title: {{api_title}}\n version: {{api_version}}\n\
3802
- \ description: {{api_description}}\nservers:\n - url: {{server_url}}\n\
3803
- \ description: {{server_description}}\n"
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}}/\n\u251C\u2500\u2500 .github/ # CI/CD\
4101
- \ workflows\n\u2502 \u2514\u2500\u2500 workflows/\n\u2502 \u251C\u2500\
4102
- \u2500 ci.yaml\n\u2502 \u2514\u2500\u2500 deploy.yaml\n\u251C\u2500\u2500\
4103
- \ apps/ # Application packages\n\u2502 \u251C\u2500\
4104
- \u2500 web/ # Frontend application\n\u2502 \u2502 \u251C\
4105
- \u2500\u2500 src/\n\u2502 \u2502 \u2502 \u251C\u2500\u2500 components/\
4106
- \ # UI components\n\u2502 \u2502 \u2502 \u251C\u2500\u2500 pages/\
4107
- \ # Page components/routes\n\u2502 \u2502 \u2502 \u251C\u2500\
4108
- \u2500 hooks/ # Custom React hooks\n\u2502 \u2502 \u2502 \u251C\
4109
- \u2500\u2500 services/ # API client services\n\u2502 \u2502 \u2502\
4110
- \ \u251C\u2500\u2500 stores/ # State management\n\u2502 \u2502\
4111
- \ \u2502 \u251C\u2500\u2500 styles/ # Global styles/themes\n\u2502\
4112
- \ \u2502 \u2502 \u2514\u2500\u2500 utils/ # Frontend utilities\n\
4113
- \u2502 \u2502 \u251C\u2500\u2500 public/ # Static assets\n\
4114
- \u2502 \u2502 \u251C\u2500\u2500 tests/ # Frontend tests\n\
4115
- \u2502 \u2502 \u2514\u2500\u2500 package.json\n\u2502 \u2514\u2500\u2500\
4116
- \ api/ # Backend application\n\u2502 \u251C\u2500\
4117
- \u2500 src/\n\u2502 \u2502 \u251C\u2500\u2500 routes/ # API\
4118
- \ routes/controllers\n\u2502 \u2502 \u251C\u2500\u2500 services/ \
4119
- \ # Business logic\n\u2502 \u2502 \u251C\u2500\u2500 models/\
4120
- \ # Data models\n\u2502 \u2502 \u251C\u2500\u2500 middleware/\
4121
- \ # Express/API middleware\n\u2502 \u2502 \u251C\u2500\u2500 utils/\
4122
- \ # Backend utilities\n\u2502 \u2502 \u2514\u2500\u2500 {{serverless_or_server_entry}}\n\
4123
- \u2502 \u251C\u2500\u2500 tests/ # Backend tests\n\u2502\
4124
- \ \u2514\u2500\u2500 package.json\n\u251C\u2500\u2500 packages/ \
4125
- \ # Shared packages\n\u2502 \u251C\u2500\u2500 shared/ \
4126
- \ # Shared types/utilities\n\u2502 \u2502 \u251C\u2500\u2500\
4127
- \ src/\n\u2502 \u2502 \u2502 \u251C\u2500\u2500 types/ # TypeScript\
4128
- \ interfaces\n\u2502 \u2502 \u2502 \u251C\u2500\u2500 constants/ \
4129
- \ # Shared constants\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 utils/\
4130
- \ # Shared utilities\n\u2502 \u2502 \u2514\u2500\u2500 package.json\n\
4131
- \u2502 \u251C\u2500\u2500 ui/ # Shared UI components\n\
4132
- \u2502 \u2502 \u251C\u2500\u2500 src/\n\u2502 \u2502 \u2514\u2500\u2500\
4133
- \ package.json\n\u2502 \u2514\u2500\u2500 config/ # Shared\
4134
- \ configuration\n\u2502 \u251C\u2500\u2500 eslint/\n\u2502 \u251C\
4135
- \u2500\u2500 typescript/\n\u2502 \u2514\u2500\u2500 jest/\n\u251C\u2500\
4136
- \u2500 infrastructure/ # IaC definitions\n\u2502 \u2514\u2500\
4137
- \u2500 {{iac_structure}}\n\u251C\u2500\u2500 scripts/ #\
4138
- \ Build/deploy scripts\n\u251C\u2500\u2500 docs/ # Documentation\n\
4139
- \u2502 \u251C\u2500\u2500 prd.md\n\u2502 \u251C\u2500\u2500 front-end-spec.md\n\
4140
- \u2502 \u2514\u2500\u2500 fullstack-architecture.md\n\u251C\u2500\u2500\
4141
- \ .env.example # Environment template\n\u251C\u2500\u2500 package.json\
4142
- \ # Root package.json\n\u251C\u2500\u2500 {{monorepo_config}}\
4143
- \ # Monorepo configuration\n\u2514\u2500\u2500 README.md\n"
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: "interface ApiError {\n error: {\n code: string;\n message:\
4432
- \ string;\n details?: Record<string, any>;\n timestamp: string;\n\
4433
- \ requestId: string;\n };\n}\n"
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:\n - id: \"SEC-001\"\n severity: high # ONLY:\
5431
- \ low|medium|high\n finding: \"No rate limiting on login endpoint\"\n \
5432
- \ suggested_action: \"Add rate limiting middleware before production\"\n\
5433
- \ - id: \"TEST-001\" \n severity: medium\n finding: \"Missing integration\
5434
- \ tests for auth flow\"\n suggested_action: \"Add test coverage for critical\
5435
- \ paths\"\n"
5436
- when_waived: "waiver:\n active: true\n reason: \"Accepted for MVP release\
5437
- \ - will address in next sprint\"\n approved_by: \"Product Owner\"\n"
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: "evidence:\n tests_reviewed: 15\n risks_identified: 3\n trace:\n\
5445
- \ ac_covered: [1, 2, 3] # AC numbers with test coverage\n ac_gaps:\
5446
- \ [4] # AC numbers lacking coverage\n"
5447
- nfr_validation: "nfr_validation:\n security: { status: CONCERNS, notes: \"\
5448
- Rate limiting missing\" }\n performance: { status: PASS, notes: \"\" }\n\
5449
- \ reliability: { status: PASS, notes: \"\" }\n maintainability: { status:\
5450
- \ PASS, notes: \"\" }\n"
5451
- history: "history: # Append-only audit trail\n - at: \"2025-01-12T10:00:00Z\"\
5452
- \n gate: FAIL\n note: \"Initial review - missing tests\"\n - at: \"\
5453
- 2025-01-12T15:00:00Z\" \n gate: CONCERNS\n note: \"Tests added but\
5454
- \ rate limiting still missing\"\n"
5455
- risk_summary: "risk_summary: # From risk-profile task\n totals:\n critical:\
5456
- \ 0\n high: 0\n medium: 0\n low: 0\n # 'highest' is emitted only\
5457
- \ when risks exist\n recommendations:\n must_fix: []\n monitor: []\n"
5458
- recommendations: "recommendations:\n immediate: # Must fix before production\n\
5459
- \ - action: \"Add rate limiting to auth endpoints\"\n refs: [\"api/auth/login.ts:42-68\"\
5460
- ]\n future: # Can be addressed later\n - action: \"Consider caching for\
5461
- \ better performance\"\n refs: [\"services/data.service.ts\"]\n"
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: "- [ ] Task 1 (AC: # if applicable)\n - [ ] Subtask1.1...\n- [ ]\
5532
- \ Task 2 (AC: # if applicable)\n - [ ] Subtask 2.1...\n- [ ] Task 3 (AC:\
5533
- \ # if applicable)\n - [ ] Subtask 3.1...\n"
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: