Skip to main content

The AI-native shell that turns natural language into actions.

Project description

🤖 automake: Your AI Command-Line Assistant

The AI-native shell that turns natural language into actions.

Latest Version Changelog License: Apache 2.0 GitHub Build Status codecov PyPI version

Python 3.13+ pre-commit Code style: ruff tested with pytest


AutoMake Help Command


automake is a Python-based, agent-first command-line tool that uses a powerful multi-agent system to interpret your natural language commands and execute them.

Forget remembering complex flags or exact Makefile targets. Just tell automake what you want to do.

✨ Key Features

  • AI-Native Commands: Run terminal commands, execute Makefile targets, and perform other tasks using plain English.
  • Multi-Agent System: A sophisticated ManagerAgent orchestrates a team of specialists (Terminal, Coding, Web, Makefile) to get the job done right.
  • Interactive Agent Mode: Launch a chat session with automake agent for complex, multi-step tasks.
  • Local First: Integrates with local LLMs via Ollama for privacy and offline access.
  • Intelligent Error Handling: If you make a typo, the agent will analyze the error and suggest a correction.
  • User-Friendly & Configurable: A clean CLI and a simple config.toml file for all your settings.

⚙️ How It Works

automake puts an AI agent at the heart of your command line, following a modern, agentic workflow:

  1. Parse Prompt: The CLI captures your natural language instruction (e.g., automake "list all python files").
  2. Invoke Agent: Your prompt is sent directly to a central Manager Agent.
  3. Reason & Delegate: The agent analyzes your request and decides which specialist is best for the job—the TerminalAgent for shell commands, the MakefileAgent for make targets, etc.
  4. Execute & Observe: The specialist agent executes the task, and the result is observed.
  5. Stream Output: The results are streamed directly to your terminal in real-time.

This entire workflow is triggered by the run command. For example: automake run "list all python files".

🚀 Getting Started

Prerequisites

  • Python 3.13+
  • uv (recommended for installation)
  • An active Ollama server with a running model (e.g., ollama run qwen3:0.6b).

Installation

There are several ways to install and run automake.

Recommended: uv tool install

For a permanent installation, we recommend using uv tool install. This makes the automake command available globally in a dedicated environment.

1. From Git (Bleeding Edge) Install the very latest version directly from this repository:

# Install the latest version from the main branch
uv tool install git+https://github.com/biokraft/auto-make.git

# You can also install a specific tag or branch
uv tool install git+https://github.com/biokraft/auto-make.git@v0.4.8

2. From PyPI (Stable) Install the latest stable release from PyPI:

uv tool install automake-cli

Temporary Execution: uvx

If you prefer not to install the tool, you can run it directly using uvx (similar to npx). This downloads and runs the package in a temporary environment.

uvx automake-cli run "your command here"

Traditional pip

You can also use pip for a standard installation:

pip install automake-cli

First-Time Setup

After installation, run the initialization command once to set up Ollama and download the required model:

automake init

This command will:

  • Verify that Ollama is installed and running.
  • Download the configured LLM model if not already available.
  • Ensure everything is ready for natural language command interpretation.

✍️ Usage

Non-Interactive Commands

The primary way to use automake is with the run command, passing your request as a string argument:

# Run a terminal command
automake run "recursively find all files named README.md"

# Execute a Makefile target
automake run "run the tests and generate a coverage report"

# Build the project
automake run "build the project"

Interactive Agent Session

For more complex tasks, start a chat with the agent:

automake agent

For detailed usage information and available options, run:

automake help

🛠️ Configuration

automake features a modern, user-friendly configuration system. On first run, it creates a config.toml file in your user configuration directory.

Setting the AI Model

Configure your preferred Ollama model:

# Set a specific model
automake config set ollama.model "qwen2.5:7b"

# After changing the model, initialize it
automake init

Important: After changing the model, you must run automake init to download and initialize the new model if it's not already available locally.

View and Modify Configuration

  • View current config: automake config show
  • Set specific values: automake config set <section.key> <value>
  • Edit manually: automake config edit
  • Reset to defaults: automake config reset

Common Configuration Examples

# Set the AI model
automake config set ollama.model "qwen3:8b"

# Set the Ollama server URL
automake config set ollama.base_url "http://localhost:11434"

# Set logging level
automake config set logging.level "DEBUG"

# Set AI interaction threshold
automake config set ai.interactive_threshold 90

Configuration Structure

Run automake config show to see the current configuration.

# Example from automake config show
[ollama]
base_url = "http://localhost:11434"
model = "qwen3:0.6b"

[logging]
level = "INFO"

[ai]
interactive_threshold = 80

🎬 Demos

Want to see some UI/UX demos? Just run uv run make demo-all or use automake: automake run "show all demos"

Note: Running demos with automake may cause animation display issues. For the best demo experience, use the direct uv run make demo-all command.

🗺️ Project Roadmap

For a detailed breakdown of the project roadmap, implementation phases, and technical specifications, see SPECS.md.

📜 Changelog

All notable changes to this project are documented in the CHANGELOG.md file.

📄 License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

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

automake_cli-0.4.8.tar.gz (278.6 kB view details)

Uploaded Source

Built Distribution

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

automake_cli-0.4.8-py3-none-any.whl (78.2 kB view details)

Uploaded Python 3

File details

Details for the file automake_cli-0.4.8.tar.gz.

File metadata

  • Download URL: automake_cli-0.4.8.tar.gz
  • Upload date:
  • Size: 278.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for automake_cli-0.4.8.tar.gz
Algorithm Hash digest
SHA256 1df1d58ae7a0f217c66dfbe73e24848c204100b7530cdcd973ab6542342946d6
MD5 632fe6641cef7469d0d78ca08d58b9d3
BLAKE2b-256 16979c9df95f7d8068b98cca38f7a2965bf4f6d933100d7f62c8a2e5427fcd26

See more details on using hashes here.

Provenance

The following attestation bundles were made for automake_cli-0.4.8.tar.gz:

Publisher: publish.yml on biokraft/auto-make

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

File details

Details for the file automake_cli-0.4.8-py3-none-any.whl.

File metadata

  • Download URL: automake_cli-0.4.8-py3-none-any.whl
  • Upload date:
  • Size: 78.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for automake_cli-0.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1373b0d7f934c394821c8ce7be56286349bbd99eaf5127c256a335c32cfc2051
MD5 fbb15817853ed20dd0b8dd405ddc1aec
BLAKE2b-256 655310cb57268fc9a98e63e569ab81a859669318cf281829934fc325a914155b

See more details on using hashes here.

Provenance

The following attestation bundles were made for automake_cli-0.4.8-py3-none-any.whl:

Publisher: publish.yml on biokraft/auto-make

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