Before you start, make sure you have: a Linear or Jira workspace with API access, a GitHub App you control, Node.js 24.x, and model access for your selected agent. Codex uses a managed OpenAI profile; legacy Claude projects use their existing provider credentials. See Prerequisites for details on setting each one up.
1
Clone the repository
Clone AI-Implement and move into the project directory:
2
Configure your environment
Copy the example environment file and fill in your credentials:Open For the Codex path, also set these orchestrator values:
.env and set at minimum:- Linear
- Jira
See Create a Linear app if you haven’t created one yet.
A GitHub-hosted job cannot call back to
localhost. Expose your local orchestrator through a reachable HTTPS URL, or deploy a persistent orchestrator. Planning refuses dispatch without the callback URL and secret.These settings are optional for a first run:3
Add required secrets to the target repo
In the target repo’s Settings → Secrets and variables → Actions, add these org or repo secrets:
These GitHub App secrets are shared by both agent paths.For a legacy Claude project, also add
ANTHROPIC_API_KEY, or use CLAUDE_CODE_OAUTH_TOKEN (which takes precedence). Bedrock has its own setup.For an all-Codex configured project, skip the Anthropic secrets. You will add the managed OpenAI credential after creating the project mapping.See Environment variables for AI-Implement for more detailed information on each variable.4
Install the GitHub App on the target repo
In your GitHub App settings, install the app on the target repository. This gives the orchestrator permission to dispatch workflows and the workflow permission to push branches and open PRs.
5
Install dependencies and start the orchestrator
Install packages and start the development server:The orchestrator starts polling for new issues and serving HTTP on port 8080. You should see log output confirming both.
6
Create a project mapping in the admin UI
Open the admin UI at http://localhost:8080/admin and enter your Choose GitHub Actions as the runner for this Codex path. Complete the remaining project fields, then click Create project. Stage settings are added after the project exists.
ADMIN_ACCESS_CODE.Click Configure → Projects → + New project to open the stepper. Fill in the ticketing and source fields first.- Linear
- Jira
- Ticketing System —
Linear - Ticketing Config → Linear Team Key — your Linear team’s identifier (e.g.
ENG) - Source → GitHub Owner — the GitHub org or user (e.g.
your-org) - Source → Repository Name — the repository name (e.g.
your-repo) - Source → Default Branch — the repo’s primary branch (e.g.
main). Must match the repo exactly.
7
Review and merge the workflow pull request
Creating the project mapping opens a pull request in your target repo containing
claude-implement.yml, claude-plan.yml, and starter WORKFLOW.md and PLANNING.md files.Merge it before continuing — the workflows have to be on the default branch for AI-Implement to dispatch them.Check that the runner image supports Codex. For an existing project, use Sync workflows and merge the update before continuing.The workflows open pull requests using the GitHub App credentials. The Allow GitHub Actions to create and approve pull requests setting is not required.8
Add your OpenAI account
To use Codex, open Models & providers as an administrator. Create a Codex account profile, permit it for the new project, then set an OpenAI API key or connect your own ChatGPT plan. Follow that guide’s readiness checks before continuing.Skip this step and the next if you are keeping the project on legacy Claude behavior.
9
Choose the agents and opt the project in
Follow Agent settings per stage to fill Orchestrator stage defaults, then set Settings → Orchestrator Agent Defaults → Defaults mode to
configured.For an all-Codex setup, select codex, openai, an available model, the permitted OpenAI profile, and an elapsed timeout for all three stages. Setting defaults does not enroll a project.On Projects, open Edit → Agents for the saved project. Check the effective values, select Opt in to stage agent configuration, and click Save agent settings. If readiness refuses the save, use the troubleshooting guide.10
Create the trigger in your ticketing system
- Linear
- Jira
Follow Prepare the Linear labels before your first run. Create the pickup label (
AI-Implement by default) and the workspace-level Ready for Review label. AI-Implement creates the other lifecycle labels automatically.11
Mark an issue and watch the PR appear
- Linear
- Jira
In your Linear workspace, open any issue in the team you mapped and add the
AI-Implement label.WORKFLOW.md and changes the code; the pipeline pushes the branch and opens a PR.When the run finishes, the issue is marked ready for review (Linear: Ready for Review label; Jira: AI-Implement Status = PR Ready), and the PR has an automated review comment on its merge readiness.12
Verify the agent and result
Check the run evidence, including Reports → Agent attribution, the PR’s harness/model/provider footer, and the review outcome. Saved defaults alone do not prove which agent ran.The attribution card shows the latest invocation per job, not whole-job token or cost totals. An unavailable cost does not mean the run was free.
Next steps
Now that you have a working end-to-end flow, here is where you can go next.Deploy the orchestrator
Move off your machine to a persistent Fly.io app.
Customize WORKFLOW.md
Give the selected agent repo-specific instructions. Choose configured models in stage settings.
Enable planning
Have the planning agent post its implementation map, acceptance bar, and risks before implementation.
Project mappings
Connect additional projects to repos, and tune how each one dispatches.
Admin sign-in
Per-person sign-in in place of a shared access code.