Skip to main content

CLI tool for executing automated workflows across Imbi projects with AI-powered transformations and GitHub PR integration.

Project description

Imbi Automations CLI

Tests Docker Build PyPI Version Docker Hub GHCR

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.toml for 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imbi_automations-1.0.0b9.tar.gz (397.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imbi_automations-1.0.0b9-py3-none-any.whl (127.5 kB view details)

Uploaded Python 3

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

Hashes for imbi_automations-1.0.0b9.tar.gz
Algorithm Hash digest
SHA256 30f74490841ce4ef2e4ad3f454cd0286c8a7b6d6dd09be2a576d51a9dd893b0c
MD5 be7ca6eae887d00f65a0b9c19710553d
BLAKE2b-256 15d364cc88430d2ce3bd8820bbd49e7000a1ca9a85ab98acb206449599dbdaaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for imbi_automations-1.0.0b9.tar.gz:

Publisher: publish.yml on AWeber-Imbi/imbi-automations

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file imbi_automations-1.0.0b9-py3-none-any.whl.

File metadata

File hashes

Hashes for imbi_automations-1.0.0b9-py3-none-any.whl
Algorithm Hash digest
SHA256 de7662ce69cf6305c365840e0dbf708ee3fd74ef5c05ce917d43b721a27fe00d
MD5 e4d610e6241230d613738b588b72840a
BLAKE2b-256 5a632e496759a6ce2662fda0b97c4c88e8ea4eeb491b0cd43ddb442d90da7283

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page