mirror of
https://github.com/R0m1k3/FlowReader.git
synced 2026-10-16 03:36:44 +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
@@ -12,16 +12,16 @@
|
||||
|
||||
---
|
||||
|
||||
## Standard Variables (Always Available)
|
||||
## Standard Variables
|
||||
|
||||
| Variable | Example Value |
|
||||
| ---------------------------- | ------------------------------------ |
|
||||
| `{project-root}` | `/Users/user/dev/BMAD-METHOD` |
|
||||
| `{project_name}` | `my-project` |
|
||||
| `{output_folder}` | `/Users/user/dev/BMAD-METHOD/output` |
|
||||
| `{user_name}` | `Brian` |
|
||||
| `{communication_language}` | `english` |
|
||||
| `{document_output_language}` | `english` |
|
||||
| Variable | Example |
|
||||
|----------|---------|
|
||||
| `{project-root}` | `/Users/user/dev/BMAD-METHOD` <!-- validate-file-refs:ignore --> |
|
||||
| `{project_name}` | `my-project` |
|
||||
| `{output_folder}` | `/Users/user/dev/BMAD-METHOD/output` <!-- validate-file-refs:ignore --> |
|
||||
| `{user_name}` | `Brian` |
|
||||
| `{communication_language}` | `english` |
|
||||
| `{document_output_language}` | `english` |
|
||||
|
||||
---
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
Workflows in a MODULE can access additional variables from its `module.yaml`.
|
||||
|
||||
**BMB Module example:**
|
||||
**Example:**
|
||||
```yaml
|
||||
bmb_creations_output_folder: '{project-root}/_bmad/bmb-creations'
|
||||
```
|
||||
@@ -65,7 +65,6 @@ outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md'
|
||||
|
||||
# External references - use {project-root}
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
```
|
||||
|
||||
@@ -73,86 +72,48 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
## Critical Rule: Unused Variables Forbidden
|
||||
|
||||
### ❌ VIOLATION - Variable defined but never used
|
||||
**Detection Rule:** For EVERY variable in frontmatter, search the step body for `{variableName}`. If not found, it's a violation.
|
||||
|
||||
### ❌ VIOLATION
|
||||
```yaml
|
||||
---
|
||||
outputFile: '{output_folder}/output.md'
|
||||
thisStepFile: './step-01-init.md' # ❌ NEVER USED in body
|
||||
workflowFile: './workflow.md' # ❌ NEVER USED in body
|
||||
thisStepFile: './step-01-init.md' # ❌ NEVER USED
|
||||
workflowFile: './workflow.md' # ❌ NEVER USED
|
||||
---
|
||||
# Step body never mentions {thisStepFile} or {workflowFile}
|
||||
```
|
||||
|
||||
### ✅ CORRECT - Only variables that are used
|
||||
### ✅ CORRECT
|
||||
```yaml
|
||||
---
|
||||
outputFile: '{output_folder}/output.md'
|
||||
nextStepFile: './step-02-foo.md'
|
||||
---
|
||||
# Step body uses {outputFile} and {nextStepFile}
|
||||
```
|
||||
|
||||
**Detection Rule:** For EVERY variable in frontmatter, search the step body for `{variableName}`. If not found, it's a violation.
|
||||
|
||||
---
|
||||
|
||||
## Path Rules - NO EXCEPTIONS
|
||||
## Path Rules
|
||||
|
||||
### 1. Step to Step (SAME folder) = ./filename.md
|
||||
```yaml
|
||||
# ❌ WRONG
|
||||
nextStepFile: './step-02.md'
|
||||
nextStepFile: '{project-root}/_bmad/bmm/workflows/foo/steps/step-02.md'
|
||||
|
||||
# ✅ CORRECT
|
||||
nextStepFile: './step-02-vision.md'
|
||||
```
|
||||
|
||||
### 2. Step to Template (PARENT folder) = ../filename.md
|
||||
```yaml
|
||||
# ❌ WRONG
|
||||
someTemplate: '{workflow_path}/templates/template.md'
|
||||
|
||||
# ✅ CORRECT
|
||||
someTemplate: '../template.md'
|
||||
```
|
||||
|
||||
### 3. Step to Subfolder = ./subfolder/file.md
|
||||
```yaml
|
||||
# ❌ WRONG
|
||||
dataFile: '{workflow_path}/data/config.csv'
|
||||
|
||||
# ✅ CORRECT
|
||||
dataFile: './data/config.csv'
|
||||
```
|
||||
|
||||
### 4. External References = {project-root}/...
|
||||
```yaml
|
||||
# ✅ CORRECT
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
```
|
||||
|
||||
### 5. Output Files = Use folder variable
|
||||
```yaml
|
||||
# ✅ CORRECT
|
||||
outputFile: '{planning_artifacts}/workflow-output-{project_name}.md'
|
||||
outputFile: '{output_folder}/output.md'
|
||||
```
|
||||
| Type | Format | Example |
|
||||
|------|--------|---------|
|
||||
| Step to Step (same folder) | `./filename.md` | `./step-02-vision.md` |
|
||||
| Step to Template (parent) | `../filename.md` | `../template.md` |
|
||||
| Step to Subfolder | `./subfolder/file.md` | `./data/config.csv` |
|
||||
| External References | `{project-root}/...` | `{project-root}/_bmad/core/workflows/...` |
|
||||
| Output Files | `{folder_variable}/...` | `{planning_artifacts}/output.md` |
|
||||
|
||||
---
|
||||
|
||||
## ❌ FORBIDDEN Patterns
|
||||
|
||||
These patterns are **NEVER ALLOWED** in workflow step frontmatter:
|
||||
|
||||
| Pattern | Why It's Wrong |
|
||||
| ------------------------------------- | ----------------------------------------------------- |
|
||||
| `workflow_path: '{project-root}/...'` | Use relative paths instead |
|
||||
| `thisStepFile: './step-XX.md'` | Almost never used - remove unless actually referenced |
|
||||
| `workflowFile: './workflow.md'` | Almost never used - remove unless actually referenced |
|
||||
| `./...` | Use `./step-XX.md` (same folder) |
|
||||
| `{workflow_path}/templates/...` | Use `../template.md` (parent folder) |
|
||||
| `{workflow_path}/data/...` | Use `./data/file.md` (subfolder) |
|
||||
| Pattern | Why |
|
||||
|---------|-----|
|
||||
| `workflow_path: '{project-root}/...'` | Use relative paths |
|
||||
| `thisStepFile: './step-XX.md'` | Remove unless referenced <!-- validate-file-refs:ignore --> |
|
||||
| `workflowFile: './workflow.md'` | Remove unless referenced <!-- validate-file-refs:ignore --> |
|
||||
| `{workflow_path}/templates/...` | Use `../template.md` |
|
||||
| `{workflow_path}/data/...` | Use `./data/file.md` |
|
||||
|
||||
---
|
||||
|
||||
@@ -160,26 +121,25 @@ These patterns are **NEVER ALLOWED** in workflow step frontmatter:
|
||||
|
||||
Use `snake_case` with descriptive prefixes:
|
||||
|
||||
| Pattern | Usage | Example |
|
||||
| -------------- | ------------------- | ---------------------------- |
|
||||
| `{*_File}` | File references | `outputFile`, `nextStepFile` |
|
||||
| `{*_Task}` | Task references | `advancedElicitationTask` |
|
||||
| `{*_Workflow}` | Workflow references | `partyModeWorkflow` |
|
||||
| `{*_Template}` | Templates | `productBriefTemplate` |
|
||||
| `{*_Data}` | Data files | `dietaryData` |
|
||||
| Suffix | Usage | Example |
|
||||
|--------|-------|---------|
|
||||
| `*_File` | File references | `outputFile`, `nextStepFile` |
|
||||
| `*_Task` | Task references | `advancedElicitationTask` |
|
||||
| `*_Workflow` | Workflow references | `partyModeWorkflow` |
|
||||
| `*_Template` | Templates | `productBriefTemplate` |
|
||||
| `*_Data` | Data files | `dietaryData` |
|
||||
|
||||
---
|
||||
|
||||
## Defining New Variables
|
||||
|
||||
Steps can define NEW variables that future steps will use.
|
||||
Steps can define NEW variables for future steps.
|
||||
|
||||
**Step 01 defines:**
|
||||
```yaml
|
||||
---
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{workflow_name}'
|
||||
---
|
||||
# Uses {targetWorkflowPath} in body
|
||||
```
|
||||
|
||||
**Step 02 uses:**
|
||||
@@ -188,7 +148,6 @@ targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/plan.md'
|
||||
---
|
||||
# Uses {targetWorkflowPath} and {workflowPlanFile} in body
|
||||
```
|
||||
|
||||
---
|
||||
@@ -214,10 +173,10 @@ For EVERY step frontmatter, verify:
|
||||
|
||||
- [ ] `name` present, kebab-case format
|
||||
- [ ] `description` present
|
||||
- [ ] Extract ALL variable names from frontmatter (between `---` markers)
|
||||
- [ ] Extract ALL variable names from frontmatter
|
||||
- [ ] For EACH variable, search body: is `{variableName}` present?
|
||||
- [ ] If variable NOT in body → ❌ VIOLATION, remove from frontmatter
|
||||
- [ ] All step-to-step paths use `./filename.md` format (same folder)
|
||||
- [ ] All step-to-step paths use `./filename.md` format
|
||||
- [ ] All parent-folder paths use `../filename.md` format
|
||||
- [ ] All subfolder paths use `./subfolder/filename.md` format
|
||||
- [ ] NO `{workflow_path}` variable exists
|
||||
|
||||
Reference in new issue
Block a user