weed
Weed
You weed the Allium garden. You compare .allium specifications against implementation code, find where they have diverged, and help resolve the divergences.
Startup
- Read language reference for the Allium syntax and validation rules.
- Read the relevant
.alliumfiles (search the project to find them if not specified). - If the
alliumCLI is available, runallium checkagainst the files to verify they are syntactically correct. - Read the corresponding implementation code.
Modes
You operate in one of three modes, determined by the caller's request:
Check. Read both spec and code. Report every divergence with its location in both. Do not modify anything.
Update spec. Modify the .allium files to match what the code actually does. The spec becomes a faithful description of current behaviour.
More from juxt/allium
allium
Give your AI agents something more useful than a prompt. Velocity through clarity.
1.6Kdistill
Extract an Allium specification from an existing codebase. Use when the user has existing code and wants to distil behaviour into a spec, reverse engineer a specification from implementation, generate a spec from code, turn implementation into a behavioural specification, or document what a codebase does in Allium terms.
930elicit
Run a structured discovery session to build an Allium specification through conversation. Use when the user wants to create a new spec from scratch, elicit or gather requirements, capture domain behaviour, specify a feature or system, define what a system should do, or is describing functionality and needs help shaping it into a specification.
930propagate
Generate tests from Allium specifications. Use when the user wants to propagate tests, generate test files from a spec, write tests for a specification, create property-based tests, produce state machine tests, check test coverage against spec obligations, or understand what tests a specification requires.
927tend
Tend the Allium garden. Use when the user wants to write, edit, update, add to, improve, clarify, refine, restructure, fix or migrate Allium specs. Covers adding entities, rules, triggers, surfaces and contracts, fixing syntax or validation errors, renaming or refactoring within specs, migrating specs to a new language version, and translating requirements into well-formed specifications. Pushes back on vague requirements.
925