Wire a repository for coding agents
Coding agents never receive GitHub credentials. A trusted broker (DevKit on your machine, or a hosted agent runner group) is the only component that talks to git remotes. This page is about getting the repository and Orkestia configuration ready before you open a delivery.
What "ready" means
Hosted delivery needs both:
- Orkestia platform — the repository is registered in your org, bound to GitHub through your org's app connection, and has an active delivery policy and execution profile.
- Repository manifest — the branch the runner will prepare (usually your default branch) contains the files your stack expects. For Python projects using
python-uv, that includes a committeduv.lockandorkestia.runner.json.
If either layer is incomplete, the coding session may fail before any edit happens, often with an environment or dependency preparation error. Fix the manifest on the branch the runner uses, then re-run your org's coding preflight.
Who does what
| Role | Typical tasks |
|---|---|
| Engineer | Open a bootstrap pull request: lockfile, orkestia.runner.json, tests or lint commands that match CI |
| Org administrator | Register the repo in Staff, connect the GitHub App, create delivery policy and execution profile, assign the coding runner group |
| Operator | Run Run a ticket end to end after preflight reports ready |
Until the in-product setup wizard is available, platform steps are completed in Staff → Admin → Repositories (or by your administrator). Developers should not paste git credentials into agent prompts.
Repository manifest (your GitHub repo)
Python (python-uv)
- Add
orkestia.runner.jsonat the repository root. It declares how the runner installs dependencies and which commands validate a change (for example test or lint invocations). Commands you list must exist on the prepared branch. - Commit a
uv.lockon the same branch the runner will use (typicallymainormaster). The coding agent is not the right tool to produce the first lockfile on a greenfield repository. Use a normal pull request first. - Align CI job names with what your org's delivery policy expects for required checks. A mismatch blocks the approval gate even when local tests pass.
Verify locally before asking for a hosted run: install from the lockfile, then run the same commands declared in orkestia.runner.json.
Other stacks
Multi-stack support varies by org configuration. If Staff shows your repository as an unsupported stack, use DevKit on a laptop for attended coding or contact your administrator. Do not assume Python-only files apply.
Orkestia platform (org administrator)
Your administrator ensures:
- The repository appears under Staff → Admin → Repositories with a stable
repository_uuid(Orkestia's id, not the GitHub numeric id). - A GitHub connection (GitHub App) is selected for this repository, not a personal access token on the agent.
- A delivery policy defines allowed target branches, diff thresholds, and required CI checks.
- An execution profile is active and matches the manifest (
dependency_kind, commands). - The coding runner group is an agent-eligible group (Runner groups), not a CI pool meant only for GitHub Actions jobs.
When setup completes, run your org's coding preflight for that repository (from Staff or an org-member workflow your assistant can call). Proceed to delivery only when preflight reports ready with no blockers.
DevKit-only shortcut
If you only need a local coding loop:
- Register the repository in Staff.
- Map
repository_uuidto a local path withltinteg-devkit runner repositories add. - Start
ltinteg-devkit runner servewith an agent runner group.
See Coding agents and DevKit local runner. This path does not replace platform setup for unattended ticket-to-PR delivery.
Common blockers (plain language)
| Symptom | Likely cause |
|---|---|
| Session stops before edits | Lockfile or runner manifest missing on the prepared branch |
| Preflight mentions commands | Policy requires a command not defined in orkestia.runner.json |
| Gate never approves | Required CI check names in policy do not match GitHub |
| Lane busy | Another delivery still holds the same target branch. Close or complete prior work (Run a ticket) |
Next steps
- Run a ticket end to end — write the spec, start delivery, watch merge
- Tickets & software delivery — lifecycle and credential model
- Workflow reference — ticket namespace — inputs and outputs for org members using MCP
Coding agents
Provider-blind Staff actors that edit git worktrees — repositories in Staff, DevKit on the laptop, tickets and acknowledged publication
Run a ticket end to end
How to use the coding agent — write a ticket it can implement, launch the delivery, watch it code, publish, review and merge on its own, and close the loop when it lands
