Skip to main content

AI-powered Makefile command execution

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.11+ 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.

🚀 Getting Started

Prerequisites

  • Python 3.11+
  • 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.1

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 "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 to pass your command as a string argument:

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

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

# Ask a question
automake "what is the capital of nepal?"

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

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

Interactive Model Selection

Easily select your preferred Ollama model:

automake config model

This command opens an interactive menu to choose from your locally downloaded models or search for new ones online.

View and Modify Configuration

  • View current config: automake config show
  • Edit manually: automake config edit
  • Reset to defaults: automake config reset

Important: After changing the model (manually or via the interactive menu), you must run automake init to download the new model if it's not already available locally.

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 "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.1.tar.gz (605.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.1-py3-none-any.whl (63.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: automake_cli-0.4.1.tar.gz
  • Upload date:
  • Size: 605.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.1.tar.gz
Algorithm Hash digest
SHA256 0847184b48736599c702e272f817afe72bcb9127b40924ec8de9ec7ac3976e8a
MD5 38bee65d9997b170dde448c9639d730f
BLAKE2b-256 149a99005828aa582bb5f778735bf6fa5d0228255bd2995ee969db8a4164274d

See more details on using hashes here.

Provenance

The following attestation bundles were made for automake_cli-0.4.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: automake_cli-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 63.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 593d63e76e3057f1c81e2dfd7735d464f34d70f29ae6a358ccb7d52489eccc98
MD5 44b6f5bd192530a3cf49c7769929f788
BLAKE2b-256 744e4ef4623004ea6d3fb91bdfa3f69c57e85f85913d9715e8341e1d2f07d489

See more details on using hashes here.

Provenance

The following attestation bundles were made for automake_cli-0.4.1-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