mirror of
https://github.com/R0m1k3/FlowReader.git
synced 2026-10-15 11:16:21 +02:00
feat(ux): fix focus swipe animation, button visibility and mobile scroll
This commit is contained in:
1 parent
22e002f47f
commit
9d41a74b36
466 files changed
+6111
-42082
No files matched your search
@@ -41,26 +41,27 @@ Load the existing agent file and initialize a validation report to track all fin
|
||||
### 1. Load Agent File
|
||||
|
||||
Read the complete YAML from the agent file path provided by the user.
|
||||
If the module property of the agent metadata is stand-alone, it is not a module agent.
|
||||
If the module property of the agent is a module code (like bmm, bmb, etc...) it is a module agent.
|
||||
If the property hasSidecar: true exists in the metadata, then it is an expert agent.
|
||||
Else it is a simple agent.
|
||||
|
||||
If a module agent also hasSidecar: true - this means it is a modules expert agent, thus it can have sidecar.
|
||||
Check the metadata to determine agent configuration:
|
||||
- **module**: `stand-alone` or module code (bmm, cis, bmgd, etc.)
|
||||
- **hasSidecar**: `true` or `false`
|
||||
|
||||
### 2. Display Agent Summary
|
||||
|
||||
```markdown
|
||||
## Agent to Validate: {agent-name}
|
||||
|
||||
**Type:** {simple|expert|module}
|
||||
**Configuration:** Agent {WITH|WITHOUT} sidecar
|
||||
**hasSidecar:** {true|false}
|
||||
**module:** {module-value}
|
||||
**File:** {agent-file-path}
|
||||
|
||||
### Current Structure:
|
||||
|
||||
**Persona:** {character count} characters
|
||||
**Commands:** {count} commands
|
||||
**Critical Actions:** {count} actions
|
||||
**Critical Actions:** {count} actions (if hasSidecar: true)
|
||||
**Sidecar:** {present|not present}
|
||||
```
|
||||
|
||||
### 3. Create Validation Report
|
||||
@@ -70,7 +71,8 @@ Initialize the validation report:
|
||||
```markdown
|
||||
---
|
||||
agentName: '{agent-name}'
|
||||
agentType: '{simple|expert|module}' # Derived from module + hasSidecar
|
||||
hasSidecar: {true|false}
|
||||
module: '{module-value}'
|
||||
agentFile: '{agent-file-path}'
|
||||
validationDate: '{YYYY-MM-DD}'
|
||||
stepsCompleted:
|
||||
@@ -82,9 +84,8 @@ stepsCompleted:
|
||||
## Agent Overview
|
||||
|
||||
**Name:** {agent-name}
|
||||
**Type:** {simple|expert|module} # Derived from: module + hasSidecar
|
||||
**module:** {module-value}
|
||||
**hasSidecar:** {true|false}
|
||||
**module:** {module-value}
|
||||
**File:** {agent-file-path}
|
||||
|
||||
---
|
||||
@@ -98,7 +99,7 @@ Write to `{validationReport}`.
|
||||
|
||||
### 4. Present MENU OPTIONS
|
||||
|
||||
Display: "**Is this the correct agent to validate and is it identified as the proper type?** [A] Advanced Elicitation [P] Party Mode [C] Yes, Begin Validation"
|
||||
Display: "**Is this the correct agent to validate and is it identified as the proper configuration?** [A] Advanced Elicitation [P] Party Mode [C] Yes, Begin Validation"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ Perform these checks systematically - validate EVERY rule specified in personaPr
|
||||
- [ ] Principles are consistent with role
|
||||
- [ ] 3-7 principles recommended (not overwhelming)
|
||||
- [ ] Each principle is clear and specific
|
||||
- [ ] First principle activates expert knowledge domain
|
||||
- [ ] First principle activates domain knowledge
|
||||
|
||||
6. **Consistency Checks**
|
||||
- [ ] Role, identity, communication_style, principles all align
|
||||
@@ -101,7 +101,7 @@ Append to `{validationReport}`:
|
||||
- [ ] role: specific, not generic
|
||||
- [ ] identity: defines who agent is
|
||||
- [ ] communication_style: speech patterns only
|
||||
- [ ] principles: first principle activates expert knowledge
|
||||
- [ ] principles: first principle activates domain knowledge
|
||||
|
||||
**Detailed Findings:**
|
||||
|
||||
|
||||
@@ -52,61 +52,41 @@ Perform these checks systematically - validate EVERY rule specified in agentMenu
|
||||
- [ ] Menu section exists and is properly formatted
|
||||
- [ ] At least one menu item defined (unless intentionally tool-less)
|
||||
- [ ] Menu items follow proper YAML structure
|
||||
- [ ] Each item has required fields (name, description, pattern)
|
||||
- [ ] Each item has required fields (trigger, description, action)
|
||||
|
||||
2. **Menu Item Requirements**
|
||||
For each menu item:
|
||||
- [ ] name: Present, unique, uses kebab-case
|
||||
- [ ] description: Clear and concise
|
||||
- [ ] pattern: Valid regex pattern or tool reference
|
||||
- [ ] scope: Appropriate scope defined (if applicable)
|
||||
- [ ] trigger: Present, follows `XX or fuzzy match on command` format
|
||||
- [ ] description: Clear and concise, starts with `[XX]` code
|
||||
- [ ] action: Prompt reference (#id) or inline instruction
|
||||
|
||||
3. **Pattern Quality**
|
||||
- [ ] Patterns are valid and testable
|
||||
- [ ] Patterns are specific enough to match intended inputs
|
||||
- [ ] Patterns are not overly restrictive
|
||||
- [ ] Patterns use appropriate regex syntax
|
||||
3. **Trigger Format Validation**
|
||||
- [ ] Format: `XX or fuzzy match on command-name` (XX = 2-letter code)
|
||||
- [ ] Codes are unique within agent
|
||||
- [ ] No reserved codes used: MH, CH, PM, DA
|
||||
|
||||
4. **Description Quality**
|
||||
- [ ] Each item has clear description
|
||||
- [ ] Descriptions explain what the item does
|
||||
- [ ] Descriptions are consistent in style
|
||||
- [ ] Descriptions help users understand when to use
|
||||
4. **Description Format Validation**
|
||||
- [ ] Descriptions start with `[XX]` code
|
||||
- [ ] Code in description matches trigger code
|
||||
- [ ] Descriptions are clear and descriptive
|
||||
|
||||
5. **Alignment Checks**
|
||||
5. **Action Handler Validation**
|
||||
- [ ] If `action: '#prompt-id'`, corresponding prompt exists
|
||||
- [ ] If `action: 'inline text'`, instruction is complete and clear
|
||||
|
||||
6. **Alignment Checks**
|
||||
- [ ] Menu items align with agent's role/purpose
|
||||
- [ ] Menu items are supported by agent's expertise
|
||||
- [ ] Menu items fit within agent's constraints
|
||||
- [ ] Menu items are appropriate for target users
|
||||
|
||||
6. **Completeness**
|
||||
- [ ] Core capabilities for this role are covered
|
||||
- [ ] No obvious missing functionality
|
||||
- [ ] Menu scope is appropriate (not too sparse/overloaded)
|
||||
- [ ] Related functionality is grouped logically
|
||||
|
||||
7. **Standards Compliance**
|
||||
- [ ] No prohibited patterns or commands
|
||||
- [ ] No security vulnerabilities in patterns
|
||||
- [ ] No ambiguous or conflicting items
|
||||
- [ ] Consistent naming conventions
|
||||
|
||||
8. **Menu Link Validation (Agent Type Specific)**
|
||||
- [ ] Determine agent type from metadata:
|
||||
- Simple: module property is 'stand-alone' AND hasSidecar is false/absent
|
||||
- Expert: hasSidecar is true
|
||||
- Module: module property is a module code (e.g., 'bmm', 'bmb', 'bmgd', 'bmad')
|
||||
- [ ] For Expert agents (hasSidecar: true):
|
||||
- Menu handlers SHOULD reference external sidecar files (e.g., `./{agent-name}-sidecar/...`)
|
||||
- OR have inline prompts defined directly in the handler
|
||||
- [ ] For Module agents (module property is a module code):
|
||||
- Menu handlers SHOULD reference external module files under the module path
|
||||
- Exec paths must start with `{project-root}/_bmad/{module}/...`
|
||||
- Verify referenced files exist under the module directory
|
||||
- [ ] For Simple agents (stand-alone, no sidecar):
|
||||
- Menu handlers MUST NOT have external file links
|
||||
- Menu handlers SHOULD only use relative links within the same file (e.g., `#section-name`)
|
||||
- OR have inline prompts defined directly in the handler
|
||||
7. **Configuration Specific Menu Handler Validation**
|
||||
- [ ] Determine hasSidecar from metadata
|
||||
- [ ] For hasSidecar: true:
|
||||
- [ ] Menu handlers MAY reference sidecar files using correct path format
|
||||
- [ ] Sidecar references use: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
|
||||
- [ ] For hasSidecar: false:
|
||||
- [ ] Menu handlers MUST NOT have sidecar file links
|
||||
- [ ] Menu handlers use only internal references (#) or inline prompts
|
||||
|
||||
### 3. Append Findings to Report
|
||||
|
||||
@@ -117,12 +97,14 @@ Append to `{validationReport}`:
|
||||
|
||||
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL}
|
||||
|
||||
**hasSidecar:** {true|false}
|
||||
|
||||
**Checks:**
|
||||
- [ ] A/P/C convention followed
|
||||
- [ ] Command names clear and descriptive
|
||||
- [ ] Command descriptions specific and actionable
|
||||
- [ ] Menu handling logic properly specified
|
||||
- [ ] Agent type appropriate menu links verified
|
||||
- [ ] Triggers follow `XX or fuzzy match on command` format
|
||||
- [ ] Descriptions start with `[XX]` code
|
||||
- [ ] No reserved codes (MH, CH, PM, DA)
|
||||
- [ ] Action handlers valid (#prompt-id or inline)
|
||||
- [ ] Configuration appropriate menu links
|
||||
|
||||
**Detailed Findings:**
|
||||
|
||||
|
||||
@@ -4,8 +4,7 @@ description: 'Validate YAML structure and append to report'
|
||||
|
||||
nextStepFile: './v-02e-validate-sidecar.md'
|
||||
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
|
||||
simpleValidation: ../data/simple-agent-validation.md
|
||||
expertValidation: ../data/expert-agent-validation.md
|
||||
agentValidation: ../data/agent-validation.md
|
||||
agentCompilation: ../data/agent-compilation.md
|
||||
agentFile: '{agent-file-path}'
|
||||
---
|
||||
@@ -44,7 +43,7 @@ Validate the agent's YAML structure and completeness against BMAD standards as d
|
||||
|
||||
### 1. Load References
|
||||
|
||||
Read `{agentCompilation}`, `{simpleValidation}`, `{expertValidation}`, `{validationReport}`, and `{agentFile}`.
|
||||
Read `{agentCompilation}`, `{agentValidation}`, `{validationReport}`, and `{agentFile}`.
|
||||
|
||||
### 2. Validate Structure
|
||||
|
||||
@@ -64,7 +63,7 @@ Perform these checks systematically - validate EVERY rule specified in agentComp
|
||||
- [ ] Boolean fields are actual booleans (not strings)
|
||||
|
||||
#### C. Section Completeness
|
||||
- [ ] All required sections present based on agent type
|
||||
- [ ] All required sections present based on hasSidecar value
|
||||
- [ ] Sections not empty unless explicitly optional
|
||||
- [ ] Proper markdown heading hierarchy (##, ###)
|
||||
- [ ] No orphaned content without section headers
|
||||
@@ -75,27 +74,24 @@ Perform these checks systematically - validate EVERY rule specified in agentComp
|
||||
- [ ] No malformed YAML structures
|
||||
- [ ] File references use correct path format
|
||||
|
||||
#### E. Agent Type Specific Checks
|
||||
#### E. Agent Configuration Specific Checks
|
||||
|
||||
**For Simple Agents (hasSidecar is false/absent, module is 'stand-alone'):**
|
||||
**For Agents WITHOUT Sidecar (hasSidecar is false):**
|
||||
- [ ] No sidecar requirements
|
||||
- [ ] No sidecar-folder path in metadata
|
||||
- [ ] Basic fields complete
|
||||
- [ ] No expert-only configuration present
|
||||
- [ ] If critical_actions present, no sidecar file references
|
||||
- [ ] Menu handlers use only internal references (#) or inline prompts
|
||||
- [ ] Total size under ~250 lines (unless justified)
|
||||
|
||||
**For Expert Agents (hasSidecar is true):**
|
||||
- [ ] Sidecar flag set correctly in metadata
|
||||
**For Agents WITH Sidecar (hasSidecar is true):**
|
||||
- [ ] hasSidecar flag set correctly in metadata
|
||||
- [ ] Sidecar folder path specified in metadata
|
||||
- [ ] All expert fields present
|
||||
- [ ] Advanced features properly configured
|
||||
- [ ] Menu handlers reference sidecar files or have inline prompts
|
||||
|
||||
**For Module Agents (module is a module code like 'bmm', 'bmb', etc.):**
|
||||
- [ ] Module property is valid module code
|
||||
- [ ] Exec paths for menu handlers start with `{project-root}/_bmad/{module}/...`
|
||||
- [ ] Referenced files exist under the module directory
|
||||
- [ ] If also hasSidecar: true, sidecar configuration is valid
|
||||
- [ ] critical_actions section present with minimum requirements:
|
||||
- [ ] Loads sidecar memories
|
||||
- [ ] Loads sidecar instructions
|
||||
- [ ] Restricts file access to sidecar folder
|
||||
- [ ] All critical_actions reference correct `{project-root}/_bmad/_memory/` paths
|
||||
- [ ] Menu handlers that update sidecar use correct path format
|
||||
|
||||
### 3. Append Findings to Report
|
||||
|
||||
@@ -106,14 +102,16 @@ Append to `{validationReport}`:
|
||||
|
||||
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL}
|
||||
|
||||
**Agent Type:** {simple|expert|module}
|
||||
**Configuration:** Agent {WITH|WITHOUT} sidecar
|
||||
|
||||
**hasSidecar:** {true|false}
|
||||
|
||||
**Checks:**
|
||||
- [ ] Valid YAML syntax
|
||||
- [ ] Required fields present (name, description, type, persona)
|
||||
- [ ] Field types correct (arrays, strings)
|
||||
- [ ] Required fields present (name, description, persona, menu)
|
||||
- [ ] Field types correct (arrays, strings, booleans)
|
||||
- [ ] Consistent 2-space indentation
|
||||
- [ ] Agent type appropriate structure
|
||||
- [ ] Configuration appropriate structure
|
||||
|
||||
**Detailed Findings:**
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ description: 'Validate sidecar structure and append to report'
|
||||
|
||||
nextStepFile: './v-03-summary.md'
|
||||
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
|
||||
expertValidation: ../data/expert-agent-validation.md
|
||||
agentValidation: ../data/agent-validation.md
|
||||
criticalActions: ../data/critical-actions.md
|
||||
agentFile: '{agent-file-path}'
|
||||
sidecarFolder: '{agent-sidecar-folder}'
|
||||
@@ -14,27 +14,27 @@ sidecarFolder: '{agent-sidecar-folder}'
|
||||
|
||||
## STEP GOAL
|
||||
|
||||
Validate the agent's sidecar structure (if Expert type) against BMAD standards as defined in expertValidation.md. Append findings to validation report and auto-advance.
|
||||
Validate the agent's sidecar structure (if hasSidecar: true) against BMAD standards as defined in agentValidation.md. Append findings to validation report and auto-advance.
|
||||
|
||||
## MANDATORY EXECUTION RULES
|
||||
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: Read validationReport and expertValidation first
|
||||
- 🔄 CRITICAL: Read validationReport and agentValidation first
|
||||
- 🔄 CRITICAL: Load the actual agent file to check for sidecar
|
||||
- 🚫 NO MENU - append findings and auto-advance
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Validate sidecar against expertValidation.md rules (for Expert agents)
|
||||
- 🎯 Validate sidecar against agentValidation.md rules (for agents with sidecar)
|
||||
- 📊 Append findings to validation report
|
||||
- 🚫 FORBIDDEN to present menu
|
||||
|
||||
## EXECUTION PROTOCOLS
|
||||
|
||||
- 🎯 Load expertValidation.md reference
|
||||
- 🎯 Load agentValidation.md reference
|
||||
- 🎯 Load the actual agent file for validation
|
||||
- 📊 Validate sidecar if Expert type, skip for Simple/Module
|
||||
- 📊 Validate sidecar if hasSidecar: true, skip for hasSidecar: false
|
||||
- 💾 Append findings to validation report
|
||||
- ➡️ Auto-advance to summary step
|
||||
|
||||
@@ -44,12 +44,12 @@ Validate the agent's sidecar structure (if Expert type) against BMAD standards a
|
||||
|
||||
### 1. Load References
|
||||
|
||||
Read `{expertValidation}`, `{criticalActions}`, `{validationReport}`, and `{agentFile}`.
|
||||
Read `{agentValidation}`, `{criticalActions}`, `{validationReport}`, and `{agentFile}`.
|
||||
|
||||
### 2. Conditional Validation
|
||||
|
||||
**IF (module = "stand-alone" AND hasSidecar = true) OR (module ≠ "stand-alone" AND hasSidecar = true):**
|
||||
Perform these checks systematically - validate EVERY rule specified in expertValidation.md:
|
||||
**IF hasSidecar = true:**
|
||||
Perform these checks systematically - validate EVERY rule specified in agentValidation.md:
|
||||
|
||||
#### A. Sidecar Folder Validation
|
||||
- [ ] Sidecar folder exists at specified path
|
||||
@@ -59,39 +59,37 @@ Perform these checks systematically - validate EVERY rule specified in expertVal
|
||||
|
||||
#### B. Sidecar File Inventory
|
||||
- [ ] List all files in sidecar folder
|
||||
- [ ] Verify expected files are present
|
||||
- [ ] Verify expected files are present (memories.md, instructions.md recommended)
|
||||
- [ ] Check for unexpected files
|
||||
- [ ] Validate file names follow conventions
|
||||
|
||||
#### C. Path Reference Validation
|
||||
For each sidecar path reference in agent YAML:
|
||||
- [ ] Extract path from YAML reference
|
||||
- [ ] Verify file exists at referenced path
|
||||
- [ ] Check path format is correct (relative/absolute as expected)
|
||||
- [ ] Verify path format is correct: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
|
||||
- [ ] `{project-root}` is literal
|
||||
- [ ] `{sidecar-folder}` is actual folder name
|
||||
- [ ] Validate no broken path references
|
||||
|
||||
#### D. Critical Actions File Validation (if present)
|
||||
- [ ] critical-actions.md file exists
|
||||
- [ ] File has proper frontmatter
|
||||
- [ ] Actions section is present and not empty
|
||||
- [ ] No critical sections missing
|
||||
- [ ] File content is complete (not just placeholder)
|
||||
#### D. Critical Actions Validation (MANDATORY for hasSidecar: true)
|
||||
- [ ] critical_actions section exists in agent YAML
|
||||
- [ ] Contains at minimum 3 actions
|
||||
- [ ] Loads sidecar memories: `{project-root}/_bmad/_memory/{sidecar-folder}/memories.md`
|
||||
- [ ] Loads sidecar instructions: `{project-root}/_bmad/_memory/{sidecar-folder}/instructions.md`
|
||||
- [ ] Restricts file access: `ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/`
|
||||
- [ ] No placeholder text in critical_actions
|
||||
- [ ] No compiler-injected steps
|
||||
|
||||
#### E. Module Files Validation (if present)
|
||||
- [ ] Module files exist at referenced paths
|
||||
- [ ] Each module file has proper frontmatter
|
||||
- [ ] Module file content is complete
|
||||
- [ ] No empty or placeholder module files
|
||||
|
||||
#### F. Sidecar Structure Completeness
|
||||
#### E. Sidecar Structure Completeness
|
||||
- [ ] All referenced sidecar files present
|
||||
- [ ] No orphaned references (files referenced but not present)
|
||||
- [ ] No unreferenced files (files present but not referenced)
|
||||
- [ ] File structure matches expert agent requirements
|
||||
- [ ] File structure matches agent requirements
|
||||
|
||||
**IF (module = "stand-alone" AND hasSidecar = false):**
|
||||
**IF hasSidecar = false:**
|
||||
- [ ] Mark sidecar validation as N/A
|
||||
- [ ] Confirm no sidecar-folder path in metadata
|
||||
- [ ] Confirm no sidecar references in critical_actions (if present)
|
||||
- [ ] Confirm no sidecar references in menu handlers
|
||||
|
||||
### 3. Append Findings to Report
|
||||
@@ -103,18 +101,18 @@ Append to `{validationReport}`:
|
||||
|
||||
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL / N/A}
|
||||
|
||||
**Agent Type:** {simple|expert|module with sidecar}
|
||||
**hasSidecar:** {true|false}
|
||||
|
||||
**Checks:**
|
||||
- [ ] metadata.sidecar-folder present (Expert only)
|
||||
- [ ] sidecar-path format correct
|
||||
- [ ] Sidecar files exist at specified path
|
||||
- [ ] metadata.sidecar-folder present (if hasSidecar: true)
|
||||
- [ ] Sidecar path format correct: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
|
||||
- [ ] Sidecar files exist at specified path (if hasSidecar: true)
|
||||
- [ ] All referenced files present
|
||||
- [ ] No broken path references
|
||||
|
||||
**Detailed Findings:**
|
||||
|
||||
*PASSING (for Expert agents):*
|
||||
*PASSING (for agents WITH sidecar):*
|
||||
{List of passing checks}
|
||||
|
||||
*WARNINGS:*
|
||||
@@ -123,8 +121,8 @@ Append to `{validationReport}`:
|
||||
*FAILURES:*
|
||||
{List of blocking issues that must be fixed}
|
||||
|
||||
*N/A (for Simple agents):*
|
||||
N/A - Agent is Simple type (module = "stand-alone" + hasSidecar: false, no sidecar required)
|
||||
*N/A (for agents WITHOUT sidecar):*
|
||||
N/A - Agent has hasSidecar: false, no sidecar required
|
||||
```
|
||||
|
||||
### 4. Auto-Advance
|
||||
|
||||
Reference in new issue
Block a user