Skip to main content

AI-powered development workflow automation

Project description

Smelt

Raw task in, refined code out.

Smelt is a CLI tool that drives AI coding agents through your project roadmap step by step. Define your steps, run smelt next, and let your agent do the work.


How it works

Smelt reads your roadmap from a local SQLite database, picks the next uncompleted step, builds context from your architecture and decision docs, and hands it off to an AI agent. When the agent finishes, you mark the step done and move on.

smelt next          # run the next uncompleted step
smelt status        # show all steps and their state
smelt add "..."     # add a new step to the roadmap
smelt done <id>     # manually mark a step as complete

Requirements

  • Python 3.12+
  • Aider installed and available in PATH
pip install aider-chat

Installation

uv tool install smelt

Or if you prefer pip:

pip install smelt

Getting started

Initialize a roadmap in your project:

cd your-project
smelt init

Add your first steps:

smelt add "Set up database models"
smelt add "Implement authentication"
smelt add "Write API endpoints"

Run the next step:

smelt next

Smelt will pass the step to Aider along with any context files it finds in your memory/ directory. Review the changes, then mark it done when you're happy:

smelt done

Context files

Smelt looks for the following files in a memory/ directory at your project root and passes them to the agent as read-only context:

File Purpose
ARCHITECTURE.md High-level system design
DECISIONS.md Key decisions and their rationale
PROGRESS.md Current state of the project

None of these are required. Smelt works without them, but the agent produces better output when it has context.


Configuration

Smelt is configured via environment variables:

Variable Default Description
SMELT_MODEL anthropic/claude-sonnet-4-5 Model passed to Aider
SMELT_PROJECT . Path to your project root

Copy .env.example to .env and adjust as needed.


Using a different agent

Aider is the default agent but Smelt is built with an adapter interface. You can implement your own:

from smelt.agents.base import Agent

class MyAgent(Agent):
    def run(self, message: str, context_files: list[str]) -> bool:
        # your implementation
        ...

Development

git clone https://github.com/yourname/smelt
cd smelt
uv sync
uv run pytest
make lint      # ruff check + fix
make format    # ruff format
make test      # pytest
make check     # all of the above

License

MIT

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

smeltworkflow-0.1.1.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

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

smeltworkflow-0.1.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file smeltworkflow-0.1.1.tar.gz.

File metadata

  • Download URL: smeltworkflow-0.1.1.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for smeltworkflow-0.1.1.tar.gz
Algorithm Hash digest
SHA256 94556305bccd2e13a1b60939bc07a138f643e9f7d9f4babc66d4ce328f0603d5
MD5 a7e479800633eafb70c9737f18e3905f
BLAKE2b-256 4e913a8628d2fadaa94293f7290fb628713f65e9efa2cbb758ec5093f78cbaae

See more details on using hashes here.

File details

Details for the file smeltworkflow-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: smeltworkflow-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for smeltworkflow-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 49c10724ebb94b2ffd56f228a122d54dea76498a752e0831e17f4cb675caef7f
MD5 e066979b1adaa11eaf70264f78721856
BLAKE2b-256 3a6743a8e2851752a2379063944a0eccccff52a4d18f6a6c7095a7294cc78756

See more details on using hashes here.

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