Advanced multi-agent orchestrator for OpenCode
Project description
FrankCode
Advanced multi-agent orchestrator for OpenCode.
FrankCode acts as a wrapper and orchestration layer around OpenCode, managing specialized agent setups, safety plugins, verification passes, and environment configurations to accomplish complex development tasks safely and robustly.
Requirements
Before installing FrankCode, ensure you have the following prerequisites installed on your system:
- Python:
>= 3.10 - Node.js & npm: Required to install OpenCode plugins and manage the environment dynamically. FrankCode will attempt to automatically resolve Node via
nvmif available. - OpenCode: Make sure the
opencodeCLI is installed and available in yourPATH.
Installation
You can install FrankCode directly via pip:
pip install frankcode
Alternatively, to run from source:
git clone https://github.com/joeyism/frankcode.git
cd frankcode
pip install -e .
Usage
FrankCode provides a simple CLI. To execute a task using the default multi-agent orchestrator:
frankcode "Create a new React component that fetches data from an API and displays it in a table"
Options
--model: Specify the LLM model to use (default:google/gemini-3.1-pro-preview).--verbose,-v: Show debug logs.--no-verify: Disable the autonomous verification and fix passes.--clean: Wipe the.frankcodeexecution environment before starting.
Example:
frankcode "Refactor the auth logic to use JWT" --model openai/gpt-5.4 --verbose
How It Works
- Environment Setup: FrankCode creates an isolated
.frankcodedirectory to store logs, quarantine artifacts, and install specific OpenCode plugins dynamically. - Execution: Your prompt is passed into an enhanced OpenCode session. FrankCode actively monitors the process for infinite error loops or idle timeouts.
- Verification Loop (Optional but enabled by default): After the main task completes, an adversarial validation agent reads the outputs and devises independent tests. If the tests fail, FrankCode triggers a "fix pass" and repeats the verification.
- Cleanup: Temporary artifacts generated during agent reasoning are quarantined.
License
MIT License. See LICENSE for details.
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 frankcode-0.1.0.tar.gz.
File metadata
- Download URL: frankcode-0.1.0.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee31d2eea5c19393710c76079a536e95acbfead0fc70a12a1c2b775e476c3ecf
|
|
| MD5 |
24bb32c667aeb1a8ac37f6b3a84712ab
|
|
| BLAKE2b-256 |
7edccc16fdc918d3a705751e43d058869894c60bb2ca771255d66b0e9764e2ad
|
Provenance
The following attestation bundles were made for frankcode-0.1.0.tar.gz:
Publisher:
publish.yml on joeyism/frankcode
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
frankcode-0.1.0.tar.gz -
Subject digest:
ee31d2eea5c19393710c76079a536e95acbfead0fc70a12a1c2b775e476c3ecf - Sigstore transparency entry: 1798602511
- Sigstore integration time:
-
Permalink:
joeyism/frankcode@df79fb0ba28dee8e528ee4a17f89bce06b64a3cf -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/joeyism
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@df79fb0ba28dee8e528ee4a17f89bce06b64a3cf -
Trigger Event:
push
-
Statement type:
File details
Details for the file frankcode-0.1.0-py3-none-any.whl.
File metadata
- Download URL: frankcode-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cedf2662a89e21dd9ed398df1db849934712074a27dd46d811d989de3deb048
|
|
| MD5 |
ae1b08d4c9c6ad8a4230e04a4bf25771
|
|
| BLAKE2b-256 |
f235af783fecc7f415e970f6598c860b65ae27e9c367cef7a46c63256a70b564
|
Provenance
The following attestation bundles were made for frankcode-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on joeyism/frankcode
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
frankcode-0.1.0-py3-none-any.whl -
Subject digest:
4cedf2662a89e21dd9ed398df1db849934712074a27dd46d811d989de3deb048 - Sigstore transparency entry: 1798602643
- Sigstore integration time:
-
Permalink:
joeyism/frankcode@df79fb0ba28dee8e528ee4a17f89bce06b64a3cf -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/joeyism
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@df79fb0ba28dee8e528ee4a17f89bce06b64a3cf -
Trigger Event:
push
-
Statement type: