Experimental multi-agent developer pipeline
Project description
Agentic Developer Framework
An experimental multi-agent developer workflow packaged as forge.
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
- A CLI entry point:
forge run - 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 run "build a todo app with auth and SQLite"
# Fix mode
forge run --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 run "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=anthropicFORGE_PROVIDER=openaiFORGE_PROVIDER=ollamaFORGE_PROVIDER=mock
The mock provider is used in the fixture-based end-to-end tests and reads its
responses from FORGE_MOCK_RESPONSES.
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
Publishworkflow manually, or - push a version tag like
v0.1.0
See WALKTHROUGH.md
for a sample end-to-end run.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file forge_agents-0.1.0.tar.gz.
File metadata
- Download URL: forge_agents-0.1.0.tar.gz
- Upload date:
- Size: 27.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb2b58a1aa7ff79e1024bc7bebc8a9bf079a162ac11d62cb01c5324f378cf4e5
|
|
| MD5 |
5c0280297c0bb02c356964fe2cbe53f4
|
|
| BLAKE2b-256 |
4cf3b6d109d5fb213e17c8af254644465eba7cc010bea015c9d3e7314644bee6
|
File details
Details for the file forge_agents-0.1.0-py3-none-any.whl.
File metadata
- Download URL: forge_agents-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae5c47463be13c1840f09725d629a302cfb5faf030721e5bb16eaa7fb105975e
|
|
| MD5 |
81af8e933bf003981b94f2adb1cd7eb6
|
|
| BLAKE2b-256 |
ea0dc6a26721d10e095ee5d3ed8a2967a7f93ef98c3e6b9737232d7619bf9091
|