You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The bot clones from the fork, syncs from upstream, pushes branches to the fork, and opens MRs targeting the upstream repo.
160
+
The bot clones repos automatically when it picks up a ticket. It fetches from `upstream`, creates branches based on the latest upstream code, pushes to `origin` (the fork), and opens PRs/MRs targeting the upstream repo.
161
161
162
162
### Persona selection
163
163
@@ -167,7 +167,25 @@ Personas are NOT hardcoded to repos. The bot dynamically selects the best-fit pe
167
167
168
168
### Option A: Bot on host, memory server in Docker (recommended)
169
169
170
-
The recommended setup for development. The bot runs directly on your machine using your local Claude Code credentials, while the memory server runs in Docker:
170
+
The recommended setup for development. The bot runs directly on your machine while the memory server runs in Docker.
171
+
172
+
#### 1. Configure `.env`
173
+
174
+
Copy `.env.example` to `.env` and fill in your credentials. All identity and auth settings are driven by `.env` — at startup, `run.py` reads these and auto-configures git and SSH.
175
+
176
+
**Git identity** — set `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_NAME`, `GIT_COMMITTER_EMAIL` to commit as the bot account. If unset, your local git config is used.
177
+
178
+
**GPG signing** — import the bot's GPG key (`gpg --import <key-file>`), then set `GPG_SIGNING_KEY` to the key ID. If unset, commits are not signed.
179
+
180
+
**SSH keys** — set `BOT_SSH_KEY` and/or `GITLAB_SSH_KEY` to route git traffic through specific keys per host. Paths can be absolute or relative to the repo root. If unset, your default SSH agent is used.
181
+
182
+
**CLI auth** — set `GH_TOKEN` and/or `GITLAB_TOKEN`, or log in manually:
This is the easiest way to get started — no need for service account keys or bot-specific GitHub credentials. The bot uses your local Claude Code auth and your personal gh/glab CLI sessions.
181
-
182
198
### Option B: Full stack in Docker
183
199
184
200
For production-like deployments or CI — everything runs in containers with dedicated bot credentials:
@@ -258,7 +274,7 @@ Each repo has one or more personas that provide domain-specific guidelines. Pers
258
274
259
275
The bot has persistent memory via MCP:
260
276
261
-
-**Task tracking** — structured records of active work with status, PR links, and progress metadata. Hard cap of 5 concurrent active tasks. When interrupted mid-cycle, the bot saves progress (`last_step`, `next_step`, `files_changed`) so the next cycle resumes seamlessly.
277
+
-**Task tracking** — structured records of active work with status, PR links, and progress metadata. Hard cap of 10 concurrent active tasks. When interrupted mid-cycle, the bot saves progress (`last_step`, `next_step`, `files_changed`) so the next cycle resumes seamlessly.
262
278
-**RAG memory** — vector-searchable knowledge base of learnings from completed tickets, PR review feedback, and codebase patterns. The bot searches this before starting any new ticket, so it improves over time.
0 commit comments