Skip to content

Task automation and project templating tool. Define reusable commands in Python, scaffold projects from templates, and let tasks travel with your codebase. Rust core, Python API.

Notifications You must be signed in to change notification settings

angreal/angreal

Repository files navigation

Angreal

image PyPI - Downloads image Angreal Tests Angreal Docs Deploy

Docs are available here.

Angreal is meant to:

  • allow the consistent creation of projects
  • provide consistent methods for interacting with projects

Quick Start

  1. Install via pip
  2. Initialize a project from a template
  3. Use the template
$: pip install 'angreal' #pip install angreal will also work
$: angreal init https://github.com/angreal/python

What is it?

Angreal is an attempt to solve two problems that I was running into in both my personal and professional life as a data scientist and software developer. I do things often enough that they needed automation, I don't do things so often that I remember all of the steps/commands I might need to get them done. Angreal solves this problem by allowing me to remember by forgetting : I only have to remember the command to do something not the actual steps to complete the task.

How does it solve these challenges ?

Angreal provides a way to template the structure of projects and a way of executing methods for interacting with that project in a consistent manner. These methods (called tasks) travel with the project so while templated initially, they're customizable to the project - allowing some level of flexibility in how a task functions between projects.

AI Assistant Integration

Angreal provides a Claude Code skill plugin that teaches Claude how to discover and work with your project's tasks.

Setup with Claude Code

# Install the Angreal skill plugin
/plugin marketplace add angreal/angreal
/plugin install angreal@angreal-angreal

The skill auto-activates in angreal projects and teaches Claude:

  • How to discover tasks with angreal tree
  • When and why to use each task (via angreal tree --long)
  • How to author new tasks with @angreal.command decorators

Why 2.0 ?

The original angreal was built on top of a number of python modules that were under active development and used by a number of other projects. The nature of the application itself meant that core application found itself in dependency hell regularly - and became rather annoying to use. The 2.0.0 release is a complete rewrite that uses Rust to provide a compiled binary with the goal that it will require no external python dependencies.

About

Task automation and project templating tool. Define reusable commands in Python, scaffold projects from templates, and let tasks travel with your codebase. Rust core, Python API.

Topics

Resources

Stars

Watchers

Forks

Contributors 6