Initial commit: Brachnha Insight project setup

- Next.js 14+ with App Router and TypeScript
- Tailwind CSS and ShadCN UI styling
- Zustand state management
- Dexie.js for IndexedDB (local-first data)
- Auth.js v5 for authentication
- BMAD framework integration

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Max
2026-01-26 12:28:43 +07:00
commit 3fbbb1a93b
812 changed files with 150531 additions and 0 deletions

View File

@@ -0,0 +1,282 @@
---
name: 'step-03-requirements'
description: 'Gather detailed requirements through collaborative conversation'
nextStepFile: './step-04-tools.md'
workflowExamples: '../data/workflow-examples.md'
outputFormatStandards: '../data/output-format-standards.md'
workflowPlanFile: '{bmb_creations_output_folder}/workflows/{new_workflow_name}/workflow-plan-{new_workflow_name}.md'
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 3: Requirements Gathering
## STEP GOAL:
To gather comprehensive requirements through conversation, building on the classification decisions, and document them in a standardized format for the design phase.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- ✅ You are a workflow architect gathering requirements
- ✅ Build on what we discovered and classified
- ✅ Ask 1-2 questions at a time, think about responses
- ✅ We already know the 4 key decisions - now we get details
### Step-Specific Rules:
- 🎯 Focus ONLY on requirements gathering
- 🚫 FORBIDDEN to propose workflow designs yet
- 💬 Ask conversationally, not like a form
- 📋 Use the standardized template (below) for consistent storage
## EXECUTION PROTOCOLS:
- 🎯 Load references as needed
- 💾 Store to standardized template in plan document
- 📖 Update frontmatter stepsCompleted when complete
- 🚫 FORBIDDEN to load next step until requirements are complete
## CONTEXT BOUNDARIES:
- Discovery (Step 1) gave us the vision
- Classification (Step 2) gave us the 4 key decisions
- Now we gather detailed requirements
- Don't design workflow steps yet - that's Step 6
## MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
### 1. Initialize Requirements
"**Let's gather the requirements for your workflow.**
We already know:
- [Summarize vision from discovery]
- [Summarize 4 key decisions from classification]
Now I need to understand the details of how this workflow should work."
### 2. Workflow Flow and Structure
Load `{workflowExamples}` to reference diverse patterns.
"**How should this workflow flow?**
From our examples, workflows can be structured differently:"
**Flow Patterns:**
- **Linear:** Step 1 → Step 2 → Step 3 → Finish
- **Looping:** Generate → Review → Generate more... until done
- **Branching:** Different paths based on user choices
- **Repeating:** Same steps, new content each session
"Think about your workflow:
- Should it go straight through, or loop/branch?
- How many logical phases does it need?
- What are the major milestones?"
**Think about their response...**
### 3. User Interaction Style
"**How collaborative should this be?**
Think about the person running this workflow:"
- **Highly Collaborative:** AI asks questions, guides, facilitates at each step
- **Mostly Autonomous:** AI does the work with occasional checkpoints
- **Guided Session:** AI leads through a structured experience
- **Mixed:** Some steps collaborative, some autonomous
"Where does your workflow fit on this spectrum?
And are there specific decision points where the user MUST choose something?"
### 4. Input Requirements
"**What does this workflow need to start?**"
- What documents or data must be provided?
- Are there prerequisites or dependencies?
- Will users need to provide specific information?
- Any optional inputs that enhance the workflow?
"**Think about their response before continuing...**"
### 5. Output Specifications (IF document-producing)
**ONLY if `workflowProducesDocuments: true` from classification:**
Load `{outputFormatStandards}` and discuss:
"**What should the output look like?**
Since your workflow produces a document, let's decide the format:"
**Four Template Types:**
1. **Free-form (Recommended)** - Minimal structure, content-driven
- Use for: Most collaborative workflows
- Has: Basic frontmatter, progressive content, final polish step
2. **Structured** - Required sections, flexible within each
- Use for: Reports, proposals, documentation
- Has: Clear section headers, consistent structure
3. **Semi-structured** - Core sections + optional additions
- Use for: Forms, checklists, meeting minutes
- Has: Required fields, optional extras
4. **Strict** - Exact format, specific fields
- Use for: Compliance, legal, regulated (rare)
- Has: Precise requirements, validation
"Which format fits your workflow best?"
**If Free-form (most common):**
- "We'll use a minimal template with basic frontmatter. The workflow will build the document section by section, with a final polish step to optimize flow."
**If Structured/Semi-structured:**
- "What sections are required? Any optional sections?"
**If Strict:**
- "Do you have an existing template to follow, or should we design one?"
Document the output format decision.
### 6. Output Specifications (IF non-document)
**ONLY if `workflowProducesDocuments: false` from classification:**
"**What does this workflow produce if not a document?**
- Actions performed?
- Changes made to code/files?
- A decision or recommendation?
- A temporary artifact?"
Document what the workflow produces.
### 7. Success Criteria
"**How will we know this workflow succeeded?**
Think about the end result:
- What does 'done' look like?
- What would make a user satisfied?
- Are there quality criteria?
- Can we measure success?"
"**Think about their response...**"
### 8. Instruction Style (NOW, Not Earlier)
**We ask this NOW because we understand the workflow:**
"**How should the AI executing this workflow behave?**"
**Intent-Based (Recommended for most):**
- Steps describe goals and principles
- AI adapts conversation naturally
- More flexible and responsive
- Example: "Guide user to define requirements through open-ended discussion"
**Prescriptive:**
- Steps provide exact instructions
- More controlled and predictable
- Example: "Ask: 'What is your primary goal? A) Growth B) Efficiency C) Quality'"
**Mixed:**
- Some steps prescriptive, others intent-based
- Use prescriptive for critical/required steps
- Use intent-based for creative/facilitative steps
"Which style fits your workflow, or should it be mixed?"
### 9. Store to Standardized Template
Update `{workflowPlanFile}` with the requirements section:
```markdown
## Requirements
**Flow Structure:**
- Pattern: [linear/looping/branching/repeating]
- Phases: [list major phases]
- Estimated steps: [rough count]
**User Interaction:**
- Style: [highly collaborative/mostly autonomous/guided/mixed]
- Decision points: [where user must choose]
- Checkpoint frequency: [how often to pause]
**Inputs Required:**
- Required: [list]
- Optional: [list]
- Prerequisites: [list]
**Output Specifications:**
- Type: [document/action/decision/temporary]
- Format: [free-form/structured/semi-structured/strict OR describe non-document output]
- Sections: [if structured]
- Frequency: [single/batch/continuous]
**Success Criteria:**
- [list what success looks like]
**Instruction Style:**
- Overall: [intent-based/prescriptive/mixed]
- Notes: [any specific style requirements]
```
### 10. Present MENU OPTIONS
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue
#### EXECUTION RULES:
- ALWAYS halt and wait for user input
- ONLY proceed when user selects 'C'
- User can chat or ask questions - always respond and redisplay menu
#### Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save requirements to plan, update frontmatter, then load `{nextStepFile}`
- IF Any other: Help user, then redisplay menu
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Requirements gathered through conversation (not interrogation)
- Flow structure clearly understood
- Input/output specifications defined
- Output format decided (if document-producing)
- Success criteria established
- Instruction style determined
- All stored in standardized template
### ❌ SYSTEM FAILURE:
- Asking for instruction style before understanding the workflow
- Skipping output format discussion
- Not storing to standardized template
- Proceeding without understanding the flow
**Master Rule:** Requirements build on classification. Use the standardized template so the next steps can read consistent data.