feat: web bundles include a simplified prd with architecture now for simpler project folderes not needing a full plown architecture doc!

This commit is contained in:
Brian Madison
2025-06-15 13:00:01 -05:00
parent 28b313c01d
commit 877354525e
7 changed files with 282 additions and 285 deletions

View File

@@ -1652,7 +1652,7 @@ Use appropriate diagram type for clarity.]]
```mermaid ```mermaid
{{architecture_diagram}} {{architecture_diagram}}
``` ```text
### Architectural Patterns ### Architectural Patterns
@@ -1803,7 +1803,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
``` ```text
**Relationships:** **Relationships:**
@@ -1827,17 +1827,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
^^CONDITION: has_rest_api^^ ^^CONDITION: has_rest_api^^
```yaml ```yml
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: { { api_title } } title:
version: { { api_version } } '[object Object]': null
description: { { api_description } } version:
'[object Object]': null
description:
'[object Object]': null
servers: servers:
- url: { { api_base_url } } - url:
description: { { environment } } '[object Object]': null
# ... OpenAPI specification continues description:
'[object Object]': null
``` ```
^^/CONDITION: has_rest_api^^ ^^/CONDITION: has_rest_api^^
@@ -1847,7 +1850,7 @@ servers:
```graphql ```graphql
# GraphQL Schema # GraphQL Schema
{{graphql_schema}} {{graphql_schema}}
``` ```text
^^/CONDITION: has_graphql_api^^ ^^/CONDITION: has_graphql_api^^
@@ -2005,7 +2008,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Component Organization:** **Component Organization:**
``` ```text
{{component_structure}} {{component_structure}}
``` ```
@@ -2017,7 +2020,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
component_template; component_template;
} }
} }
``` ```text
### State Management Architecture ### State Management Architecture
@@ -2044,7 +2047,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Route Organization:** **Route Organization:**
``` ```text
{{route_structure}} {{route_structure}}
``` ```
@@ -2056,7 +2059,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
protected_route_example; protected_route_example;
} }
} }
``` ```text
### Frontend Services Layer ### Frontend Services Layer
@@ -2080,7 +2083,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
service_example; service_example;
} }
} }
``` ```text
## Backend Architecture ## Backend Architecture
@@ -2097,7 +2100,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{function_structure}} {{function_structure}}
``` ```text
**Function Template:** **Function Template:**
@@ -2114,7 +2117,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
^^CONDITION: traditional_server^^ ^^CONDITION: traditional_server^^
**Controller/Route Organization:** **Controller/Route Organization:**
``` ```text
{{controller_structure}} {{controller_structure}}
``` ```
@@ -2126,7 +2129,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
controller_template; controller_template;
} }
} }
``` ```text
^^/CONDITION: traditional_server^^ ^^/CONDITION: traditional_server^^
@@ -2148,7 +2151,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
repository_pattern; repository_pattern;
} }
} }
``` ```text
### Authentication and Authorization ### Authentication and Authorization
@@ -2168,7 +2171,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
auth_middleware; auth_middleware;
} }
} }
``` ```text
## Unified Project Structure ## Unified Project Structure
@@ -2252,7 +2255,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```bash ```bash
{{prerequisites_commands}} {{prerequisites_commands}}
``` ```text
**Initial Setup:** **Initial Setup:**
@@ -2274,7 +2277,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
# Run tests # Run tests
{{test_commands}} {{test_commands}}
``` ```text
### Environment Configuration ### Environment Configuration
@@ -2312,9 +2315,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### CI/CD Pipeline ### CI/CD Pipeline
```yaml ```yml
{ { cicd_pipeline_config } } '[object Object]': null
``` ```text
### Environments ### Environments
@@ -2378,7 +2381,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
Integration Tests Integration Tests
/ \ / \
Frontend Unit Backend Unit Frontend Unit Backend Unit
``` ```text
### Test Organization ### Test Organization
@@ -2386,19 +2389,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{frontend_test_structure}} {{frontend_test_structure}}
``` ```text
**Backend Tests:** **Backend Tests:**
``` ```
{{backend_test_structure}} {{backend_test_structure}}
``` ```text
**E2E Tests:** **E2E Tests:**
``` ```
{{e2e_test_structure}} {{e2e_test_structure}}
``` ```text
### Test Examples ### Test Examples
@@ -2420,7 +2423,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
backend_test_example; backend_test_example;
} }
} }
``` ```text
**E2E Test:** **E2E Test:**
@@ -2473,7 +2476,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```mermaid ```mermaid
{{error_flow_diagram}} {{error_flow_diagram}}
``` ```text
### Error Response Format ### Error Response Format
@@ -2497,7 +2500,7 @@ interface ApiError {
frontend_error_handler; frontend_error_handler;
} }
} }
``` ```text
### Backend Error Handling ### Backend Error Handling

View File

@@ -5633,7 +5633,7 @@ Use appropriate diagram type for clarity.]]
```mermaid ```mermaid
{{architecture_diagram}} {{architecture_diagram}}
``` ```text
### Architectural Patterns ### Architectural Patterns
@@ -5784,7 +5784,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
``` ```text
**Relationships:** **Relationships:**
@@ -5808,17 +5808,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
^^CONDITION: has_rest_api^^ ^^CONDITION: has_rest_api^^
```yaml ```yml
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: { { api_title } } title:
version: { { api_version } } '[object Object]': null
description: { { api_description } } version:
'[object Object]': null
description:
'[object Object]': null
servers: servers:
- url: { { api_base_url } } - url:
description: { { environment } } '[object Object]': null
# ... OpenAPI specification continues description:
'[object Object]': null
``` ```
^^/CONDITION: has_rest_api^^ ^^/CONDITION: has_rest_api^^
@@ -5828,7 +5831,7 @@ servers:
```graphql ```graphql
# GraphQL Schema # GraphQL Schema
{{graphql_schema}} {{graphql_schema}}
``` ```text
^^/CONDITION: has_graphql_api^^ ^^/CONDITION: has_graphql_api^^
@@ -5986,7 +5989,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Component Organization:** **Component Organization:**
``` ```text
{{component_structure}} {{component_structure}}
``` ```
@@ -5998,7 +6001,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
component_template; component_template;
} }
} }
``` ```text
### State Management Architecture ### State Management Architecture
@@ -6025,7 +6028,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Route Organization:** **Route Organization:**
``` ```text
{{route_structure}} {{route_structure}}
``` ```
@@ -6037,7 +6040,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
protected_route_example; protected_route_example;
} }
} }
``` ```text
### Frontend Services Layer ### Frontend Services Layer
@@ -6061,7 +6064,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
service_example; service_example;
} }
} }
``` ```text
## Backend Architecture ## Backend Architecture
@@ -6078,7 +6081,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{function_structure}} {{function_structure}}
``` ```text
**Function Template:** **Function Template:**
@@ -6095,7 +6098,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
^^CONDITION: traditional_server^^ ^^CONDITION: traditional_server^^
**Controller/Route Organization:** **Controller/Route Organization:**
``` ```text
{{controller_structure}} {{controller_structure}}
``` ```
@@ -6107,7 +6110,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
controller_template; controller_template;
} }
} }
``` ```text
^^/CONDITION: traditional_server^^ ^^/CONDITION: traditional_server^^
@@ -6129,7 +6132,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
repository_pattern; repository_pattern;
} }
} }
``` ```text
### Authentication and Authorization ### Authentication and Authorization
@@ -6149,7 +6152,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
auth_middleware; auth_middleware;
} }
} }
``` ```text
## Unified Project Structure ## Unified Project Structure
@@ -6233,7 +6236,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```bash ```bash
{{prerequisites_commands}} {{prerequisites_commands}}
``` ```text
**Initial Setup:** **Initial Setup:**
@@ -6255,7 +6258,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
# Run tests # Run tests
{{test_commands}} {{test_commands}}
``` ```text
### Environment Configuration ### Environment Configuration
@@ -6293,9 +6296,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### CI/CD Pipeline ### CI/CD Pipeline
```yaml ```yml
{ { cicd_pipeline_config } } '[object Object]': null
``` ```text
### Environments ### Environments
@@ -6359,7 +6362,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
Integration Tests Integration Tests
/ \ / \
Frontend Unit Backend Unit Frontend Unit Backend Unit
``` ```text
### Test Organization ### Test Organization
@@ -6367,19 +6370,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{frontend_test_structure}} {{frontend_test_structure}}
``` ```text
**Backend Tests:** **Backend Tests:**
``` ```
{{backend_test_structure}} {{backend_test_structure}}
``` ```text
**E2E Tests:** **E2E Tests:**
``` ```
{{e2e_test_structure}} {{e2e_test_structure}}
``` ```text
### Test Examples ### Test Examples
@@ -6401,7 +6404,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
backend_test_example; backend_test_example;
} }
} }
``` ```text
**E2E Test:** **E2E Test:**
@@ -6454,7 +6457,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```mermaid ```mermaid
{{error_flow_diagram}} {{error_flow_diagram}}
``` ```text
### Error Response Format ### Error Response Format
@@ -6478,7 +6481,7 @@ interface ApiError {
frontend_error_handler; frontend_error_handler;
} }
} }
``` ```text
### Backend Error Handling ### Backend Error Handling

View File

@@ -45,25 +45,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll
```yml ```yml
activation-instructions: activation-instructions:
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER! - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
- Only read the files/tasks listed here when user selects them for execution to minimize context usage - Only read the files/tasks listed here when user selects them for execution to minimize context usage
- The customization field ALWAYS takes precedence over any conflicting instructions - The customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
agent: agent:
name: John name: John
id: pm id: pm
title: Product Manager title: Product Manager
icon: 📋 icon: 📋
whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication
customization: customization: null
persona: persona:
role: Investigative Product Strategist & Market-Savvy PM role: Investigative Product Strategist & Market-Savvy PM
style: Analytical, inquisitive, data-driven, user-focused, pragmatic style: Analytical, inquisitive, data-driven, user-focused, pragmatic
identity: Product Manager specialized in document creation and product research identity: Product Manager specialized in document creation and product research
focus: Creating PRDs and other product documentation using templates focus: Creating PRDs and other product documentation using templates
core_principles: core_principles:
- Deeply understand "Why" - uncover root causes and motivations - Deeply understand "Why" - uncover root causes and motivations
- Champion the user - maintain relentless focus on target user value - Champion the user - maintain relentless focus on target user value
@@ -73,16 +70,13 @@ persona:
- Collaborative & iterative approach - Collaborative & iterative approach
- Proactive risk identification - Proactive risk identification
- Strategic thinking & outcome-oriented - Strategic thinking & outcome-oriented
startup: startup:
- Greet the user with your name and role, and inform of the *help command. - Greet the user with your name and role, and inform of the *help command.
commands: commands:
- "*help" - Show: numbered list of the following commands to allow selection - '*help" - Show: numbered list of the following commands to allow selection'
- "*chat-mode" - (Default) Deep conversation with advanced-elicitation - '*chat-mode" - (Default) Deep conversation with advanced-elicitation'
- "*create-doc {template}" - Create doc (no template = show available templates) - '*create-doc {template}" - Create doc (no template = show available templates)'
- "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona'
dependencies: dependencies:
tasks: tasks:
- create-doc - create-doc
@@ -1744,7 +1738,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
model_interface; model_interface;
} }
} }
``` ```text
**Relationships:** **Relationships:**
@@ -1808,18 +1802,21 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
^^CONDITION: has_rest_api^^ ^^CONDITION: has_rest_api^^
```yaml ```yml
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: { { api_title } } title:
version: { { api_version } } '[object Object]': null
description: { { api_description } } version:
'[object Object]': null
description:
'[object Object]': null
servers: servers:
- url: { { api_base_url } } - url:
description: { { environment } } '[object Object]': null
# ... OpenAPI specification continues description:
``` '[object Object]': null
```text
^^/CONDITION: has_rest_api^^ ^^/CONDITION: has_rest_api^^

View File

@@ -358,25 +358,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll
```yml ```yml
activation-instructions: activation-instructions:
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER! - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
- Only read the files/tasks listed here when user selects them for execution to minimize context usage - Only read the files/tasks listed here when user selects them for execution to minimize context usage
- The customization field ALWAYS takes precedence over any conflicting instructions - The customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
agent: agent:
name: John name: John
id: pm id: pm
title: Product Manager title: Product Manager
icon: 📋 icon: 📋
whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication
customization: customization: null
persona: persona:
role: Investigative Product Strategist & Market-Savvy PM role: Investigative Product Strategist & Market-Savvy PM
style: Analytical, inquisitive, data-driven, user-focused, pragmatic style: Analytical, inquisitive, data-driven, user-focused, pragmatic
identity: Product Manager specialized in document creation and product research identity: Product Manager specialized in document creation and product research
focus: Creating PRDs and other product documentation using templates focus: Creating PRDs and other product documentation using templates
core_principles: core_principles:
- Deeply understand "Why" - uncover root causes and motivations - Deeply understand "Why" - uncover root causes and motivations
- Champion the user - maintain relentless focus on target user value - Champion the user - maintain relentless focus on target user value
@@ -386,16 +383,13 @@ persona:
- Collaborative & iterative approach - Collaborative & iterative approach
- Proactive risk identification - Proactive risk identification
- Strategic thinking & outcome-oriented - Strategic thinking & outcome-oriented
startup: startup:
- Greet the user with your name and role, and inform of the *help command. - Greet the user with your name and role, and inform of the *help command.
commands: commands:
- "*help" - Show: numbered list of the following commands to allow selection - '*help" - Show: numbered list of the following commands to allow selection'
- "*chat-mode" - (Default) Deep conversation with advanced-elicitation - '*chat-mode" - (Default) Deep conversation with advanced-elicitation'
- "*create-doc {template}" - Create doc (no template = show available templates) - '*create-doc {template}" - Create doc (no template = show available templates)'
- "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona'
dependencies: dependencies:
tasks: tasks:
- create-doc - create-doc
@@ -4503,7 +4497,7 @@ Use appropriate diagram type for clarity.]]
```mermaid ```mermaid
{{architecture_diagram}} {{architecture_diagram}}
``` ```text
### Architectural Patterns ### Architectural Patterns
@@ -4654,7 +4648,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
``` ```text
**Relationships:** **Relationships:**
@@ -4678,17 +4672,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
^^CONDITION: has_rest_api^^ ^^CONDITION: has_rest_api^^
```yaml ```yml
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: { { api_title } } title:
version: { { api_version } } '[object Object]': null
description: { { api_description } } version:
'[object Object]': null
description:
'[object Object]': null
servers: servers:
- url: { { api_base_url } } - url:
description: { { environment } } '[object Object]': null
# ... OpenAPI specification continues description:
'[object Object]': null
``` ```
^^/CONDITION: has_rest_api^^ ^^/CONDITION: has_rest_api^^
@@ -4698,7 +4695,7 @@ servers:
```graphql ```graphql
# GraphQL Schema # GraphQL Schema
{{graphql_schema}} {{graphql_schema}}
``` ```text
^^/CONDITION: has_graphql_api^^ ^^/CONDITION: has_graphql_api^^
@@ -4856,7 +4853,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Component Organization:** **Component Organization:**
``` ```text
{{component_structure}} {{component_structure}}
``` ```
@@ -4868,7 +4865,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
component_template; component_template;
} }
} }
``` ```text
### State Management Architecture ### State Management Architecture
@@ -4895,7 +4892,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Route Organization:** **Route Organization:**
``` ```text
{{route_structure}} {{route_structure}}
``` ```
@@ -4907,7 +4904,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
protected_route_example; protected_route_example;
} }
} }
``` ```text
### Frontend Services Layer ### Frontend Services Layer
@@ -4931,7 +4928,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
service_example; service_example;
} }
} }
``` ```text
## Backend Architecture ## Backend Architecture
@@ -4948,7 +4945,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{function_structure}} {{function_structure}}
``` ```text
**Function Template:** **Function Template:**
@@ -4965,7 +4962,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
^^CONDITION: traditional_server^^ ^^CONDITION: traditional_server^^
**Controller/Route Organization:** **Controller/Route Organization:**
``` ```text
{{controller_structure}} {{controller_structure}}
``` ```
@@ -4977,7 +4974,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
controller_template; controller_template;
} }
} }
``` ```text
^^/CONDITION: traditional_server^^ ^^/CONDITION: traditional_server^^
@@ -4999,7 +4996,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
repository_pattern; repository_pattern;
} }
} }
``` ```text
### Authentication and Authorization ### Authentication and Authorization
@@ -5019,7 +5016,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
auth_middleware; auth_middleware;
} }
} }
``` ```text
## Unified Project Structure ## Unified Project Structure
@@ -5103,7 +5100,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```bash ```bash
{{prerequisites_commands}} {{prerequisites_commands}}
``` ```text
**Initial Setup:** **Initial Setup:**
@@ -5125,7 +5122,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
# Run tests # Run tests
{{test_commands}} {{test_commands}}
``` ```text
### Environment Configuration ### Environment Configuration
@@ -5163,9 +5160,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### CI/CD Pipeline ### CI/CD Pipeline
```yaml ```yml
{ { cicd_pipeline_config } } '[object Object]': null
``` ```text
### Environments ### Environments
@@ -5229,7 +5226,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
Integration Tests Integration Tests
/ \ / \
Frontend Unit Backend Unit Frontend Unit Backend Unit
``` ```text
### Test Organization ### Test Organization
@@ -5237,19 +5234,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{frontend_test_structure}} {{frontend_test_structure}}
``` ```text
**Backend Tests:** **Backend Tests:**
``` ```
{{backend_test_structure}} {{backend_test_structure}}
``` ```text
**E2E Tests:** **E2E Tests:**
``` ```
{{e2e_test_structure}} {{e2e_test_structure}}
``` ```text
### Test Examples ### Test Examples
@@ -5271,7 +5268,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
backend_test_example; backend_test_example;
} }
} }
``` ```text
**E2E Test:** **E2E Test:**
@@ -5324,7 +5321,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```mermaid ```mermaid
{{error_flow_diagram}} {{error_flow_diagram}}
``` ```text
### Error Response Format ### Error Response Format
@@ -5348,7 +5345,7 @@ interface ApiError {
frontend_error_handler; frontend_error_handler;
} }
} }
``` ```text
### Backend Error Handling ### Backend Error Handling
@@ -7652,7 +7649,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
model_interface; model_interface;
} }
} }
``` ```text
**Relationships:** **Relationships:**
@@ -7716,18 +7713,21 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
^^CONDITION: has_rest_api^^ ^^CONDITION: has_rest_api^^
```yaml ```yml
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: { { api_title } } title:
version: { { api_version } } '[object Object]': null
description: { { api_description } } version:
'[object Object]': null
description:
'[object Object]': null
servers: servers:
- url: { { api_base_url } } - url:
description: { { environment } } '[object Object]': null
# ... OpenAPI specification continues description:
``` '[object Object]': null
```text
^^/CONDITION: has_rest_api^^ ^^/CONDITION: has_rest_api^^

View File

@@ -226,25 +226,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll
```yml ```yml
activation-instructions: activation-instructions:
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER! - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
- Only read the files/tasks listed here when user selects them for execution to minimize context usage - Only read the files/tasks listed here when user selects them for execution to minimize context usage
- The customization field ALWAYS takes precedence over any conflicting instructions - The customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
agent: agent:
name: John name: John
id: pm id: pm
title: Product Manager title: Product Manager
icon: 📋 icon: 📋
whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication
customization: customization: null
persona: persona:
role: Investigative Product Strategist & Market-Savvy PM role: Investigative Product Strategist & Market-Savvy PM
style: Analytical, inquisitive, data-driven, user-focused, pragmatic style: Analytical, inquisitive, data-driven, user-focused, pragmatic
identity: Product Manager specialized in document creation and product research identity: Product Manager specialized in document creation and product research
focus: Creating PRDs and other product documentation using templates focus: Creating PRDs and other product documentation using templates
core_principles: core_principles:
- Deeply understand "Why" - uncover root causes and motivations - Deeply understand "Why" - uncover root causes and motivations
- Champion the user - maintain relentless focus on target user value - Champion the user - maintain relentless focus on target user value
@@ -254,16 +251,13 @@ persona:
- Collaborative & iterative approach - Collaborative & iterative approach
- Proactive risk identification - Proactive risk identification
- Strategic thinking & outcome-oriented - Strategic thinking & outcome-oriented
startup: startup:
- Greet the user with your name and role, and inform of the *help command. - Greet the user with your name and role, and inform of the *help command.
commands: commands:
- "*help" - Show: numbered list of the following commands to allow selection - '*help" - Show: numbered list of the following commands to allow selection'
- "*chat-mode" - (Default) Deep conversation with advanced-elicitation - '*chat-mode" - (Default) Deep conversation with advanced-elicitation'
- "*create-doc {template}" - Create doc (no template = show available templates) - '*create-doc {template}" - Create doc (no template = show available templates)'
- "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona'
dependencies: dependencies:
tasks: tasks:
- create-doc - create-doc
@@ -4420,7 +4414,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
model_interface; model_interface;
} }
} }
``` ```text
**Relationships:** **Relationships:**
@@ -4484,18 +4478,21 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
^^CONDITION: has_rest_api^^ ^^CONDITION: has_rest_api^^
```yaml ```yml
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: { { api_title } } title:
version: { { api_version } } '[object Object]': null
description: { { api_description } } version:
'[object Object]': null
description:
'[object Object]': null
servers: servers:
- url: { { api_base_url } } - url:
description: { { environment } } '[object Object]': null
# ... OpenAPI specification continues description:
``` '[object Object]': null
```text
^^/CONDITION: has_rest_api^^ ^^/CONDITION: has_rest_api^^
@@ -6843,7 +6840,7 @@ Use appropriate diagram type for clarity.]]
```mermaid ```mermaid
{{architecture_diagram}} {{architecture_diagram}}
``` ```text
### Architectural Patterns ### Architectural Patterns
@@ -6994,7 +6991,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
``` ```text
**Relationships:** **Relationships:**
@@ -7018,17 +7015,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
^^CONDITION: has_rest_api^^ ^^CONDITION: has_rest_api^^
```yaml ```yml
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: { { api_title } } title:
version: { { api_version } } '[object Object]': null
description: { { api_description } } version:
'[object Object]': null
description:
'[object Object]': null
servers: servers:
- url: { { api_base_url } } - url:
description: { { environment } } '[object Object]': null
# ... OpenAPI specification continues description:
'[object Object]': null
``` ```
^^/CONDITION: has_rest_api^^ ^^/CONDITION: has_rest_api^^
@@ -7038,7 +7038,7 @@ servers:
```graphql ```graphql
# GraphQL Schema # GraphQL Schema
{{graphql_schema}} {{graphql_schema}}
``` ```text
^^/CONDITION: has_graphql_api^^ ^^/CONDITION: has_graphql_api^^
@@ -7196,7 +7196,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Component Organization:** **Component Organization:**
``` ```text
{{component_structure}} {{component_structure}}
``` ```
@@ -7208,7 +7208,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
component_template; component_template;
} }
} }
``` ```text
### State Management Architecture ### State Management Architecture
@@ -7235,7 +7235,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Route Organization:** **Route Organization:**
``` ```text
{{route_structure}} {{route_structure}}
``` ```
@@ -7247,7 +7247,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
protected_route_example; protected_route_example;
} }
} }
``` ```text
### Frontend Services Layer ### Frontend Services Layer
@@ -7271,7 +7271,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
service_example; service_example;
} }
} }
``` ```text
## Backend Architecture ## Backend Architecture
@@ -7288,7 +7288,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{function_structure}} {{function_structure}}
``` ```text
**Function Template:** **Function Template:**
@@ -7305,7 +7305,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
^^CONDITION: traditional_server^^ ^^CONDITION: traditional_server^^
**Controller/Route Organization:** **Controller/Route Organization:**
``` ```text
{{controller_structure}} {{controller_structure}}
``` ```
@@ -7317,7 +7317,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
controller_template; controller_template;
} }
} }
``` ```text
^^/CONDITION: traditional_server^^ ^^/CONDITION: traditional_server^^
@@ -7339,7 +7339,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
repository_pattern; repository_pattern;
} }
} }
``` ```text
### Authentication and Authorization ### Authentication and Authorization
@@ -7359,7 +7359,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
auth_middleware; auth_middleware;
} }
} }
``` ```text
## Unified Project Structure ## Unified Project Structure
@@ -7443,7 +7443,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```bash ```bash
{{prerequisites_commands}} {{prerequisites_commands}}
``` ```text
**Initial Setup:** **Initial Setup:**
@@ -7465,7 +7465,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
# Run tests # Run tests
{{test_commands}} {{test_commands}}
``` ```text
### Environment Configuration ### Environment Configuration
@@ -7503,9 +7503,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### CI/CD Pipeline ### CI/CD Pipeline
```yaml ```yml
{ { cicd_pipeline_config } } '[object Object]': null
``` ```text
### Environments ### Environments
@@ -7569,7 +7569,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
Integration Tests Integration Tests
/ \ / \
Frontend Unit Backend Unit Frontend Unit Backend Unit
``` ```text
### Test Organization ### Test Organization
@@ -7577,19 +7577,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{frontend_test_structure}} {{frontend_test_structure}}
``` ```text
**Backend Tests:** **Backend Tests:**
``` ```
{{backend_test_structure}} {{backend_test_structure}}
``` ```text
**E2E Tests:** **E2E Tests:**
``` ```
{{e2e_test_structure}} {{e2e_test_structure}}
``` ```text
### Test Examples ### Test Examples
@@ -7611,7 +7611,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
backend_test_example; backend_test_example;
} }
} }
``` ```text
**E2E Test:** **E2E Test:**
@@ -7664,7 +7664,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```mermaid ```mermaid
{{error_flow_diagram}} {{error_flow_diagram}}
``` ```text
### Error Response Format ### Error Response Format
@@ -7688,7 +7688,7 @@ interface ApiError {
frontend_error_handler; frontend_error_handler;
} }
} }
``` ```text
### Backend Error Handling ### Backend Error Handling

View File

@@ -215,25 +215,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll
```yml ```yml
activation-instructions: activation-instructions:
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER! - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
- Only read the files/tasks listed here when user selects them for execution to minimize context usage - Only read the files/tasks listed here when user selects them for execution to minimize context usage
- The customization field ALWAYS takes precedence over any conflicting instructions - The customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
agent: agent:
name: John name: John
id: pm id: pm
title: Product Manager title: Product Manager
icon: 📋 icon: 📋
whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication
customization: customization: null
persona: persona:
role: Investigative Product Strategist & Market-Savvy PM role: Investigative Product Strategist & Market-Savvy PM
style: Analytical, inquisitive, data-driven, user-focused, pragmatic style: Analytical, inquisitive, data-driven, user-focused, pragmatic
identity: Product Manager specialized in document creation and product research identity: Product Manager specialized in document creation and product research
focus: Creating PRDs and other product documentation using templates focus: Creating PRDs and other product documentation using templates
core_principles: core_principles:
- Deeply understand "Why" - uncover root causes and motivations - Deeply understand "Why" - uncover root causes and motivations
- Champion the user - maintain relentless focus on target user value - Champion the user - maintain relentless focus on target user value
@@ -243,16 +240,13 @@ persona:
- Collaborative & iterative approach - Collaborative & iterative approach
- Proactive risk identification - Proactive risk identification
- Strategic thinking & outcome-oriented - Strategic thinking & outcome-oriented
startup: startup:
- Greet the user with your name and role, and inform of the *help command. - Greet the user with your name and role, and inform of the *help command.
commands: commands:
- "*help" - Show: numbered list of the following commands to allow selection - '*help" - Show: numbered list of the following commands to allow selection'
- "*chat-mode" - (Default) Deep conversation with advanced-elicitation - '*chat-mode" - (Default) Deep conversation with advanced-elicitation'
- "*create-doc {template}" - Create doc (no template = show available templates) - '*create-doc {template}" - Create doc (no template = show available templates)'
- "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona'
dependencies: dependencies:
tasks: tasks:
- create-doc - create-doc
@@ -4340,7 +4334,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
model_interface; model_interface;
} }
} }
``` ```text
**Relationships:** **Relationships:**
@@ -4404,18 +4398,21 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
^^CONDITION: has_rest_api^^ ^^CONDITION: has_rest_api^^
```yaml ```yml
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: { { api_title } } title:
version: { { api_version } } '[object Object]': null
description: { { api_description } } version:
'[object Object]': null
description:
'[object Object]': null
servers: servers:
- url: { { api_base_url } } - url:
description: { { environment } } '[object Object]': null
# ... OpenAPI specification continues description:
``` '[object Object]': null
```text
^^/CONDITION: has_rest_api^^ ^^/CONDITION: has_rest_api^^
@@ -6288,7 +6285,7 @@ Use appropriate diagram type for clarity.]]
```mermaid ```mermaid
{{architecture_diagram}} {{architecture_diagram}}
``` ```text
### Architectural Patterns ### Architectural Patterns
@@ -6439,7 +6436,7 @@ interface UserProfile {
bio?: string; bio?: string;
preferences: Record<string, any>; preferences: Record<string, any>;
} }
``` ```text
**Relationships:** **Relationships:**
@@ -6463,17 +6460,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site),
^^CONDITION: has_rest_api^^ ^^CONDITION: has_rest_api^^
```yaml ```yml
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: { { api_title } } title:
version: { { api_version } } '[object Object]': null
description: { { api_description } } version:
'[object Object]': null
description:
'[object Object]': null
servers: servers:
- url: { { api_base_url } } - url:
description: { { environment } } '[object Object]': null
# ... OpenAPI specification continues description:
'[object Object]': null
``` ```
^^/CONDITION: has_rest_api^^ ^^/CONDITION: has_rest_api^^
@@ -6483,7 +6483,7 @@ servers:
```graphql ```graphql
# GraphQL Schema # GraphQL Schema
{{graphql_schema}} {{graphql_schema}}
``` ```text
^^/CONDITION: has_graphql_api^^ ^^/CONDITION: has_graphql_api^^
@@ -6641,7 +6641,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Component Organization:** **Component Organization:**
``` ```text
{{component_structure}} {{component_structure}}
``` ```
@@ -6653,7 +6653,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
component_template; component_template;
} }
} }
``` ```text
### State Management Architecture ### State Management Architecture
@@ -6680,7 +6680,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Route Organization:** **Route Organization:**
``` ```text
{{route_structure}} {{route_structure}}
``` ```
@@ -6692,7 +6692,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
protected_route_example; protected_route_example;
} }
} }
``` ```text
### Frontend Services Layer ### Frontend Services Layer
@@ -6716,7 +6716,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
service_example; service_example;
} }
} }
``` ```text
## Backend Architecture ## Backend Architecture
@@ -6733,7 +6733,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{function_structure}} {{function_structure}}
``` ```text
**Function Template:** **Function Template:**
@@ -6750,7 +6750,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
^^CONDITION: traditional_server^^ ^^CONDITION: traditional_server^^
**Controller/Route Organization:** **Controller/Route Organization:**
``` ```text
{{controller_structure}} {{controller_structure}}
``` ```
@@ -6762,7 +6762,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
controller_template; controller_template;
} }
} }
``` ```text
^^/CONDITION: traditional_server^^ ^^/CONDITION: traditional_server^^
@@ -6784,7 +6784,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
repository_pattern; repository_pattern;
} }
} }
``` ```text
### Authentication and Authorization ### Authentication and Authorization
@@ -6804,7 +6804,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
auth_middleware; auth_middleware;
} }
} }
``` ```text
## Unified Project Structure ## Unified Project Structure
@@ -6888,7 +6888,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```bash ```bash
{{prerequisites_commands}} {{prerequisites_commands}}
``` ```text
**Initial Setup:** **Initial Setup:**
@@ -6910,7 +6910,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
# Run tests # Run tests
{{test_commands}} {{test_commands}}
``` ```text
### Environment Configuration ### Environment Configuration
@@ -6948,9 +6948,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### CI/CD Pipeline ### CI/CD Pipeline
```yaml ```yml
{ { cicd_pipeline_config } } '[object Object]': null
``` ```text
### Environments ### Environments
@@ -7014,7 +7014,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
Integration Tests Integration Tests
/ \ / \
Frontend Unit Backend Unit Frontend Unit Backend Unit
``` ```text
### Test Organization ### Test Organization
@@ -7022,19 +7022,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
``` ```
{{frontend_test_structure}} {{frontend_test_structure}}
``` ```text
**Backend Tests:** **Backend Tests:**
``` ```
{{backend_test_structure}} {{backend_test_structure}}
``` ```text
**E2E Tests:** **E2E Tests:**
``` ```
{{e2e_test_structure}} {{e2e_test_structure}}
``` ```text
### Test Examples ### Test Examples
@@ -7056,7 +7056,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
backend_test_example; backend_test_example;
} }
} }
``` ```text
**E2E Test:** **E2E Test:**
@@ -7109,7 +7109,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
```mermaid ```mermaid
{{error_flow_diagram}} {{error_flow_diagram}}
``` ```text
### Error Response Format ### Error Response Format
@@ -7133,7 +7133,7 @@ interface ApiError {
frontend_error_handler; frontend_error_handler;
} }
} }
``` ```text
### Backend Error Handling ### Backend Error Handling

View File

@@ -14,25 +14,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll
```yml ```yml
activation-instructions: activation-instructions:
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER! - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
- Only read the files/tasks listed here when user selects them for execution to minimize context usage - Only read the files/tasks listed here when user selects them for execution to minimize context usage
- The customization field ALWAYS takes precedence over any conflicting instructions - The customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
agent: agent:
name: John name: John
id: pm id: pm
title: Product Manager title: Product Manager
icon: 📋 icon: 📋
whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication
customization: customization: null
persona: persona:
role: Investigative Product Strategist & Market-Savvy PM role: Investigative Product Strategist & Market-Savvy PM
style: Analytical, inquisitive, data-driven, user-focused, pragmatic style: Analytical, inquisitive, data-driven, user-focused, pragmatic
identity: Product Manager specialized in document creation and product research identity: Product Manager specialized in document creation and product research
focus: Creating PRDs and other product documentation using templates focus: Creating PRDs and other product documentation using templates
core_principles: core_principles:
- Deeply understand "Why" - uncover root causes and motivations - Deeply understand "Why" - uncover root causes and motivations
- Champion the user - maintain relentless focus on target user value - Champion the user - maintain relentless focus on target user value
@@ -42,16 +39,13 @@ persona:
- Collaborative & iterative approach - Collaborative & iterative approach
- Proactive risk identification - Proactive risk identification
- Strategic thinking & outcome-oriented - Strategic thinking & outcome-oriented
startup: startup:
- Greet the user with your name and role, and inform of the *help command. - Greet the user with your name and role, and inform of the *help command.
commands: commands:
- "*help" - Show: numbered list of the following commands to allow selection - '*help" - Show: numbered list of the following commands to allow selection'
- "*chat-mode" - (Default) Deep conversation with advanced-elicitation - '*chat-mode" - (Default) Deep conversation with advanced-elicitation'
- "*create-doc {template}" - Create doc (no template = show available templates) - '*create-doc {template}" - Create doc (no template = show available templates)'
- "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona'
dependencies: dependencies:
tasks: tasks:
- create-doc - create-doc