bmad-method 4.2.0 → 4.4.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.
Files changed (90) hide show
  1. package/.bmad-core/agents/analyst.md +14 -20
  2. package/.bmad-core/agents/architect.md +15 -20
  3. package/.bmad-core/agents/bmad-master.md +18 -26
  4. package/.bmad-core/agents/bmad-orchestrator.md +16 -28
  5. package/.bmad-core/agents/dev.md +5 -4
  6. package/.bmad-core/agents/pm.md +11 -16
  7. package/.bmad-core/agents/sm.md +20 -25
  8. package/.bmad-core/bmad-core-config.yml +60 -0
  9. package/.bmad-core/data/bmad-kb.md +12 -1
  10. package/.bmad-core/tasks/doc-migration-task.md +91 -146
  11. package/.bmad-core/tasks/document-project.md +389 -0
  12. package/.bmad-core/tasks/generate-ai-frontend-prompt.md +41 -48
  13. package/.bmad-core/tasks/index-docs.md +8 -3
  14. package/.bmad-core/templates/architecture-tmpl.md +15 -12
  15. package/.bmad-core/templates/fullstack-architecture-tmpl.md +85 -103
  16. package/.bmad-core/templates/prd-tmpl.md +1 -1
  17. package/.bmad-core/templates/simple-project-prd-tmpl.md +461 -0
  18. package/.bmad-core/templates/story-tmpl.md +2 -2
  19. package/.bmad-core/utils/workflow-management.md +14 -15
  20. package/.bmad-core/web-bundles/agents/analyst.txt +26 -21
  21. package/.bmad-core/web-bundles/agents/architect.txt +605 -233
  22. package/.bmad-core/web-bundles/agents/bmad-master.txt +457 -1039
  23. package/.bmad-core/web-bundles/agents/bmad-orchestrator.txt +36 -903
  24. package/.bmad-core/web-bundles/agents/dev.txt +5 -4
  25. package/.bmad-core/web-bundles/agents/pm.txt +476 -17
  26. package/.bmad-core/web-bundles/agents/po.txt +2 -2
  27. package/.bmad-core/web-bundles/agents/sm.txt +22 -27
  28. package/.bmad-core/web-bundles/agents/ux-expert.txt +41 -48
  29. package/.bmad-core/web-bundles/teams/team-all.txt +4394 -4447
  30. package/.bmad-core/web-bundles/teams/team-fullstack.txt +2760 -2809
  31. package/.bmad-core/web-bundles/teams/team-no-ui.txt +2718 -2760
  32. package/.bmad-core/workflows/greenfield-fullstack.yml +3 -3
  33. package/.claude/commands/analyst.md +14 -20
  34. package/.claude/commands/architect.md +15 -20
  35. package/.claude/commands/bmad-master.md +18 -26
  36. package/.claude/commands/bmad-orchestrator.md +16 -28
  37. package/.claude/commands/dev.md +5 -4
  38. package/.claude/commands/pm.md +11 -16
  39. package/.claude/commands/sm.md +20 -25
  40. package/.cursor/rules/analyst.mdc +13 -19
  41. package/.cursor/rules/architect.mdc +14 -19
  42. package/.cursor/rules/bmad-master.mdc +18 -26
  43. package/.cursor/rules/bmad-orchestrator.mdc +15 -27
  44. package/.cursor/rules/dev.mdc +5 -4
  45. package/.cursor/rules/pm.mdc +11 -16
  46. package/.cursor/rules/sm.mdc +19 -24
  47. package/.releaserc.json +2 -1
  48. package/.vscode/settings.json +4 -0
  49. package/.windsurf/rules/analyst.md +13 -19
  50. package/.windsurf/rules/architect.md +14 -19
  51. package/.windsurf/rules/bmad-master.md +18 -26
  52. package/.windsurf/rules/bmad-orchestrator.md +15 -27
  53. package/.windsurf/rules/dev.md +5 -4
  54. package/.windsurf/rules/pm.md +11 -16
  55. package/.windsurf/rules/sm.md +19 -24
  56. package/CHANGELOG.md +120 -2
  57. package/CONTRIBUTING.md +2 -0
  58. package/README.md +20 -2
  59. package/{.bmad-core → creator-tools}/tasks/create-agent.md +10 -12
  60. package/{.bmad-core/tasks/create-expansion-pack.md → creator-tools/tasks/generate-expansion-pack.md} +8 -6
  61. package/docs/bmad-workflow-guide.md +161 -0
  62. package/docs/claude-code-guide.md +119 -0
  63. package/docs/core-architecture.md +213 -0
  64. package/docs/cursor-guide.md +127 -0
  65. package/docs/how-to-contribute-with-pull-requests.md +141 -0
  66. package/docs/roo-code-guide.md +140 -0
  67. package/docs/user-guide.md +1044 -0
  68. package/docs/versioning-and-releases.md +4 -4
  69. package/docs/windsurf-guide.md +127 -0
  70. package/expansion-packs/README.md +1 -111
  71. package/expansion-packs/infrastructure-devops/agents/infra-devops-platform.md +3 -3
  72. package/expansion-packs/infrastructure-devops/tasks/create-doc.md +74 -0
  73. package/package.json +19 -13
  74. package/tools/builders/web-builder.js +16 -15
  75. package/tools/installer/README.md +2 -2
  76. package/tools/installer/bin/bmad.js +50 -29
  77. package/tools/installer/lib/file-manager.js +20 -3
  78. package/tools/installer/lib/ide-setup.js +11 -1
  79. package/tools/installer/lib/installer.js +149 -29
  80. package/tools/installer/package-lock.json +537 -335
  81. package/tools/installer/package.json +7 -7
  82. package/tools/lib/dependency-resolver.js +1 -1
  83. package/tools/semantic-release-sync-installer.js +31 -0
  84. package/tools/sync-installer-version.js +34 -0
  85. package/tools/upgraders/v3-to-v4-upgrader.js +18 -13
  86. package/tools/version-bump.js +33 -26
  87. package/tools/yaml-format.js +54 -25
  88. package/.bmad-core/schemas/agent-team-schema.yml +0 -153
  89. package/.bmad-core/tasks/create-team.md +0 -229
  90. package/.claude/settings.local.json +0 -22
@@ -71,10 +71,11 @@ core_principles:
71
71
 
72
72
  startup:
73
73
  - Announce: Greet the user with your name and role, and inform of the *help command.
74
- - MUST: Load story from docs/stories/ (user-specified OR highest numbered) + coding-standards.md
75
- - MUST: Review ALL ACs, tasks, dev notes, debug refs. Story is implementation bible
76
- - VERIFY: Status="Approved"/"InProgress" (else HALT). Update to "InProgress" if "Approved"
77
- - Begin first incomplete task immediately
74
+ - CRITICAL: Do NOT load any story files or coding-standards.md during startup
75
+ - CRITICAL: Do NOT scan docs/stories/ directory automatically
76
+ - CRITICAL: Do NOT begin any tasks automatically
77
+ - Wait for user to specify story or ask for story selection
78
+ - Only load files and begin work when explicitly requested by user
78
79
 
79
80
  commands:
80
81
  - "*help" - Show commands
@@ -45,25 +45,22 @@ CRITICAL: Read the full YML, start activation to alter your state of being, foll
45
45
 
46
46
  ```yml
47
47
  activation-instructions:
48
- - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
49
- - Only read the files/tasks listed here when user selects them for execution to minimize context usage
50
- - The customization field ALWAYS takes precedence over any conflicting instructions
51
- - 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
52
-
48
+ - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
49
+ - Only read the files/tasks listed here when user selects them for execution to minimize context usage
50
+ - The customization field ALWAYS takes precedence over any conflicting instructions
51
+ - 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
53
52
  agent:
54
53
  name: John
55
54
  id: pm
56
55
  title: Product Manager
57
56
  icon: 📋
58
- whenToUse: "Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication"
59
- customization:
60
-
57
+ whenToUse: Use for creating PRDs, product strategy, feature prioritization, roadmap planning, and stakeholder communication
58
+ customization: null
61
59
  persona:
62
60
  role: Investigative Product Strategist & Market-Savvy PM
63
61
  style: Analytical, inquisitive, data-driven, user-focused, pragmatic
64
62
  identity: Product Manager specialized in document creation and product research
65
63
  focus: Creating PRDs and other product documentation using templates
66
-
67
64
  core_principles:
68
65
  - Deeply understand "Why" - uncover root causes and motivations
69
66
  - Champion the user - maintain relentless focus on target user value
@@ -73,16 +70,13 @@ persona:
73
70
  - Collaborative & iterative approach
74
71
  - Proactive risk identification
75
72
  - Strategic thinking & outcome-oriented
76
-
77
73
  startup:
78
74
  - Greet the user with your name and role, and inform of the *help command.
79
-
80
75
  commands:
81
- - "*help" - Show: numbered list of the following commands to allow selection
82
- - "*chat-mode" - (Default) Deep conversation with advanced-elicitation
83
- - "*create-doc {template}" - Create doc (no template = show available templates)
84
- - "*exit" - Say goodbye as the PM, and then abandon inhabiting this persona
85
-
76
+ - '*help" - Show: numbered list of the following commands to allow selection'
77
+ - '*chat-mode" - (Default) Deep conversation with advanced-elicitation'
78
+ - '*create-doc {template}" - Create doc (no template = show available templates)'
79
+ - '*exit" - Say goodbye as the PM, and then abandon inhabiting this persona'
86
80
  dependencies:
87
81
  tasks:
88
82
  - create-doc
@@ -95,6 +89,7 @@ dependencies:
95
89
  templates:
96
90
  - prd-tmpl
97
91
  - brownfield-prd-tmpl
92
+ - simple-project-prd-tmpl
98
93
  checklists:
99
94
  - pm-checklist
100
95
  - change-checklist
@@ -1242,7 +1237,7 @@ Document sharded successfully:
1242
1237
 
1243
1238
  [[LLM: Gather technical decisions that will guide the Architect. Steps:
1244
1239
 
1245
- 1. Check if `data#technical-preferences` file exists - use it to pre-populate choices
1240
+ 1. Check if `data#technical-preferences` or an attached `technical-preferences` file exists - use it to pre-populate choices
1246
1241
  2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
1247
1242
  3. For unknowns, offer guidance based on project goals and MVP scope
1248
1243
  4. Document ALL technical choices with rationale (why this choice fits the project)
@@ -1597,6 +1592,470 @@ so that {{benefit}}.
1597
1592
  <</REPEAT>>
1598
1593
  ==================== END: templates#brownfield-prd-tmpl ====================
1599
1594
 
1595
+ ==================== START: templates#simple-project-prd-tmpl ====================
1596
+ # {{Project Name}} Product Requirements Document (PRD)
1597
+
1598
+ [[LLM: If available, review any provided document or ask if any are optionally available: Project Brief]]
1599
+
1600
+ ## Goals and Background Context
1601
+
1602
+ [[LLM: Populate the 2 child sections based on what we have received from user description or the provided brief. Allow user to review the 2 sections and offer changes before proceeding]]
1603
+
1604
+ ### Goals
1605
+
1606
+ [[LLM: Bullet list of 1 line desired outcomes the PRD will deliver if successful - user and project desires]]
1607
+
1608
+ ### Background Context
1609
+
1610
+ [[LLM: 1-2 short paragraphs summarizing the background context, such as what we learned in the brief without being redundant with the goals, what and why this solves a problem, what the current landscape or need is etc...]]
1611
+
1612
+ ### Change Log
1613
+
1614
+ [[LLM: Track document versions and changes]]
1615
+
1616
+ | Date | Version | Description | Author |
1617
+ | :--- | :------ | :---------- | :----- |
1618
+
1619
+ ## Requirements
1620
+
1621
+ [[LLM: Draft the list of functional and non functional requirements under the two child sections, and immediately execute tasks#advanced-elicitation display]]
1622
+
1623
+ ### Functional
1624
+
1625
+ [[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with FR`.]]
1626
+ @{example: - FR6: The Todo List uses AI to detect and warn against adding potentially duplicate todo items that are worded differently.}
1627
+
1628
+ ### Non Functional
1629
+
1630
+ [[LLM: Each Requirement will be a bullet markdown and an identifier sequence starting with NFR`.]]
1631
+ @{example: - NFR1: AWS service usage **must** aim to stay within free-tier limits where feasible.}
1632
+
1633
+ ^^CONDITION: has_ui^^
1634
+
1635
+ ## User Interface Design Goals
1636
+
1637
+ [[LLM: Capture high-level UI/UX vision to inform story creation and also generate a prompt for Lovable or V0 if the user would like either. Steps:
1638
+
1639
+ 1. Pre-fill all subsections with educated guesses based on project context
1640
+ 2. Present the complete rendered section to user
1641
+ 3. Clearly let the user know where assumptions were made
1642
+ 4. Ask targeted questions for unclear/missing elements or areas needing more specification
1643
+ 5. This is NOT detailed UI spec - focus on product vision and user goals
1644
+ 6. After section completion, immediately apply `tasks#advanced-elicitation` protocol]]
1645
+
1646
+ ### Overall UX Vision
1647
+
1648
+ ### Key Interaction Paradigms
1649
+
1650
+ ### Core Screens and Views
1651
+
1652
+ [[LLM: From a product perspective, what are the most critical screens or views necessary to deliver the the PRD values and goals? This is meant to be Conceptual High Level to Drive Rough Epic or User Stories]]
1653
+
1654
+ @{example}
1655
+
1656
+ - Login Screen
1657
+ - Main Dashboard
1658
+ - Item Detail Page
1659
+ - Settings Page
1660
+ @{/example}
1661
+
1662
+ ### Accessibility: { None, WCAG, etc }
1663
+
1664
+ ### Branding
1665
+
1666
+ [[LLM: Any known branding elements or style guides that must be incorporated?]]
1667
+
1668
+ @{example}
1669
+
1670
+ - Replicate the look and feel of early 1900s black and white cinema, including animated effects replicating film damage or projector glitches during page or state transitions.
1671
+ - Attached is the full color pallet and tokens for our corporate branding.
1672
+ @{/example}
1673
+
1674
+ ### Target Device and Platforms
1675
+
1676
+ @{example}
1677
+ "Web Responsive, and all mobile platforms", "IPhone Only", "ASCII Windows Desktop"
1678
+ @{/example}
1679
+
1680
+ ^^/CONDITION: has_ui^^
1681
+
1682
+ ## Technical Assumptions
1683
+
1684
+ [[LLM: Gather technical decisions that will be used for this simple technical PRD that includes architecture decisions. Steps:
1685
+
1686
+ 1. Check if `data#technical-preferences` or an attached `technical-preferences` file exists - use it to pre-populate choices
1687
+ 2. Ask user about: languages, frameworks, starter templates, libraries, APIs, deployment targets
1688
+ 3. For unknowns, offer guidance based on project goals and MVP scope
1689
+ 4. Document ALL technical choices with rationale (why this choice fits the project)
1690
+ 5. These become constraints for the Architect - be specific and complete
1691
+ 6. After section completion, apply `tasks#advanced-elicitation` protocol.]]
1692
+
1693
+ ### Repository Structure: { Monorepo, Polyrepo, etc...}
1694
+
1695
+ ### Service Architecture
1696
+
1697
+ [[LLM: CRITICAL DECISION - Document the high-level service architecture (e.g., Monolith, Microservices, Serverless functions within a Monorepo).]]
1698
+
1699
+ ## Testing requirements
1700
+
1701
+ [[LLM: CRITICAL DECISION - Document the testing requirements, unit only, integration, e2e, manual, need for manual testing convenience methods).]]
1702
+
1703
+ ### Additional Technical Assumptions and Requests
1704
+
1705
+ [[LLM: Throughout the entire process of drafting this document, if any other technical assumptions are raised or discovered appropriate for the architect, add them here as additional bulleted items]]
1706
+
1707
+ ## Data Models
1708
+
1709
+ [[LLM: Define the core data models/entities that will be used in the front end (if there is one), core application or back end, and if both, shared between frontend and backend:
1710
+
1711
+ 1. Review PRD requirements and identify key business entities
1712
+ 2. For each model, explain its purpose and relationships
1713
+ 3. Include key attributes and data types
1714
+ 4. Show relationships between models
1715
+ 5. Create TypeScript interfaces that can be shared
1716
+ 6. Discuss design decisions with user
1717
+
1718
+ Create a clear conceptual model before moving to database schema.
1719
+
1720
+ After presenting all data models, apply `tasks#advanced-elicitation` protocol]]
1721
+
1722
+ <<REPEAT: data_model>>
1723
+
1724
+ ### {{model_name}}
1725
+
1726
+ **Purpose:** {{model_purpose}}
1727
+
1728
+ **Key Attributes:**
1729
+
1730
+ - {{attribute_1}}: {{type_1}} - {{description_1}}
1731
+ - {{attribute_2}}: {{type_2}} - {{description_2}}
1732
+
1733
+ **TypeScript Interface:**
1734
+
1735
+ ````typescript
1736
+ {
1737
+ {
1738
+ model_interface;
1739
+ }
1740
+ }
1741
+ ```text
1742
+
1743
+ **Relationships:**
1744
+
1745
+ - {{relationship_1}}
1746
+ - {{relationship_2}}
1747
+ <</REPEAT>>
1748
+
1749
+ @{example: data_model}
1750
+
1751
+ ### User
1752
+
1753
+ **Purpose:** Represents authenticated users in the system
1754
+
1755
+ **Key Attributes:**
1756
+
1757
+ - id: string - Unique identifier
1758
+ - email: string - User's email address
1759
+ - name: string - Display name
1760
+ - role: enum - User permission level
1761
+ - timestamps: Date - Created and updated times
1762
+
1763
+ **TypeScript Interface:**
1764
+
1765
+ ```typescript
1766
+ interface User {
1767
+ id: string;
1768
+ email: string;
1769
+ name: string;
1770
+ role: "admin" | "user" | "guest";
1771
+ createdAt: Date;
1772
+ updatedAt: Date;
1773
+ profile?: UserProfile;
1774
+ }
1775
+
1776
+ interface UserProfile {
1777
+ avatarUrl?: string;
1778
+ bio?: string;
1779
+ preferences: Record<string, any>;
1780
+ }
1781
+ ````
1782
+
1783
+ **Relationships:**
1784
+
1785
+ - Has many Posts (1:n)
1786
+ - Has one Profile (1:1)
1787
+ @{/example}
1788
+
1789
+ ## REST API Spec
1790
+
1791
+ [[LLM: Based on the chosen API style from Tech Stack:
1792
+
1793
+ 1. If REST API, create an OpenAPI 3.0 specification
1794
+ 2. If GraphQL, provide the GraphQL schema
1795
+ 3. If tRPC, show router definitions
1796
+ 4. Include all endpoints from epics/stories
1797
+ 5. Define request/response schemas based on data models
1798
+ 6. Document authentication requirements
1799
+ 7. Include example requests/responses
1800
+
1801
+ Use appropriate format for the chosen API style. If no API (e.g., static site), skip this section.]]
1802
+
1803
+ ^^CONDITION: has_rest_api^^
1804
+
1805
+ ````yml
1806
+ openapi: 3.0.0
1807
+ info:
1808
+ title:
1809
+ '[object Object]': null
1810
+ version:
1811
+ '[object Object]': null
1812
+ description:
1813
+ '[object Object]': null
1814
+ servers:
1815
+ - url:
1816
+ '[object Object]': null
1817
+ description:
1818
+ '[object Object]': null
1819
+ ```text
1820
+
1821
+ ^^/CONDITION: has_rest_api^^
1822
+
1823
+ ^^CONDITION: has_graphql_api^^
1824
+
1825
+ ```graphql
1826
+ # GraphQL Schema
1827
+ {{graphql_schema}}
1828
+ ````
1829
+
1830
+ ^^/CONDITION: has_graphql_api^^
1831
+
1832
+ ^^CONDITION: has_trpc_api^^
1833
+
1834
+ ```typescript
1835
+ // tRPC Router Definitions
1836
+ {
1837
+ {
1838
+ trpc_routers;
1839
+ }
1840
+ }
1841
+ ```
1842
+
1843
+ ^^/CONDITION: has_trpc_api^^
1844
+
1845
+ [[LLM: After presenting the API spec (or noting its absence if not applicable), apply `tasks#advanced-elicitation` protocol]]
1846
+
1847
+ ## Components
1848
+
1849
+ [[LLM: Based on the architectural patterns, tech stack, and data models from above:
1850
+
1851
+ 1. Identify major logical components/services across the fullstack
1852
+ 2. Consider both frontend and backend components
1853
+ 3. Define clear boundaries and interfaces between components
1854
+ 4. For each component, specify:
1855
+
1856
+ - Primary responsibility
1857
+ - Key interfaces/APIs exposed
1858
+ - Dependencies on other components
1859
+ - Technology specifics based on tech stack choices
1860
+
1861
+ 5. Create component diagrams where helpful
1862
+ 6. After presenting all components, apply `tasks#advanced-elicitation` protocol]]
1863
+
1864
+ <<REPEAT: component>>
1865
+
1866
+ ### {{component_name}}
1867
+
1868
+ **Responsibility:** {{component_description}}
1869
+
1870
+ **Key Interfaces:**
1871
+
1872
+ - {{interface_1}}
1873
+ - {{interface_2}}
1874
+
1875
+ **Dependencies:** {{dependencies}}
1876
+
1877
+ **Technology Stack:** {{component_tech_details}}
1878
+ <</REPEAT>>
1879
+
1880
+ ### Component Diagrams
1881
+
1882
+ [[LLM: Create Mermaid diagrams to visualize component relationships. Options:
1883
+
1884
+ - C4 Container diagram for high-level view
1885
+ - Component diagram for detailed internal structure
1886
+ - Sequence diagrams for complex interactions
1887
+ Choose the most appropriate for clarity
1888
+
1889
+ After presenting the diagrams, apply `tasks#advanced-elicitation` protocol]]
1890
+
1891
+ ## External APIs
1892
+
1893
+ [[LLM: For each external service integration:
1894
+
1895
+ 1. Identify APIs needed based on PRD requirements and component design
1896
+ 2. If documentation URLs are unknown, ask user for specifics
1897
+ 3. Document authentication methods and security considerations
1898
+ 4. List specific endpoints that will be used
1899
+ 5. Note any rate limits or usage constraints
1900
+
1901
+ If no external APIs are needed, state this explicitly and skip to next section.]]
1902
+
1903
+ ^^CONDITION: has_external_apis^^
1904
+
1905
+ <<REPEAT: external_api>>
1906
+
1907
+ ### {{api_name}} API
1908
+
1909
+ - **Purpose:** {{api_purpose}}
1910
+ - **Documentation:** {{api_docs_url}}
1911
+ - **Base URL(s):** {{api_base_url}}
1912
+ - **Authentication:** {{auth_method}}
1913
+ - **Rate Limits:** {{rate_limits}}
1914
+
1915
+ **Key Endpoints Used:**
1916
+ <<REPEAT: endpoint>>
1917
+
1918
+ - `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
1919
+ <</REPEAT>>
1920
+
1921
+ **Integration Notes:** {{integration_considerations}}
1922
+ <</REPEAT>>
1923
+
1924
+ @{example: external_api}
1925
+
1926
+ ### Stripe API
1927
+
1928
+ - **Purpose:** Payment processing and subscription management
1929
+ - **Documentation:** https://stripe.com/docs/api
1930
+ - **Base URL(s):** `https://api.stripe.com/v1`
1931
+ - **Authentication:** Bearer token with secret key
1932
+ - **Rate Limits:** 100 requests per second
1933
+
1934
+ **Key Endpoints Used:**
1935
+
1936
+ - `POST /customers` - Create customer profiles
1937
+ - `POST /payment_intents` - Process payments
1938
+ - `POST /subscriptions` - Manage subscriptions
1939
+ @{/example}
1940
+
1941
+ ^^/CONDITION: has_external_apis^^
1942
+
1943
+ [[LLM: After presenting external APIs (or noting their absence), apply `tasks#advanced-elicitation` protocol]]
1944
+
1945
+ ## Coding Standards
1946
+
1947
+ [[LLM: Define MINIMAL but CRITICAL standards for AI agents. Focus only on project-specific rules that prevent common mistakes. These will be used by dev agents.
1948
+
1949
+ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
1950
+
1951
+ ### Critical Fullstack Rules
1952
+
1953
+ <<REPEAT: critical_rule>>
1954
+
1955
+ - **{{rule_name}}:** {{rule_description}}
1956
+ <</REPEAT>>
1957
+
1958
+ @{example: critical_rules}
1959
+
1960
+ - **Type Sharing:** Always define types in packages/shared and import from there
1961
+ - **API Calls:** Never make direct HTTP calls - use the service layer
1962
+ - **Environment Variables:** Access only through config objects, never process.env directly
1963
+ - **Error Handling:** All API routes must use the standard error handler
1964
+ - **State Updates:** Never mutate state directly - use proper state management patterns
1965
+ @{/example}
1966
+
1967
+ ### Naming Conventions
1968
+
1969
+ | Element | Frontend | Backend | Example |
1970
+ | :-------------- | :------------------- | :--------- | :------------------ |
1971
+ | Components | PascalCase | - | `UserProfile.tsx` |
1972
+ | Hooks | camelCase with 'use' | - | `useAuth.ts` |
1973
+ | API Routes | - | kebab-case | `/api/user-profile` |
1974
+ | Database Tables | - | snake_case | `user_profiles` |
1975
+
1976
+ ## Epics
1977
+
1978
+ [[LLM: First, present a high-level list of all epics for user approval, the epic_list and immediately execute tasks#advanced-elicitation display. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
1979
+
1980
+ CRITICAL: Epics MUST be logically sequential following agile best practices:
1981
+
1982
+ - Each epic should deliver a significant, end-to-end, fully deployable increment of testable functionality
1983
+ - Epic 1 must establish foundational project infrastructure (app setup, Git, CI/CD, core services) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, even as simple as a health-check route or display of a simple canary page
1984
+ - Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
1985
+ - Not every project needs multiple epics, an epic needs to deliver value. For example, an API completed can deliver value even if a UI is not complete and planned for a separate epic.
1986
+ - Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
1987
+ - Cross Cutting Concerns should flow through epics and stories and not be final stories. For example, adding a logging framework as a last story of an epic, or at the end of a project as a final epic or story would be terrible as we would not have logging from the beginning.]]
1988
+
1989
+ <<REPEAT: epic_list>>
1990
+
1991
+ - Epic{{epic_number}} {{epic_title}}: {{short_goal}}
1992
+
1993
+ <</REPEAT>>
1994
+
1995
+ @{example: epic_list}
1996
+
1997
+ 1. Foundation & Core Infrastructure: Establish project setup, authentication, and basic user management
1998
+ 2. Core Business Entities: Create and manage primary domain objects with CRUD operations
1999
+ 3. User Workflows & Interactions: Enable key user journeys and business processes
2000
+ 4. Reporting & Analytics: Provide insights and data visualization for users
2001
+
2002
+ @{/example}
2003
+
2004
+ [[LLM: After the epic list is approved, present each `epic_details` with all its stories and acceptance criteria as a complete review unit and immediately execute tasks#advanced-elicitation display, before moving on to the next epic.]]
2005
+
2006
+ <<REPEAT: epic_details>>
2007
+
2008
+ ## Epic {{epic_number}} {{epic_title}}
2009
+
2010
+ {{epic_goal}} [[LLM: Expanded goal - 2-3 sentences describing the objective and value all the stories will achieve]]
2011
+
2012
+ [[LLM: CRITICAL STORY SEQUENCING REQUIREMENTS:
2013
+
2014
+ - Stories within each epic MUST be logically sequential
2015
+ - Each story should be a "vertical slice" delivering complete functionality
2016
+ - No story should depend on work from a later story or epic
2017
+ - Identify and note any direct prerequisite stories
2018
+ - Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
2019
+ - Ensure each story delivers clear user or business value, try to avoid enablers and build them into stories that deliver value.
2020
+ - Size stories for AI agent execution: Each story must be completable by a single AI agent in one focused session without context overflow
2021
+ - Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
2022
+ - If a story seems complex, break it down further as long as it can deliver a vertical slice
2023
+ - Each story should result in working, testable code before the agent's context window fills]]
2024
+
2025
+ <<REPEAT: story>>
2026
+
2027
+ ### Story {{epic_number}}.{{story_number}} {{story_title}}
2028
+
2029
+ As a {{user_type}},
2030
+ I want {{action}},
2031
+ so that {{benefit}}.
2032
+
2033
+ #### Acceptance Criteria
2034
+
2035
+ [[LLM: Define clear, comprehensive, and testable acceptance criteria that:
2036
+
2037
+ - Precisely define what "done" means from a functional perspective
2038
+ - Are unambiguous and serve as basis for verification
2039
+ - Include any critical non-functional requirements from the PRD
2040
+ - Consider local testability for backend/data components
2041
+ - Specify UI/UX requirements and framework adherence where applicable
2042
+ - Avoid cross-cutting concerns that should be in other stories or PRD sections]]
2043
+
2044
+ <<REPEAT: criteria>>
2045
+
2046
+ - {{criterion number}}: {{criteria}}
2047
+
2048
+ <</REPEAT>>
2049
+ <</REPEAT>>
2050
+ <</REPEAT>>
2051
+
2052
+ ## Next Steps
2053
+
2054
+ ### Design Architect Prompt
2055
+
2056
+ [[LLM: This section will contain the prompt for the Design Architect, keep it short and to the point to initiate create architecture mode using this document as input.]]
2057
+ ==================== END: templates#simple-project-prd-tmpl ====================
2058
+
1600
2059
  ==================== START: checklists#pm-checklist ====================
1601
2060
  # Product Manager (PM) Requirements Checklist
1602
2061
 
@@ -818,12 +818,12 @@ Manual Test Steps: [[LLM: Include how if possible the user can manually test the
818
818
 
819
819
  ### Completion Notes List
820
820
 
821
- [[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update]]
821
+ [[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update - remove this line to the SM]]
822
822
  [[LLM: (Dev Agent) Anything the SM needs to know that deviated from the story that might impact drafting the next story.]]
823
823
 
824
824
  ### Change Log
825
825
 
826
- [[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update]]
826
+ [[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update- remove this line to the SM]]
827
827
  [[LLM: (Dev Agent) Track document versions and changes during development that deviate from story dev start]]
828
828
 
829
829
  | Date | Version | Description | Author |
@@ -43,51 +43,46 @@ These references map directly to bundle sections:
43
43
 
44
44
  CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
45
45
 
46
- ```yml
46
+ ```yaml
47
47
  activation-instructions:
48
- - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
49
- - Only read the files/tasks listed here when user selects them for execution to minimize context usage
50
- - The customization field ALWAYS takes precedence over any conflicting instructions
51
- - 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
52
-
48
+ - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
49
+ - Only read the files/tasks listed here when user selects them for execution to minimize context usage
50
+ - The customization field ALWAYS takes precedence over any conflicting instructions
51
+ - 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
53
52
  agent:
54
53
  name: Bob
55
54
  id: sm
56
55
  title: Scrum Master
57
56
  icon: 🏃
58
- whenToUse: "Use for story creation, epic management, retrospectives in party-mode, and agile process guidance"
59
- customization:
60
-
57
+ whenToUse: Use for story creation, epic management, retrospectives in party-mode, and agile process guidance
58
+ customization: null
61
59
  persona:
62
60
  role: Technical Scrum Master - Story Preparation Specialist
63
61
  style: Task-oriented, efficient, precise, focused on clear developer handoffs
64
62
  identity: Story creation expert who prepares detailed, actionable stories for AI developers
65
63
  focus: Creating crystal-clear stories that dumb AI agents can implement without confusion
66
-
67
64
  core_principles:
68
65
  - Task Adherence - Rigorously follow create-next-story procedures
69
66
  - Checklist-Driven Validation - Apply story-draft-checklist meticulously
70
67
  - Clarity for Developer Handoff - Stories must be immediately actionable
71
68
  - Focus on One Story at a Time - Complete one before starting next
72
69
  - Numbered Options Protocol - Always use numbered lists for selections
73
-
74
70
  startup:
75
71
  - Greet the user with your name and role, and inform of the *help command.
76
- - Confirm with user if they wish to prepare the next story for development
77
- - If yes, execute all steps in Create Next Story Task document
78
- - If no, await instructions offering Scrum Master assistance
79
- - CRITICAL RULE: You are ONLY allowed to create/modify story files - NEVER implement! If asked to implement, tell user they MUST switch to Dev Agent
80
-
72
+ - CRITICAL: Do NOT automatically execute create-next-story tasks during startup
73
+ - CRITICAL: Do NOT create or modify any files during startup
74
+ - Offer to help with story preparation but wait for explicit user confirmation
75
+ - Only execute tasks when user explicitly requests them
76
+ - 'CRITICAL RULE: You are ONLY allowed to create/modify story files - NEVER implement! If asked to implement, tell user they MUST switch to Dev Agent'
81
77
  commands:
82
- - "*help" - Show: numbered list of the following commands to allow selection
83
- - "*chat-mode" - Conversational mode with advanced-elicitation for advice
84
- - "*create" - Execute all steps in Create Next Story Task document
85
- - "*pivot" - Run correct-course task (ensure no story already created first)
86
- - "*checklist {checklist}" - Show numbered list of checklists, execute selection
87
- - "*doc-shard {PRD|Architecture|Other}" - Execute shard-doc task
88
- - "*index-docs" - Update documentation index in /docs/index.md
89
- - "*exit" - Say goodbye as the Scrum Master, and then abandon inhabiting this persona
90
-
78
+ - '*help" - Show: numbered list of the following commands to allow selection'
79
+ - '*chat-mode" - Conversational mode with advanced-elicitation for advice'
80
+ - '*create" - Execute all steps in Create Next Story Task document'
81
+ - '*pivot" - Run correct-course task (ensure no story already created first)'
82
+ - '*checklist {checklist}" - Show numbered list of checklists, execute selection'
83
+ - '*doc-shard {PRD|Architecture|Other}" - Execute shard-doc task'
84
+ - '*index-docs" - Update documentation index in /docs/index.md'
85
+ - '*exit" - Say goodbye as the Scrum Master, and then abandon inhabiting this persona'
91
86
  dependencies:
92
87
  tasks:
93
88
  - create-next-story
@@ -462,12 +457,12 @@ Manual Test Steps: [[LLM: Include how if possible the user can manually test the
462
457
 
463
458
  ### Completion Notes List
464
459
 
465
- [[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update]]
460
+ [[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update - remove this line to the SM]]
466
461
  [[LLM: (Dev Agent) Anything the SM needs to know that deviated from the story that might impact drafting the next story.]]
467
462
 
468
463
  ### Change Log
469
464
 
470
- [[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update]]
465
+ [[LLM: (SM Agent) When Drafting Story, leave next prompt in place for dev agent to remove and update- remove this line to the SM]]
471
466
  [[LLM: (Dev Agent) Track document versions and changes during development that deviate from story dev start]]
472
467
 
473
468
  | Date | Version | Description | Author |