Angreal
Two problems show up constantly in day-to-day development: starting projects consistently, and remembering how to operate them once they exist. Angreal handles both. It templates the structure of a project so every new one starts the same way, and it carries a set of tasks alongside the project so the commands for working with it travel with the code rather than living in someone’s shell history. The idea is to remember by forgetting; you recall the command, not the dozen steps behind it.
Tasks are templated when a project is created but stay editable afterward, so two projects can share a task’s name and shape while differing in what it actually does. You define them in Python with a decorator and run them through the angreal CLI; angreal init lays down a project from a template, and angreal tree shows the tasks a project exposes.
Angreal 2.0 is a complete rewrite in Rust. The original leaned on a stack of fast-moving Python libraries and spent too much of its life in dependency conflicts; the rewrite ships as a compiled binary that still installs through pip but carries no external Python dependencies of its own. There is also a Claude Code skill plugin that teaches an agent to discover a project’s tasks and write new ones, so the conventions that help a person help a model too.
The name comes from fantasy literature, where an angreal is an object that lets its user safely draw on far more power than they could reach alone.
Angreal is open source under the GPL-3.0 license; install it with pip install angreal.
