From 877354525e76cd1c9375e009a3a1429633010226 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Sun, 15 Jun 2025 13:00:01 -0500 Subject: [PATCH] feat: web bundles include a simplified prd with architecture now for simpler project folderes not needing a full plown architecture doc! --- .bmad-core/web-bundles/agents/architect.txt | 69 +++++----- .bmad-core/web-bundles/agents/bmad-master.txt | 69 +++++----- .bmad-core/web-bundles/agents/pm.txt | 49 ++++---- .bmad-core/web-bundles/teams/team-all.txt | 118 +++++++++--------- .../web-bundles/teams/team-fullstack.txt | 118 +++++++++--------- .bmad-core/web-bundles/teams/team-no-ui.txt | 118 +++++++++--------- .cursor/rules/pm.mdc | 26 ++-- 7 files changed, 282 insertions(+), 285 deletions(-) diff --git a/.bmad-core/web-bundles/agents/architect.txt b/.bmad-core/web-bundles/agents/architect.txt index 2eba5460..755fd709 100644 --- a/.bmad-core/web-bundles/agents/architect.txt +++ b/.bmad-core/web-bundles/agents/architect.txt @@ -1652,7 +1652,7 @@ Use appropriate diagram type for clarity.]] ```mermaid {{architecture_diagram}} -``` +```text ### Architectural Patterns @@ -1803,7 +1803,7 @@ interface UserProfile { bio?: string; preferences: Record; } -``` +```text **Relationships:** @@ -1827,17 +1827,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site), ^^CONDITION: has_rest_api^^ -```yaml +```yml openapi: 3.0.0 info: - title: { { api_title } } - version: { { api_version } } - description: { { api_description } } - + title: + '[object Object]': null + version: + '[object Object]': null + description: + '[object Object]': null servers: - - url: { { api_base_url } } - description: { { environment } } -# ... OpenAPI specification continues + - url: + '[object Object]': null + description: + '[object Object]': null ``` ^^/CONDITION: has_rest_api^^ @@ -1847,7 +1850,7 @@ servers: ```graphql # GraphQL Schema {{graphql_schema}} -``` +```text ^^/CONDITION: has_graphql_api^^ @@ -2005,7 +2008,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Component Organization:** -``` +```text {{component_structure}} ``` @@ -2017,7 +2020,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] component_template; } } -``` +```text ### State Management Architecture @@ -2044,7 +2047,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Route Organization:** -``` +```text {{route_structure}} ``` @@ -2056,7 +2059,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] protected_route_example; } } -``` +```text ### Frontend Services Layer @@ -2080,7 +2083,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] service_example; } } -``` +```text ## Backend Architecture @@ -2097,7 +2100,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{function_structure}} -``` +```text **Function Template:** @@ -2114,7 +2117,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ^^CONDITION: traditional_server^^ **Controller/Route Organization:** -``` +```text {{controller_structure}} ``` @@ -2126,7 +2129,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] controller_template; } } -``` +```text ^^/CONDITION: traditional_server^^ @@ -2148,7 +2151,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] repository_pattern; } } -``` +```text ### Authentication and Authorization @@ -2168,7 +2171,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] auth_middleware; } } -``` +```text ## Unified Project Structure @@ -2252,7 +2255,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```bash {{prerequisites_commands}} -``` +```text **Initial Setup:** @@ -2274,7 +2277,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] # Run tests {{test_commands}} -``` +```text ### Environment Configuration @@ -2312,9 +2315,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ### CI/CD Pipeline -```yaml -{ { cicd_pipeline_config } } -``` +```yml +'[object Object]': null +```text ### Environments @@ -2378,7 +2381,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] Integration Tests / \ Frontend Unit Backend Unit -``` +```text ### Test Organization @@ -2386,19 +2389,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{frontend_test_structure}} -``` +```text **Backend Tests:** ``` {{backend_test_structure}} -``` +```text **E2E Tests:** ``` {{e2e_test_structure}} -``` +```text ### Test Examples @@ -2420,7 +2423,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] backend_test_example; } } -``` +```text **E2E Test:** @@ -2473,7 +2476,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```mermaid {{error_flow_diagram}} -``` +```text ### Error Response Format @@ -2497,7 +2500,7 @@ interface ApiError { frontend_error_handler; } } -``` +```text ### Backend Error Handling diff --git a/.bmad-core/web-bundles/agents/bmad-master.txt b/.bmad-core/web-bundles/agents/bmad-master.txt index 2a475327..9bc7a759 100644 --- a/.bmad-core/web-bundles/agents/bmad-master.txt +++ b/.bmad-core/web-bundles/agents/bmad-master.txt @@ -5633,7 +5633,7 @@ Use appropriate diagram type for clarity.]] ```mermaid {{architecture_diagram}} -``` +```text ### Architectural Patterns @@ -5784,7 +5784,7 @@ interface UserProfile { bio?: string; preferences: Record; } -``` +```text **Relationships:** @@ -5808,17 +5808,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site), ^^CONDITION: has_rest_api^^ -```yaml +```yml openapi: 3.0.0 info: - title: { { api_title } } - version: { { api_version } } - description: { { api_description } } - + title: + '[object Object]': null + version: + '[object Object]': null + description: + '[object Object]': null servers: - - url: { { api_base_url } } - description: { { environment } } -# ... OpenAPI specification continues + - url: + '[object Object]': null + description: + '[object Object]': null ``` ^^/CONDITION: has_rest_api^^ @@ -5828,7 +5831,7 @@ servers: ```graphql # GraphQL Schema {{graphql_schema}} -``` +```text ^^/CONDITION: has_graphql_api^^ @@ -5986,7 +5989,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Component Organization:** -``` +```text {{component_structure}} ``` @@ -5998,7 +6001,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] component_template; } } -``` +```text ### State Management Architecture @@ -6025,7 +6028,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Route Organization:** -``` +```text {{route_structure}} ``` @@ -6037,7 +6040,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] protected_route_example; } } -``` +```text ### Frontend Services Layer @@ -6061,7 +6064,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] service_example; } } -``` +```text ## Backend Architecture @@ -6078,7 +6081,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{function_structure}} -``` +```text **Function Template:** @@ -6095,7 +6098,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ^^CONDITION: traditional_server^^ **Controller/Route Organization:** -``` +```text {{controller_structure}} ``` @@ -6107,7 +6110,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] controller_template; } } -``` +```text ^^/CONDITION: traditional_server^^ @@ -6129,7 +6132,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] repository_pattern; } } -``` +```text ### Authentication and Authorization @@ -6149,7 +6152,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] auth_middleware; } } -``` +```text ## Unified Project Structure @@ -6233,7 +6236,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```bash {{prerequisites_commands}} -``` +```text **Initial Setup:** @@ -6255,7 +6258,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] # Run tests {{test_commands}} -``` +```text ### Environment Configuration @@ -6293,9 +6296,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ### CI/CD Pipeline -```yaml -{ { cicd_pipeline_config } } -``` +```yml +'[object Object]': null +```text ### Environments @@ -6359,7 +6362,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] Integration Tests / \ Frontend Unit Backend Unit -``` +```text ### Test Organization @@ -6367,19 +6370,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{frontend_test_structure}} -``` +```text **Backend Tests:** ``` {{backend_test_structure}} -``` +```text **E2E Tests:** ``` {{e2e_test_structure}} -``` +```text ### Test Examples @@ -6401,7 +6404,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] backend_test_example; } } -``` +```text **E2E Test:** @@ -6454,7 +6457,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```mermaid {{error_flow_diagram}} -``` +```text ### Error Response Format @@ -6478,7 +6481,7 @@ interface ApiError { frontend_error_handler; } } -``` +```text ### Backend Error Handling diff --git a/.bmad-core/web-bundles/agents/pm.txt b/.bmad-core/web-bundles/agents/pm.txt index 26dbc720..7c0dfd99 100644 --- a/.bmad-core/web-bundles/agents/pm.txt +++ b/.bmad-core/web-bundles/agents/pm.txt @@ -45,25 +45,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll ```yml activation-instructions: - - 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 - - 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 - + - 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 + - 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 agent: name: John id: pm title: Product Manager icon: 📋 - whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" - customization: - + whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication + customization: null persona: role: Investigative Product Strategist & Market-Savvy PM style: Analytical, inquisitive, data-driven, user-focused, pragmatic identity: Product Manager specialized in document creation and product research focus: Creating PRDs and other product documentation using templates - core_principles: - Deeply understand "Why" - uncover root causes and motivations - Champion the user - maintain relentless focus on target user value @@ -73,16 +70,13 @@ persona: - Collaborative & iterative approach - Proactive risk identification - Strategic thinking & outcome-oriented - startup: - Greet the user with your name and role, and inform of the *help command. - commands: - - "*help" - Show: numbered list of the following commands to allow selection - - "*chat-mode" - (Default) Deep conversation with advanced-elicitation - - "*create-doc {template}" - Create doc (no template = show available templates) - - "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - + - '*help" - Show: numbered list of the following commands to allow selection' + - '*chat-mode" - (Default) Deep conversation with advanced-elicitation' + - '*create-doc {template}" - Create doc (no template = show available templates)' + - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona' dependencies: tasks: - create-doc @@ -1744,7 +1738,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]] model_interface; } } -``` +```text **Relationships:** @@ -1808,18 +1802,21 @@ Use appropriate format for the chosen API style. If no API (e.g., static site), ^^CONDITION: has_rest_api^^ -```yaml +```yml openapi: 3.0.0 info: - title: { { api_title } } - version: { { api_version } } - description: { { api_description } } - + title: + '[object Object]': null + version: + '[object Object]': null + description: + '[object Object]': null servers: - - url: { { api_base_url } } - description: { { environment } } -# ... OpenAPI specification continues -``` + - url: + '[object Object]': null + description: + '[object Object]': null +```text ^^/CONDITION: has_rest_api^^ diff --git a/.bmad-core/web-bundles/teams/team-all.txt b/.bmad-core/web-bundles/teams/team-all.txt index 807caa6e..d2dca85b 100644 --- a/.bmad-core/web-bundles/teams/team-all.txt +++ b/.bmad-core/web-bundles/teams/team-all.txt @@ -358,25 +358,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll ```yml activation-instructions: - - 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 - - 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 - + - 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 + - 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 agent: name: John id: pm title: Product Manager icon: 📋 - whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" - customization: - + whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication + customization: null persona: role: Investigative Product Strategist & Market-Savvy PM style: Analytical, inquisitive, data-driven, user-focused, pragmatic identity: Product Manager specialized in document creation and product research focus: Creating PRDs and other product documentation using templates - core_principles: - Deeply understand "Why" - uncover root causes and motivations - Champion the user - maintain relentless focus on target user value @@ -386,16 +383,13 @@ persona: - Collaborative & iterative approach - Proactive risk identification - Strategic thinking & outcome-oriented - startup: - Greet the user with your name and role, and inform of the *help command. - commands: - - "*help" - Show: numbered list of the following commands to allow selection - - "*chat-mode" - (Default) Deep conversation with advanced-elicitation - - "*create-doc {template}" - Create doc (no template = show available templates) - - "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - + - '*help" - Show: numbered list of the following commands to allow selection' + - '*chat-mode" - (Default) Deep conversation with advanced-elicitation' + - '*create-doc {template}" - Create doc (no template = show available templates)' + - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona' dependencies: tasks: - create-doc @@ -4503,7 +4497,7 @@ Use appropriate diagram type for clarity.]] ```mermaid {{architecture_diagram}} -``` +```text ### Architectural Patterns @@ -4654,7 +4648,7 @@ interface UserProfile { bio?: string; preferences: Record; } -``` +```text **Relationships:** @@ -4678,17 +4672,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site), ^^CONDITION: has_rest_api^^ -```yaml +```yml openapi: 3.0.0 info: - title: { { api_title } } - version: { { api_version } } - description: { { api_description } } - + title: + '[object Object]': null + version: + '[object Object]': null + description: + '[object Object]': null servers: - - url: { { api_base_url } } - description: { { environment } } -# ... OpenAPI specification continues + - url: + '[object Object]': null + description: + '[object Object]': null ``` ^^/CONDITION: has_rest_api^^ @@ -4698,7 +4695,7 @@ servers: ```graphql # GraphQL Schema {{graphql_schema}} -``` +```text ^^/CONDITION: has_graphql_api^^ @@ -4856,7 +4853,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Component Organization:** -``` +```text {{component_structure}} ``` @@ -4868,7 +4865,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] component_template; } } -``` +```text ### State Management Architecture @@ -4895,7 +4892,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Route Organization:** -``` +```text {{route_structure}} ``` @@ -4907,7 +4904,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] protected_route_example; } } -``` +```text ### Frontend Services Layer @@ -4931,7 +4928,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] service_example; } } -``` +```text ## Backend Architecture @@ -4948,7 +4945,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{function_structure}} -``` +```text **Function Template:** @@ -4965,7 +4962,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ^^CONDITION: traditional_server^^ **Controller/Route Organization:** -``` +```text {{controller_structure}} ``` @@ -4977,7 +4974,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] controller_template; } } -``` +```text ^^/CONDITION: traditional_server^^ @@ -4999,7 +4996,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] repository_pattern; } } -``` +```text ### Authentication and Authorization @@ -5019,7 +5016,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] auth_middleware; } } -``` +```text ## Unified Project Structure @@ -5103,7 +5100,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```bash {{prerequisites_commands}} -``` +```text **Initial Setup:** @@ -5125,7 +5122,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] # Run tests {{test_commands}} -``` +```text ### Environment Configuration @@ -5163,9 +5160,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ### CI/CD Pipeline -```yaml -{ { cicd_pipeline_config } } -``` +```yml +'[object Object]': null +```text ### Environments @@ -5229,7 +5226,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] Integration Tests / \ Frontend Unit Backend Unit -``` +```text ### Test Organization @@ -5237,19 +5234,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{frontend_test_structure}} -``` +```text **Backend Tests:** ``` {{backend_test_structure}} -``` +```text **E2E Tests:** ``` {{e2e_test_structure}} -``` +```text ### Test Examples @@ -5271,7 +5268,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] backend_test_example; } } -``` +```text **E2E Test:** @@ -5324,7 +5321,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```mermaid {{error_flow_diagram}} -``` +```text ### Error Response Format @@ -5348,7 +5345,7 @@ interface ApiError { frontend_error_handler; } } -``` +```text ### Backend Error Handling @@ -7652,7 +7649,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]] model_interface; } } -``` +```text **Relationships:** @@ -7716,18 +7713,21 @@ Use appropriate format for the chosen API style. If no API (e.g., static site), ^^CONDITION: has_rest_api^^ -```yaml +```yml openapi: 3.0.0 info: - title: { { api_title } } - version: { { api_version } } - description: { { api_description } } - + title: + '[object Object]': null + version: + '[object Object]': null + description: + '[object Object]': null servers: - - url: { { api_base_url } } - description: { { environment } } -# ... OpenAPI specification continues -``` + - url: + '[object Object]': null + description: + '[object Object]': null +```text ^^/CONDITION: has_rest_api^^ diff --git a/.bmad-core/web-bundles/teams/team-fullstack.txt b/.bmad-core/web-bundles/teams/team-fullstack.txt index 4273349d..5191ef47 100644 --- a/.bmad-core/web-bundles/teams/team-fullstack.txt +++ b/.bmad-core/web-bundles/teams/team-fullstack.txt @@ -226,25 +226,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll ```yml activation-instructions: - - 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 - - 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 - + - 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 + - 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 agent: name: John id: pm title: Product Manager icon: 📋 - whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" - customization: - + whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication + customization: null persona: role: Investigative Product Strategist & Market-Savvy PM style: Analytical, inquisitive, data-driven, user-focused, pragmatic identity: Product Manager specialized in document creation and product research focus: Creating PRDs and other product documentation using templates - core_principles: - Deeply understand "Why" - uncover root causes and motivations - Champion the user - maintain relentless focus on target user value @@ -254,16 +251,13 @@ persona: - Collaborative & iterative approach - Proactive risk identification - Strategic thinking & outcome-oriented - startup: - Greet the user with your name and role, and inform of the *help command. - commands: - - "*help" - Show: numbered list of the following commands to allow selection - - "*chat-mode" - (Default) Deep conversation with advanced-elicitation - - "*create-doc {template}" - Create doc (no template = show available templates) - - "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - + - '*help" - Show: numbered list of the following commands to allow selection' + - '*chat-mode" - (Default) Deep conversation with advanced-elicitation' + - '*create-doc {template}" - Create doc (no template = show available templates)' + - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona' dependencies: tasks: - create-doc @@ -4420,7 +4414,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]] model_interface; } } -``` +```text **Relationships:** @@ -4484,18 +4478,21 @@ Use appropriate format for the chosen API style. If no API (e.g., static site), ^^CONDITION: has_rest_api^^ -```yaml +```yml openapi: 3.0.0 info: - title: { { api_title } } - version: { { api_version } } - description: { { api_description } } - + title: + '[object Object]': null + version: + '[object Object]': null + description: + '[object Object]': null servers: - - url: { { api_base_url } } - description: { { environment } } -# ... OpenAPI specification continues -``` + - url: + '[object Object]': null + description: + '[object Object]': null +```text ^^/CONDITION: has_rest_api^^ @@ -6843,7 +6840,7 @@ Use appropriate diagram type for clarity.]] ```mermaid {{architecture_diagram}} -``` +```text ### Architectural Patterns @@ -6994,7 +6991,7 @@ interface UserProfile { bio?: string; preferences: Record; } -``` +```text **Relationships:** @@ -7018,17 +7015,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site), ^^CONDITION: has_rest_api^^ -```yaml +```yml openapi: 3.0.0 info: - title: { { api_title } } - version: { { api_version } } - description: { { api_description } } - + title: + '[object Object]': null + version: + '[object Object]': null + description: + '[object Object]': null servers: - - url: { { api_base_url } } - description: { { environment } } -# ... OpenAPI specification continues + - url: + '[object Object]': null + description: + '[object Object]': null ``` ^^/CONDITION: has_rest_api^^ @@ -7038,7 +7038,7 @@ servers: ```graphql # GraphQL Schema {{graphql_schema}} -``` +```text ^^/CONDITION: has_graphql_api^^ @@ -7196,7 +7196,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Component Organization:** -``` +```text {{component_structure}} ``` @@ -7208,7 +7208,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] component_template; } } -``` +```text ### State Management Architecture @@ -7235,7 +7235,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Route Organization:** -``` +```text {{route_structure}} ``` @@ -7247,7 +7247,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] protected_route_example; } } -``` +```text ### Frontend Services Layer @@ -7271,7 +7271,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] service_example; } } -``` +```text ## Backend Architecture @@ -7288,7 +7288,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{function_structure}} -``` +```text **Function Template:** @@ -7305,7 +7305,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ^^CONDITION: traditional_server^^ **Controller/Route Organization:** -``` +```text {{controller_structure}} ``` @@ -7317,7 +7317,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] controller_template; } } -``` +```text ^^/CONDITION: traditional_server^^ @@ -7339,7 +7339,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] repository_pattern; } } -``` +```text ### Authentication and Authorization @@ -7359,7 +7359,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] auth_middleware; } } -``` +```text ## Unified Project Structure @@ -7443,7 +7443,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```bash {{prerequisites_commands}} -``` +```text **Initial Setup:** @@ -7465,7 +7465,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] # Run tests {{test_commands}} -``` +```text ### Environment Configuration @@ -7503,9 +7503,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ### CI/CD Pipeline -```yaml -{ { cicd_pipeline_config } } -``` +```yml +'[object Object]': null +```text ### Environments @@ -7569,7 +7569,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] Integration Tests / \ Frontend Unit Backend Unit -``` +```text ### Test Organization @@ -7577,19 +7577,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{frontend_test_structure}} -``` +```text **Backend Tests:** ``` {{backend_test_structure}} -``` +```text **E2E Tests:** ``` {{e2e_test_structure}} -``` +```text ### Test Examples @@ -7611,7 +7611,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] backend_test_example; } } -``` +```text **E2E Test:** @@ -7664,7 +7664,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```mermaid {{error_flow_diagram}} -``` +```text ### Error Response Format @@ -7688,7 +7688,7 @@ interface ApiError { frontend_error_handler; } } -``` +```text ### Backend Error Handling diff --git a/.bmad-core/web-bundles/teams/team-no-ui.txt b/.bmad-core/web-bundles/teams/team-no-ui.txt index bfe7f9f3..3c9c9bd0 100644 --- a/.bmad-core/web-bundles/teams/team-no-ui.txt +++ b/.bmad-core/web-bundles/teams/team-no-ui.txt @@ -215,25 +215,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll ```yml activation-instructions: - - 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 - - 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 - + - 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 + - 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 agent: name: John id: pm title: Product Manager icon: 📋 - whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" - customization: - + whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication + customization: null persona: role: Investigative Product Strategist & Market-Savvy PM style: Analytical, inquisitive, data-driven, user-focused, pragmatic identity: Product Manager specialized in document creation and product research focus: Creating PRDs and other product documentation using templates - core_principles: - Deeply understand "Why" - uncover root causes and motivations - Champion the user - maintain relentless focus on target user value @@ -243,16 +240,13 @@ persona: - Collaborative & iterative approach - Proactive risk identification - Strategic thinking & outcome-oriented - startup: - Greet the user with your name and role, and inform of the *help command. - commands: - - "*help" - Show: numbered list of the following commands to allow selection - - "*chat-mode" - (Default) Deep conversation with advanced-elicitation - - "*create-doc {template}" - Create doc (no template = show available templates) - - "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - + - '*help" - Show: numbered list of the following commands to allow selection' + - '*chat-mode" - (Default) Deep conversation with advanced-elicitation' + - '*create-doc {template}" - Create doc (no template = show available templates)' + - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona' dependencies: tasks: - create-doc @@ -4340,7 +4334,7 @@ After presenting all data models, apply `tasks#advanced-elicitation` protocol]] model_interface; } } -``` +```text **Relationships:** @@ -4404,18 +4398,21 @@ Use appropriate format for the chosen API style. If no API (e.g., static site), ^^CONDITION: has_rest_api^^ -```yaml +```yml openapi: 3.0.0 info: - title: { { api_title } } - version: { { api_version } } - description: { { api_description } } - + title: + '[object Object]': null + version: + '[object Object]': null + description: + '[object Object]': null servers: - - url: { { api_base_url } } - description: { { environment } } -# ... OpenAPI specification continues -``` + - url: + '[object Object]': null + description: + '[object Object]': null +```text ^^/CONDITION: has_rest_api^^ @@ -6288,7 +6285,7 @@ Use appropriate diagram type for clarity.]] ```mermaid {{architecture_diagram}} -``` +```text ### Architectural Patterns @@ -6439,7 +6436,7 @@ interface UserProfile { bio?: string; preferences: Record; } -``` +```text **Relationships:** @@ -6463,17 +6460,20 @@ Use appropriate format for the chosen API style. If no API (e.g., static site), ^^CONDITION: has_rest_api^^ -```yaml +```yml openapi: 3.0.0 info: - title: { { api_title } } - version: { { api_version } } - description: { { api_description } } - + title: + '[object Object]': null + version: + '[object Object]': null + description: + '[object Object]': null servers: - - url: { { api_base_url } } - description: { { environment } } -# ... OpenAPI specification continues + - url: + '[object Object]': null + description: + '[object Object]': null ``` ^^/CONDITION: has_rest_api^^ @@ -6483,7 +6483,7 @@ servers: ```graphql # GraphQL Schema {{graphql_schema}} -``` +```text ^^/CONDITION: has_graphql_api^^ @@ -6641,7 +6641,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Component Organization:** -``` +```text {{component_structure}} ``` @@ -6653,7 +6653,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] component_template; } } -``` +```text ### State Management Architecture @@ -6680,7 +6680,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] **Route Organization:** -``` +```text {{route_structure}} ``` @@ -6692,7 +6692,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] protected_route_example; } } -``` +```text ### Frontend Services Layer @@ -6716,7 +6716,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] service_example; } } -``` +```text ## Backend Architecture @@ -6733,7 +6733,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{function_structure}} -``` +```text **Function Template:** @@ -6750,7 +6750,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ^^CONDITION: traditional_server^^ **Controller/Route Organization:** -``` +```text {{controller_structure}} ``` @@ -6762,7 +6762,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] controller_template; } } -``` +```text ^^/CONDITION: traditional_server^^ @@ -6784,7 +6784,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] repository_pattern; } } -``` +```text ### Authentication and Authorization @@ -6804,7 +6804,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] auth_middleware; } } -``` +```text ## Unified Project Structure @@ -6888,7 +6888,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```bash {{prerequisites_commands}} -``` +```text **Initial Setup:** @@ -6910,7 +6910,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] # Run tests {{test_commands}} -``` +```text ### Environment Configuration @@ -6948,9 +6948,9 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ### CI/CD Pipeline -```yaml -{ { cicd_pipeline_config } } -``` +```yml +'[object Object]': null +```text ### Environments @@ -7014,7 +7014,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] Integration Tests / \ Frontend Unit Backend Unit -``` +```text ### Test Organization @@ -7022,19 +7022,19 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ``` {{frontend_test_structure}} -``` +```text **Backend Tests:** ``` {{backend_test_structure}} -``` +```text **E2E Tests:** ``` {{e2e_test_structure}} -``` +```text ### Test Examples @@ -7056,7 +7056,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] backend_test_example; } } -``` +```text **E2E Test:** @@ -7109,7 +7109,7 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]] ```mermaid {{error_flow_diagram}} -``` +```text ### Error Response Format @@ -7133,7 +7133,7 @@ interface ApiError { frontend_error_handler; } } -``` +```text ### Backend Error Handling diff --git a/.cursor/rules/pm.mdc b/.cursor/rules/pm.mdc index ae9618dc..4b8ee22d 100644 --- a/.cursor/rules/pm.mdc +++ b/.cursor/rules/pm.mdc @@ -14,25 +14,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll ```yml activation-instructions: - - 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 - - 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 - + - 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 + - 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 agent: name: John id: pm title: Product Manager icon: 📋 - whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication" - customization: - + whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication + customization: null persona: role: Investigative Product Strategist & Market-Savvy PM style: Analytical, inquisitive, data-driven, user-focused, pragmatic identity: Product Manager specialized in document creation and product research focus: Creating PRDs and other product documentation using templates - core_principles: - Deeply understand "Why" - uncover root causes and motivations - Champion the user - maintain relentless focus on target user value @@ -42,16 +39,13 @@ persona: - Collaborative & iterative approach - Proactive risk identification - Strategic thinking & outcome-oriented - startup: - Greet the user with your name and role, and inform of the *help command. - commands: - - "*help" - Show: numbered list of the following commands to allow selection - - "*chat-mode" - (Default) Deep conversation with advanced-elicitation - - "*create-doc {template}" - Create doc (no template = show available templates) - - "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona - + - '*help" - Show: numbered list of the following commands to allow selection' + - '*chat-mode" - (Default) Deep conversation with advanced-elicitation' + - '*create-doc {template}" - Create doc (no template = show available templates)' + - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona' dependencies: tasks: - create-doc