Forge is ManticScore’s agentic coding automation. You describe what you want built in plain language, point it at a GitHub repository, and Forge handles the rest: it reads the codebase, plans the changes, writes the code, validates its own work, and opens a pull request. You control how much autonomy it has — from analysis-only to fully automatic PR creation — and you can monitor every step in real time through the event stream.Documentation Index
Fetch the complete documentation index at: https://docs.manticscore.com/llms.txt
Use this file to discover all available pages before exploring further.
Forge requires a connected GitHub account. Start the OAuth flow at
POST /auth/github/start before submitting tasks.Run modes
Choose the mode that matches how much automation you want:| Mode | What Forge does |
|---|---|
analyze_only | Reads the codebase and produces a plan. No code is written. |
generate_patch | Writes code edits but does not open a pull request. |
autonomous | Writes code and pauses for your approval before creating the PR. |
create_pr | Writes code and creates the pull request automatically, without confirmation. |
Run lifecycle
A Forge run moves through these statuses in order:awaiting_approval step only appears in autonomous mode. In create_pr mode the run goes directly from validating to creating_pr.
Submitting a task
Connect GitHub
If you haven’t already, start the GitHub OAuth flow:Open the returned
curl
auth_url in a browser to complete authorization.Submit the Forge task
Describe the coding task in plain language and specify the target repository.Response 201:
Natural language description of the coding task. Up to 5,000 characters.
The GitHub repository to work in, in
owner/name format.Run mode:
analyze_only, generate_patch, autonomous, or create_pr.UUID of an existing ManticScore project. Pass
null to leave unattached.Optional list of constraints the AI should follow, e.g.
["Do not modify existing tests", "Use the existing logger utility"].Streaming run events
The stream follows the NDJSON v1 protocol.| Event | Description |
|---|---|
stream_start | Stream confirmed open |
plan | Forge’s analysis plan for the task |
diff | Code changes produced during the editing phase |
status_change | Run moved to a new status (e.g. planning → editing) |
tool_call_failed | A specific tool call failed; includes the tool name and error message |
error | Non-retryable run failure |
done | Stream closed |
When a tool call fails, Forge emits a
tool_call_failed event with the specific tool name and error before surfacing a generic failure. This makes it easier to diagnose integration issues.Approving or rejecting a run (autonomous mode)
When a run inautonomous mode reaches awaiting_approval, you review the plan and diff before the PR is created.
Approve — create the PR:
curl
curl
curl
curl
Fetching run details and PR info
List all runs
curl
Get a specific run
curl
steps array and an optional pull_request object once the PR has been created.
Get pull request details
curl
Using Forge from a build node
If you have a Build Graph, you can kick off a Forge run directly from any node. ManticScore uses the node’s generated spec as the coding prompt:curl
notes, ManticScore refines the node’s spec with your direction before passing it to Forge.
Limits and credits
| Value | |
|---|---|
| Rate limit | 10 requests / minute (task submission) |
| Retry rate limit | 5 requests / minute |
| Credit cost | 2 credits per run |