Skip to main content

Experimental multi-agent developer pipeline

Project description

Agentic Developer Framework

An experimental multi-agent developer workflow packaged as forge.

Important: do not ship your personal API key inside the package or repository. If you embed your key in a public build, anyone who installs it can extract that key and use your paid model account.

The framework takes a single goal, turns it into a task graph, and then runs planning, coding, review, testing, fixing, and reporting steps in order. The control flow is deterministic Python, while the agents themselves are prompt driven.

What is included

  • CLI entry points: forge run, forge build, and forge fix
  • Agent roles for planning, coding, review, testing, fixing, and reporting
  • Isolated per-task workspaces for parallel-ready waves
  • Structured edit operations instead of prompt-only full-file rewrites
  • Provider adapters for Anthropic, OpenAI, Ollama, and mock testing
  • Hardened shell execution through an allowlist and no-shell subprocess policy
  • Project-level configuration through forge.yaml
  • Fixture-based tests plus GitHub Actions CI

Install

One-command install from PyPI

Once the package is published, the simplest install is:

pip install forge-agents

If the forge command is not on your shell path after install, use:

python -m forge.cli --help

One-command install from GitHub

If you want the latest repository version directly:

pip install git+https://github.com/SHivaKUmar212001/Agentic_developer_framework.git

Quick start on macOS and Linux

python -m venv .venv
source .venv/bin/activate
pip install forge-agents

export ANTHROPIC_API_KEY="sk-ant-..."
export FORGE_PROVIDER="anthropic"

# Build mode
forge build "build a todo app with auth and SQLite"

# Fix mode
forge fix ./my-repo --focus "the login endpoint returns 500"

Quick start on Windows PowerShell

py -m venv .venv
.venv\Scripts\Activate.ps1
pip install forge-agents

$env:FORGE_PROVIDER = "anthropic"
$env:ANTHROPIC_API_KEY = "sk-ant-..."

forge --help
forge build "build a todo app with auth and SQLite"

If forge is not found, run:

py -m forge.cli --help

Install from source

If someone wants to develop or modify the framework locally:

git clone https://github.com/SHivaKUmar212001/Agentic_developer_framework.git
cd Agentic_developer_framework
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Configuration

Copy forge.example.yaml to forge.yaml in the repo you want forge to work on, then adjust the flags you need.

You can also override the default model globally:

export FORGE_MODEL="claude-sonnet-4-20250514"
export FORGE_MAX_TOKENS="8192"

Provider options:

  • FORGE_PROVIDER=anthropic
  • FORGE_PROVIDER=openai
  • FORGE_PROVIDER=ollama
  • FORGE_PROVIDER=mock

The mock provider is used in the fixture-based end-to-end tests and reads its responses from FORGE_MOCK_RESPONSES.

Local-model architecture with Ollama

If you want the right local-first setup, keep the model on the user's machine with Ollama instead of shipping a shared cloud API key.

Recommended flow:

  1. Install Ollama on the local machine.
  2. Start the Ollama server.
  3. Pull a local model once.
  4. Point forge at Ollama.

macOS and Linux:

ollama serve
ollama pull llama3.1:8b

echo 'export FORGE_PROVIDER="ollama"' >> ~/.zshrc
echo 'export FORGE_MODEL="llama3.1:8b"' >> ~/.zshrc
source ~/.zshrc

forge build "create a dashboard to track my gym progress"

Windows PowerShell:

ollama serve
ollama pull llama3.1:8b

Add-Content $PROFILE '$env:FORGE_PROVIDER = "ollama"'
Add-Content $PROFILE '$env:FORGE_MODEL = "llama3.1:8b"'
. $PROFILE

forge build "create a dashboard to track my gym progress"

Why this architecture is better:

  • no shared cloud API key in the client package
  • users can run locally without exposing your billing account
  • setup is still one-time per machine
  • it can work offline once Ollama and the model are present

Persist your API key once on your own machine

For your own local use, set the provider and API key once in your shell profile so you do not have to re-enter them every time.

macOS and Linux with zsh:

echo 'export FORGE_PROVIDER="anthropic"' >> ~/.zshrc
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.zshrc
source ~/.zshrc

Windows PowerShell profile:

Add-Content $PROFILE '$env:FORGE_PROVIDER = "anthropic"'
Add-Content $PROFILE '$env:ANTHROPIC_API_KEY = "sk-ant-..."'
. $PROFILE

That removes repeated setup for you, but end users should still use their own key or a local provider such as Ollama.

Repository layout

forge/
  cli.py
  core/
    config.py
    llm.py
    orchestrator.py
    parallel.py
    state.py
  agents/
    base.py
    planner.py
    coder.py
    reviewer.py
    tester.py
    fixer.py
    reporter.py
tests/

Current limitations

  • Parallel tasks still rely on non-overlapping file edits. If two tasks touch the same file in a wave, the framework now detects that and fails the wave merge for safety.
  • Structured edit operations are safer than whole-file blobs, but they still depend on the model producing valid targeted replacements.
  • The shell policy is hardened, but it is still an allowlist, not a true OS sandbox.

Verification

  • Unit tests cover config loading, edit application, workspace diffs, shell allowlisting, and provider JSON parsing.
  • A realistic fix-mode fixture test runs the orchestrator end to end with the mock provider.
  • GitHub Actions runs the suite on every push and pull request.

Publishing

Build and validate the package locally:

python -m build
twine check dist/*

Publish to PyPI:

twine upload dist/*

Or publish from GitHub Actions after adding a repository secret named PYPI_API_TOKEN, then either:

  • run the Publish workflow manually, or
  • push a version tag like v0.1.1

See WALKTHROUGH.md for a sample end-to-end run.

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

forge_agents-0.1.1.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

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

forge_agents-0.1.1-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: forge_agents-0.1.1.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for forge_agents-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f4a4d21f79ed179e89d853f9b90c50af248e76213422d85ff7292664f0056004
MD5 03bc03e72d311ef708c6a482b8f48401
BLAKE2b-256 b9d34fc7b926873095ff7bda6b53403fe52f8d597edaec7a4c9bd7cb9e1e8bc2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: forge_agents-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 32.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for forge_agents-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a4a70727db74280a9fbd890dff3115c0262142cd5b4f6bd0fb26a5a6987e23b0
MD5 b544369a809254e355062200937ea639
BLAKE2b-256 e9e35491ee4e8c798aba53a908317b8ba1a72303f4bda69cb0bd6b3107bbb8ba

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