Updates to molecule-algebra.md: - Added Formulas and Cooking section - Four-tier model: Formula → cook → Proto → pour/wisp → Mol/Wisp - Breaking Bad × Mad Max naming (Let's cook!) - Updated vision diagram New example formulas: - shiny.formula.yaml (Engineer in a Box) - rule-of-five.formula.yaml (Jeffrey's Rule expansion macro) - security-audit.formula.yaml (AOP aspect) - shiny-enterprise.formula.yaml (composed example)
68 lines
1.6 KiB
YAML
68 lines
1.6 KiB
YAML
# shiny.formula.yaml
|
|
# Engineer in a Box - the canonical right way to do engineering
|
|
# Named for Mad Max: "Shiny and chrome!"
|
|
|
|
formula: shiny
|
|
description: |
|
|
The canonical engineering workflow. Design before you code.
|
|
Review before you ship. Test before you submit.
|
|
|
|
This is what "doing it right" looks like.
|
|
version: 1
|
|
|
|
vars:
|
|
feature: "{{feature}}" # What you're building
|
|
assignee: "{{assignee}}" # Who's doing the work
|
|
|
|
steps:
|
|
- id: design
|
|
description: |
|
|
Think carefully about architecture before writing code.
|
|
|
|
Consider:
|
|
- How does this fit into the existing system?
|
|
- What are the edge cases?
|
|
- What could go wrong?
|
|
- Is there a simpler approach?
|
|
|
|
Output a brief design doc or notes.
|
|
|
|
- id: implement
|
|
description: |
|
|
Write the code for {{feature}}.
|
|
|
|
Follow the design. Keep it simple. Don't gold-plate.
|
|
Write code that's easy to review.
|
|
needs: [design]
|
|
|
|
- id: review
|
|
description: |
|
|
Review the implementation.
|
|
|
|
Check for:
|
|
- Does it match the design?
|
|
- Are there obvious bugs?
|
|
- Is it readable and maintainable?
|
|
- Are there security concerns?
|
|
needs: [implement]
|
|
|
|
- id: test
|
|
description: |
|
|
Write and run tests.
|
|
|
|
- Unit tests for new code
|
|
- Integration tests if needed
|
|
- Run the full test suite
|
|
- Fix any regressions
|
|
needs: [review]
|
|
|
|
- id: submit
|
|
description: |
|
|
Submit for merge.
|
|
|
|
- Final check: git status, git diff
|
|
- Commit with clear message
|
|
- Push and create PR (or merge directly if crew)
|
|
- Notify relevant parties
|
|
needs: [test]
|