Allium is an LLM native specification language by JUXT, a London software consultancy with Clojure roots. A .allium file sits beside the code and captures observable behaviour as entities and rules: each rule has a when trigger, requires preconditions and ensures outcomes. It has no compiler and no runtime; the language is deliberately descriptive, and the LLM acts as the compiler from intent to implementation. MIT licensed. Site Repository
The pitch targets the two known failure modes of agentic coding: meaning drift within a long session, and knowledge evaporating between sessions. Because behaviour is written as structure rather than prose, contradictions surface mechanically (two rules with incompatible preconditions) instead of relying on a clever model noticing them. The maintainers argue the parallel spec is not a single source of truth violation: code mixes intentional and accidental behaviour with no way to tell them apart, so the gap between spec and code is information, the same argument that justifies type systems and tests. Why not markdown
Distribution is agent skills, not a plugin lock-in: six workflows (/allium entry point, /elicit forward from intent, /distill backward from existing code, /propagate generates tests from the spec, /tend edits specs, /weed reconciles spec code divergence) plus autonomous tend and weed agents. Any harness that reads Anthropic style skills or AGENTS.md runs them; Claude Code is the reference harness and the only one with all four layers (skills, subagents, post edit verification hooks, LSP). A companion Rust CLI (allium-cli via brew or crates.io) does what language models cannot do reliably: trace data flow across rules, verify every entity lifecycle can reach a terminal state, spot dead ends, and generate tests. An allium-lsp language server adds hover, go to definition and inline errors. CLI tools Harness matrix
The working loop is gather context (elicit or distill), act (propagate tests, implement against them), verify (tests plus /weed plus CLI checks), repeat until spec, tests and code agree. A generated test that is already green is treated as vacuous; convergence is the exit condition, not green unit tests. Recommended loops
It is early and moving fast: 477 stars and 131 commits on the main repo, the language is at v3 with two migration guides already shipped, and the tools repo has 290 commits against 26 stars. Governance is unusual for a young project: a nine member review panel debates every language change across named priorities, with a bias against adding features. The team publishes its own examples of the spec catching what a capable model would have silently worked around, such as a password reset path that would have bypassed an admin approval flow. Language governance