Skip to main content
This page gets Coda running locally and connected to a GitHub repo.

Prerequisites

  • Docker Desktop (install)
  • OpenAI API key (get one)
  • GitHub account (for the Personal Access Token in Step 2)
1

Clone Coda

Click Use this template on the Coda repo to create your own, then clone it. Or clone directly:
git clone https://github.com/agno-agi/coda && cd coda
2

Configure API keys

cp example.env .env
Set OPENAI_API_KEY and GITHUB_ACCESS_TOKEN in .env.The GitHub token must be a Fine-grained Personal Access Token with these permissions on the repos you want Coda to work with:
PermissionAccess
ContentsRead and write
Pull requestsRead and write
IssuesRead and write
MetadataRead-only
Full setup: GITHUB_ACCESS.md. Use a Fine-grained token. Classic PATs lack the scoping Coda relies on.
3

Tell Coda which repos to learn

Edit repos.yaml:
repos:
  - url: https://github.com/your-org/your-repo
    branch: main
Repos in repos.yaml must also be granted in your GitHub token’s repository selection. If you list a repo Coda can’t access, the clone fails silently.
For your first run, point Coda at the agno repo. It gives you something concrete to ask questions about while you get set up.
4

Start Coda

docker compose up -d --build
First run pulls the base image, builds Coda, and clones the repos in repos.yaml into /repos/. Takes a minute or two.
5

Verify it's running

curl http://localhost:8000/health
Expect {"status":"ok"}. Connection refused means the container is still starting. Check docker compose logs -f coda-api and wait for the Agno banner.

Connect to AgentOS UI

Open os.agno.com and log in. Click Add OS, choose Local, enter http://localhost:8000, click Connect. Try a question:
“What repos are available?”
“Walk me through the auth flow in agno.”
“Where are MCP tools registered?”
“What changed in the last 5 commits on agno?”
Coda routes through its team. The Explorer reads code and traces call chains. The Coder writes in isolated worktrees. The Planner breaks features into issues. The Researcher searches the web. The Triager labels and closes issues.

What you have now

ComponentDetail
Coda teamExplorer, Coder, Planner, Researcher, Triager. The Leader coordinates.
ReposCloned to /repos/<name>/ inside the container. Synced every 5 minutes.
KnowledgeConventions and patterns Coda discovers, stored via Agno’s Learning Machine.
MemoryUser context held by the Leader (who you are, what you’re working on).
Scheduled tasksRepo sync runs every 5 minutes. Daily digest and issue triage activate when their channels are configured.

Next

Connect to Slack →