CLI tool for executing automated workflows across Imbi projects with AI-powered transformations and GitHub PR integration.
Project description
Imbi Automations CLI
CLI tool for executing automated workflows across Imbi projects with AI-powered transformations and GitHub PR integration.
Overview
Imbi Automations is a comprehensive CLI framework that enables bulk automation across software project repositories with deep integration to the Imbi project management system. The tool supports multiple workflow types with advanced filtering, conditional execution, and AI-powered transformations.
Key Features
- GitHub Integration: GitHub API integration with comprehensive repository operations
- Workflow Engine: Action-based processing with conditional execution
- AI Integration: Claude Code SDK for intelligent transformations
- Batch Processing: Concurrent processing with resumption capabilities
- Template System: Jinja2-based file generation with full project context
- Advanced Filtering: Target specific project subsets with multiple criteria
Action Types
- Callable Actions: Direct method calls on client instances
- Claude Code: Comprehensive AI-powered code transformations
- Docker Operations: Container-based file extraction and manipulation
- Git Operations: Version control operations and branch management
- File Actions: Copy, move, delete, and regex replacement operations
- Shell Commands: Execute arbitrary commands with template variables
- Template System: Generate files from Jinja2 templates
Documentation
Documentation is available at https://aweber-imbi.github.io/imbi-automations/.
Quick Start
# Run workflows
# Note: Each workflow directory should contain workflow.toml (or config.toml for backward compatibility)
imbi-automations config.toml workflows/workflow-name --all-projects
# Resume from a specific project
imbi-automations config.toml workflows/workflow-name --all-projects --start-from-project my-project-slug
# Run using Docker:
```bash
docker run --rm \
-v $(pwd)/config.toml:/config/config.toml:ro \
-v $(pwd)/workflows:/workflows:ro \
-v ~/.ssh:/root/.ssh:ro \
-v imbi-cache:/cache \
aweber/imbi-automations:latest /config/config.toml /workflows/my-workflow --all-projects
Installation
Using uv
uv tool install imbi-automations
uv tool run imbi-automations config.toml workflows/my-workflow --all-projects
From PyPI
pip install imbi-automations
imbi-automations config.toml workflows/my-workflow --all-projects
Docker Installation
Pre-built multi-architecture images are automatically published to both Docker Hub and GitHub Container Registry on every release:
# Pull from Docker Hub (recommended)
docker pull aweber/imbi-automations:latest
# Or pull from GitHub Container Registry
docker pull ghcr.io/aweber-imbi/imbi-automations:latest
# Or use a specific version
docker pull aweber/imbi-automations:1.0.0
docker pull ghcr.io/aweber-imbi/imbi-automations:1.0.0
# Run with docker-compose (recommended)
docker-compose run --rm aweber/imbi-automations /config/config.toml /workflows/my-workflow --all-projects
# Or run directly with docker (Docker Hub)
docker run --rm \
-v $(pwd)/config.toml:/config/config.toml:ro \
-v $(pwd)/workflows:/workflows:ro \
-v ~/.ssh:/root/.ssh:ro \
-v imbi-cache:/cache \
aweber/imbi-automations:latest /config/config.toml /workflows/my-workflow --all-projects
# Or run with GHCR
docker run --rm \
-v $(pwd)/config.toml:/config/config.toml:ro \
-v $(pwd)/workflows:/workflows:ro \
-v ~/.ssh:/root/.ssh:ro \
-v imbi-cache:/cache \
ghcr.io/aweber-imbi/imbi-automations:latest /config/config.toml /workflows/my-workflow --all-projects
Build from source:
docker build -t imbi-automations:latest .
Docker Volume Mounts:
/config/config.toml- Configuration file (read-only recommended)/workflows- Workflows directory (read-only recommended)/cache- Metadata cache directory (persistent)/workspace- Temporary working directory for repo clones/root/.ssh- SSH keys for git operations (read-only)/root/.gnupg- GPG keys for commit signing (optional, read-only)
Important Notes:
- Claude Code in containers may have limitations with interactive features
- Ensure SSH keys have proper permissions (0600) when mounting
- API keys should be in
config.tomlfor security - Use named volumes for cache to improve performance across runs
Development Setup
git clone https://github.com/AWeber-Imbi/imbi-automations.git
cd imbi-automations
uv sync --all-groups --all-extras --frozen
uv run pre-commit install --install-hooks
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file imbi_automations-1.0.0b9.tar.gz.
File metadata
- Download URL: imbi_automations-1.0.0b9.tar.gz
- Upload date:
- Size: 397.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30f74490841ce4ef2e4ad3f454cd0286c8a7b6d6dd09be2a576d51a9dd893b0c
|
|
| MD5 |
be7ca6eae887d00f65a0b9c19710553d
|
|
| BLAKE2b-256 |
15d364cc88430d2ce3bd8820bbd49e7000a1ca9a85ab98acb206449599dbdaaa
|
Provenance
The following attestation bundles were made for imbi_automations-1.0.0b9.tar.gz:
Publisher:
publish.yml on AWeber-Imbi/imbi-automations
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
imbi_automations-1.0.0b9.tar.gz -
Subject digest:
30f74490841ce4ef2e4ad3f454cd0286c8a7b6d6dd09be2a576d51a9dd893b0c - Sigstore transparency entry: 1311382967
- Sigstore integration time:
-
Permalink:
AWeber-Imbi/imbi-automations@bd98634c8cee0a378425aaad7eb3d146e202e772 -
Branch / Tag:
refs/tags/v1.0.0-b9 - Owner: https://github.com/AWeber-Imbi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bd98634c8cee0a378425aaad7eb3d146e202e772 -
Trigger Event:
release
-
Statement type:
File details
Details for the file imbi_automations-1.0.0b9-py3-none-any.whl.
File metadata
- Download URL: imbi_automations-1.0.0b9-py3-none-any.whl
- Upload date:
- Size: 127.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de7662ce69cf6305c365840e0dbf708ee3fd74ef5c05ce917d43b721a27fe00d
|
|
| MD5 |
e4d610e6241230d613738b588b72840a
|
|
| BLAKE2b-256 |
5a632e496759a6ce2662fda0b97c4c88e8ea4eeb491b0cd43ddb442d90da7283
|
Provenance
The following attestation bundles were made for imbi_automations-1.0.0b9-py3-none-any.whl:
Publisher:
publish.yml on AWeber-Imbi/imbi-automations
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
imbi_automations-1.0.0b9-py3-none-any.whl -
Subject digest:
de7662ce69cf6305c365840e0dbf708ee3fd74ef5c05ce917d43b721a27fe00d - Sigstore transparency entry: 1311383073
- Sigstore integration time:
-
Permalink:
AWeber-Imbi/imbi-automations@bd98634c8cee0a378425aaad7eb3d146e202e772 -
Branch / Tag:
refs/tags/v1.0.0-b9 - Owner: https://github.com/AWeber-Imbi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bd98634c8cee0a378425aaad7eb3d146e202e772 -
Trigger Event:
release
-
Statement type: