feat(ux): fix focus swipe animation, button visibility and mobile scroll

This commit is contained in:
Michael committed 2026-02-13 08:35:13 +01:00
1 parent 22e002f47f
commit 9d41a74b36
466 files changed
+6111 -42082

No files matched your search

@@ -4,10 +4,10 @@ description: 'Load brief or user write-up, validate completeness'
nextStepFile: './step-02-structure.md'
continueFile: './step-01b-continue.md'
agentSpecTemplate: '../../templates/agent-spec-template.md'
workflowSpecTemplate: '../../templates/workflow-spec-template.md'
moduleStandardsFile: '../../data/module-standards.md'
moduleYamlConventionsFile: '../../data/module-yaml-conventions.md'
agentSpecTemplate: '../data/agent-spec-template.md'
workflowSpecTemplate: '../templates/workflow-spec-template.md'
moduleStandardsFile: '../data/module-standards.md'
moduleYamlConventionsFile: '../data/module-yaml-conventions.md'
advancedElicitationTask: '../../../../core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '../../../../core/workflows/party-mode/workflow.md'
---
@@ -135,10 +135,10 @@ status: IN_PROGRESS
1. Directory structure (based on module type)
2. module.yaml with install configuration
3. _module-installer/ folder (if needed)
4. Agent placeholder/spec files
5. Workflow placeholder/spec files
6. README.md and TODO.md
3. Agent placeholder/spec files
4. Workflow placeholder/spec files
5. README.md and TODO.md
6. module-help.csv (generated from specs)
"**Ready to start building?**"
@@ -2,7 +2,7 @@
name: 'step-01b-continue'
description: 'Handle workflow continuation for Create mode'
workflowFile: '../workflow.md'
workflowFile: '../workflow-create-module.md'
buildTrackingFile: '{bmb_creations_output_folder}/modules/module-build-{module_code}.md'
---
@@ -61,11 +61,10 @@ Find the last completed step and route to the next one:
|---------------|-----------|
| step-01-load-brief | step-02-structure |
| step-02-structure | step-03-config |
| step-03-config | step-04-installer |
| step-04-installer | step-05-agents |
| step-05-agents | step-06-workflows |
| step-06-workflows | step-07-docs |
| step-07-docs | step-08-complete |
| step-03-config | step-04-agents |
| step-04-agents | step-05-workflows |
| step-05-workflows | step-06-docs |
| step-06-docs | step-07-complete |
### 5. Route to Next Step
@@ -3,7 +3,7 @@ name: 'step-02-structure'
description: 'Create directory structure based on module type'
nextStepFile: './step-03-config.md'
moduleStandardsFile: '../../data/module-standards.md'
moduleStandardsFile: '../data/module-standards.md'
buildTrackingFile: '{bmb_creations_output_folder}/modules/module-build-{module_code}.md'
---
@@ -59,11 +59,8 @@ Load `{moduleStandardsFile}` and determine location:
├── README.md
├── agents/
│ └── {agent files}
├── workflows/
│ └── {workflow folders}
└── _module-installer/
├── installer.js
└── platform-specifics/
└── workflows/
└── {workflow folders}
```
"**Location:** {target_location}"
@@ -78,8 +75,6 @@ Load `{moduleStandardsFile}` and determine location:
Create folders:
- `{target_location}/agents/`
- `{target_location}/workflows/`
- `{target_location}/_module-installer/`
- `{target_location}/_module-installer/platform-specifics/`
### 4. Update Build Tracking
@@ -105,5 +100,5 @@ Update `{buildTrackingFile}`:
✅ Directory structure created
✅ Location based on module type
✅ Folders: agents/, workflows/, _module-installer/
✅ Folders: agents/, workflows/
✅ Build tracking updated
@@ -2,8 +2,8 @@
name: 'step-03-config'
description: 'Generate module.yaml with install questions'
nextStepFile: './step-04-installer.md'
moduleYamlConventionsFile: '../../data/module-yaml-conventions.md'
nextStepFile: './step-04-agents.md'
moduleYamlConventionsFile: '../data/module-yaml-conventions.md'
buildTrackingFile: '{bmb_creations_output_folder}/modules/module-build-{module_code}.md'
targetLocation: '{build_tracking_targetLocation}'
---
@@ -1,15 +1,15 @@
---
name: 'step-05-agents'
name: 'step-04-agents'
description: 'Create agent placeholder/spec files'
nextStepFile: './step-06-workflows.md'
agentSpecTemplate: '../../templates/agent-spec-template.md'
agentArchitectureFile: '../../data/agent-architecture.md'
nextStepFile: './step-05-workflows.md'
agentSpecTemplate: '../data/agent-spec-template.md'
agentArchitectureFile: '../data/agent-architecture.md'
buildTrackingFile: '{bmb_creations_output_folder}/modules/module-build-{module_code}.md'
targetLocation: '{build_tracking_targetLocation}'
---
# Step 5: Agent Specs
# Step 4: Agent Specs
## STEP GOAL:
@@ -138,7 +138,7 @@ Iterate through each agent from the brief and create their spec file.
### 5. Update Build Tracking
Update `{buildTrackingFile}`:
- Add 'step-05-agents' to stepsCompleted
- Add 'step-04-agents' to stepsCompleted
- List all agent specs created
### 6. Report Success
@@ -1,160 +0,0 @@
---
name: 'step-04-installer'
description: 'Setup _module-installer folder and installer.js'
nextStepFile: './step-05-agents.md'
moduleInstallerStandardsFile: '../../data/module-installer-standards.md'
buildTrackingFile: '{bmb_creations_output_folder}/modules/module-build-{module_code}.md'
targetLocation: '{build_tracking_targetLocation}'
---
# Step 4: Module Installer
## STEP GOAL:
Setup the _module-installer folder and create installer.js if needed.
## MANDATORY EXECUTION RULES:
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
- ✅ Speak in `{communication_language}`
### Role Reinforcement:
- ✅ You are the **Module Builder** — installer expert
- ✅ Not all modules need installers
- ✅ Follow installer patterns
---
## MANDATORY SEQUENCE
### 1. Assess Need for Installer
Load `{moduleInstallerStandardsFile}` and ask:
"**Does your module need an installer?**"
Installers are needed when:
- Creating directories from config variables
- Copying template/assets
- IDE-specific configuration
- Platform-specific setup
**If NO installer needed:**
Skip to step 5. Folder structure already exists.
**If YES:** Continue to step 4.2
### 2. Determine Installer Requirements
"**What should the installer do?**"
- Create directories? (which variables)
- Copy assets? (from where)
- IDE configuration? (which IDEs)
- Platform-specific setup?
### 3. Create installer.js
Create `{targetLocation}/_module-installer/installer.js`:
```javascript
const fs = require('fs-extra');
const path = require('node:path');
const chalk = require('chalk');
const platformCodes = require(path.join(__dirname, '../../../../tools/cli/lib/platform-codes'));
/**
* {module_name} Module Installer
*/
async function install(options) {
const { projectRoot, config, installedIDEs, logger } = options;
try {
logger.log(chalk.blue('Installing {module_name}...'));
// Create directories
if (config['{variable_name}']) {
const dirConfig = config['{variable_name}'].replace('{project-root}/', '');
const dirPath = path.join(projectRoot, dirConfig);
if (!(await fs.pathExists(dirPath))) {
logger.log(chalk.yellow(`Creating directory: ${dirConfig}`));
await fs.ensureDir(dirPath);
}
}
// IDE-specific configuration
if (installedIDEs && installedIDEs.length > 0) {
for (const ide of installedIDEs) {
await configureForIDE(ide, projectRoot, config, logger);
}
}
logger.log(chalk.green('✓ {module_name} installation complete'));
return true;
} catch (error) {
logger.error(chalk.red(`Error installing module: ${error.message}`));
return false;
}
}
async function configureForIDE(ide, projectRoot, config, logger) {
if (!platformCodes.isValidPlatform(ide)) {
logger.warn(chalk.yellow(`Unknown platform: '${ide}'. Skipping.`));
return;
}
const platformSpecificPath = path.join(__dirname, 'platform-specifics', `${ide}.js`);
try {
if (await fs.pathExists(platformSpecificPath)) {
const platformHandler = require(platformSpecificPath);
if (typeof platformHandler.install === 'function') {
await platformHandler.install({ projectRoot, config, logger });
}
}
} catch (error) {
logger.warn(chalk.yellow(`Warning: Could not configure ${ide}: ${error.message}`));
}
}
module.exports = { install };
```
Customize based on module requirements.
### 4. Platform-Specific Handlers (Optional)
If IDE-specific setup needed, ask which IDEs and create:
- `{targetLocation}/_module-installer/platform-specifics/claude-code.js`
- `{targetLocation}/_module-installer/platform-specifics/windsurf.js`
- etc.
### 5. Update Build Tracking
Update `{buildTrackingFile}`:
- Add 'step-04-installer' to stepsCompleted
- Note: installer created or skipped
### 6. MENU OPTIONS
**Select an Option:** [C] Continue
- IF C: Update tracking, load `{nextStepFile}`
- IF Any other: Help, then redisplay menu
---
## Success Metrics
✅ Assessed installer need
✅ installer.js created (if needed)
✅ Platform handlers created (if needed)
✅ Build tracking updated
@@ -1,14 +1,14 @@
---
name: 'step-06-workflows'
name: 'step-05-workflows'
description: 'Create workflow placeholder/spec files'
nextStepFile: './step-07-docs.md'
workflowSpecTemplate: '../../templates/workflow-spec-template.md'
nextStepFile: './step-06-docs.md'
workflowSpecTemplate: '../templates/workflow-spec-template.md'
buildTrackingFile: '{bmad_creations_output_folder}/modules/module-build-{module_code}.md'
targetLocation: '{build_tracking_targetLocation}'
---
# Step 6: Workflow Specs
# Step 5: Workflow Specs
## STEP GOAL:
@@ -154,7 +154,7 @@ Iterate through each workflow from the brief and create their spec file.
### 4. Update Build Tracking
Update `{buildTrackingFile}`:
- Add 'step-06-workflows' to stepsCompleted
- Add 'step-05-workflows' to stepsCompleted
- List all workflow specs created
### 5. Report Success
@@ -1,13 +1,13 @@
---
name: 'step-07-docs'
name: 'step-06-docs'
description: 'Generate README.md, TODO.md, and docs/ folder'
nextStepFile: './step-08-complete.md'
nextStepFile: './step-07-complete.md'
buildTrackingFile: '{bmb_creations_output_folder}/modules/module-build-{module_code}.md'
targetLocation: '{build_tracking_targetLocation}'
---
# Step 7: Documentation
# Step 6: Documentation
## STEP GOAL:
@@ -102,8 +102,7 @@ The module supports these configuration options (set during installation):
│ ├── workflows.md
│ └── examples.md
├── agents/
├── workflows/
└── _module-installer/
└── workflows/
```
---
@@ -173,8 +172,7 @@ Development roadmap for {module_code} module.
- [ ] Test installation with `bmad install`
- [ ] Verify module.yaml prompts work correctly
- [ ] Test installer.js (if present)
- [ ] Test IDE-specific handlers (if present)
- [ ] Verify all agents and workflows are discoverable
---
@@ -363,7 +361,7 @@ This section provides practical examples for using {module_display_name}.
### 4. Update Build Tracking
Update `{buildTrackingFile}`:
- Add 'step-07-docs' to stepsCompleted
- Add 'step-06-docs' to stepsCompleted
- Note: README.md, TODO.md, and docs/ folder created
### 5. Report Success
@@ -1,13 +1,15 @@
---
name: 'step-08-complete'
name: 'step-07-complete'
description: 'Finalize, offer to run validation'
buildTrackingFile: '{bmb_creations_output_folder}/modules/module-build-{module_code}.md'
targetLocation: '{build_tracking_targetLocation}'
moduleHelpGenerateWorkflow: '../module-help-generate.md'
validationWorkflow: '../steps-v/step-01-validate.md'
moduleHelpCsvFile: '{build_tracking_targetLocation}/module-help.csv'
---
# Step 8: Complete
# Step 7: Complete
## STEP GOAL:
@@ -30,7 +32,33 @@ Finalize the module build, update tracking, and offer to run validation.
## MANDATORY SEQUENCE
### 1. Final Build Summary
### 1. Generate module-help.csv
"**🎯 Generating module-help.csv...**"
Load and execute the module-help-generate workflow:
```
{moduleHelpGenerateWorkflow}
```
**Set these variables before loading:**
- `modulePath: {targetLocation}`
- `moduleYamlFile: {targetLocation}/module.yaml`
- `moduleHelpCsvFile: {targetLocation}/module-help.csv`
- `workflowsDir: {targetLocation}/workflows`
- `agentsDir: {targetLocation}/agents`
**What this does:**
- Scans all workflows in `{workflowsDir}/`
- Scans all agents in `{agentsDir}/`
- Generates `{moduleHelpCsvFile}` with proper structure:
- `anytime` entries at top (no sequence)
- Phased entries below (phase-1, phase-2, etc.)
- Agent-only entries have empty `workflow-file`
**Wait for workflow completion** before proceeding.
### 2. Final Build Summary
"**🎉 Module structure build complete!**"
@@ -45,10 +73,10 @@ Finalize the module build, update tracking, and offer to run validation.
| Agent specs | {count} | agents/ |
| Workflow specs | {count} | workflows/ |
| Configuration | 1 | module.yaml |
| Help Registry | 1 | module-help.csv |
| Documentation | 2 | README.md, TODO.md |
| Installer | {yes/no} | _module-installer/ |
### 2. Update Build Tracking
### 3. Update Build Tracking
Update `{buildTrackingFile}`:
```yaml
@@ -57,7 +85,7 @@ moduleCode: {module_code}
moduleName: {name}
moduleType: {type}
targetLocation: {location}
stepsCompleted: ['step-01-load-brief', 'step-02-structure', 'step-03-config', 'step-04-installer', 'step-05-agents', 'step-06-workflows', 'step-07-docs', 'step-08-complete']
stepsCompleted: ['step-01-load-brief', 'step-02-structure', 'step-03-config', 'step-04-agents', 'step-05-workflows', 'step-06-docs', 'step-07-complete']
created: {created_date}
completed: {date}
status: COMPLETE
@@ -117,6 +145,7 @@ Validation checks:
## Success Metrics
✅ module-help.csv generated at module root
✅ Build tracking marked COMPLETE
✅ Summary presented to user
✅ Next steps clearly explained