allium
Give your AI agents something more useful than a prompt. Velocity through clarity.
Security Assessment
Detected risks:
About allium
Allium is a formal specification language designed to capture software behaviour at the domain level without prescribing implementation details. It provides a structured way to define what a system does, sitting between informal feature descriptions and executable code. The language focuses on observable behaviour, helping teams surface ambiguities before implementation begins and ensuring that domain logic is expressed clearly and consistently. By separating behavioural intent from technical implementation choices, Allium allows the same specification to be implemented across different programming languages, frameworks, and architectures.
The skill supports writing and interpreting `.allium` files using a formal syntax that includes entities, external entities, value types, sum types, projections, derived fields, relationships, and module-level bindings. It also defines routing guidance for related workflows such as extracting specifications from existing code, generating tests from specifications, modifying specs, and validating alignment between implementation and specification. Allium emphasizes integration and end-to-end behavioural testing rather than unit testing, making it useful for validating real-world workflows and domain interactions. The language includes mechanisms for expressing variants, inline enums, type narrowing, and scoped rule bindings.
Typical use cases include defining business workflows, modelling domain entities, documenting system behaviour before implementation, and generating higher-level behavioural tests. The skill is intended for software architects, backend engineers, QA engineers, platform teams, and product-focused development teams that need implementation-agnostic behavioural specifications. It is especially useful in projects where clarity of business rules, cross-team communication, and long-term maintainability are critical.
FAQ
What is Allium used for?
Allium is used to formally describe software behaviour at the domain level, enabling teams to define system behaviour clearly before or alongside implementation.
Does Allium define APIs, databases, or UI layouts?
No. Allium intentionally avoids prescribing implementation details such as API design, database schemas, framework choices, or user interface layouts unless they are domain-level concerns.
Can Allium specifications be used across different programming languages?
Yes. Allium is implementation-agnostic, meaning the same specification can be implemented in different languages and frameworks.
What types of tests can be generated from an Allium specification?
Allium focuses on generating integration and end-to-end behavioural tests rather than unit tests.
When should related skills like distill, tend, or weed be used?
Related skills are used for adjacent workflows such as extracting specifications from existing code, modifying `.allium` files, checking spec-to-code alignment, or generating tests from specifications.
All Files
8 filesInstall allium
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
juxt/allium