The repository is a Bun workspace with one app per folder in apps/:
apps/web: the forge, a Next.js app. Its Dockerfile builds the server image and Dockerfile.runner the runner'sapps/mobile: the Android app, a Gradle project (see mobile.md). Its package.json only wraps
./gradlew so the root's bun run mobile:* scripts can reach itdocs/: this documentation; patches/: patches to dependencies, applied by bun installThe root package.json runs either app's scripts (bun dev, bun run build, bun run lint, bun run test,
bun run mobile:build, bun run mobile:deploy).
Paths are relative to apps/web.
lib/db.ts: starting and connecting to PocketBase; pb_migrations/: the schemalib/users.ts, lib/auth.ts: accounts and sessions (PocketBase auth records and tokens)lib/repos.ts: repository records, permissions (repoAccess), collaboratorslib/issues.ts, lib/issue-meta.ts: issue tracker data and its shared vocabulary (statuses, priorities); UI in components/issues/lib/keys.ts, lib/tokens.ts: SSH keys and API tokenslib/oauth.ts, lib/oauth-rules.ts: the OAuth 2.1 authorization server for agents (app/oauth/*, app/.well-known/*); lib/mcp/*: the MCP endpoint (app/mcp) and its toolslib/actor.ts, lib/agents.ts: who acts (a person, or an agent for one), and agents that issues can be assigned tolib/pulls.ts: pull requests, reviews, threads and merging; UI in app/[owner]/[repo]/pulls/, compare/ and components/pulls/lib/branch-rules.ts, lib/protection.ts, lib/push-hooks.ts, lib/hook-script.ts: branch protection, its rules, and the pre-receive hook that checks pusheslib/push.ts: what follows every change of refs (events, workflows, pull requests); lib/events.ts, lib/webhooks.ts: the event feed and webhooks; lib/revert.ts: undoing an agent's pushlib/markdown-views.ts: pages as Markdown and llms.txt; public/vectrum.mjs: the command linelib/git.ts, lib/git-write.ts: reading from and committing to bare repositorieslib/git-http.ts, lib/ssh-server.ts: git transports (started from instrumentation.ts)lib/registry.ts, lib/registry-http.ts: container registry storage and the OCI distribution API, served under /v2lib/wiki.ts, lib/wiki-links.ts: wiki pages in the wiki's git repository, and page names and [[links]]; UI in app/[owner]/[repo]/wiki/ and components/wiki/lib/releases.ts, lib/release-http.ts: releases and their files, and the download, upload and source archive routeslib/workflows.ts, lib/ci.ts, lib/runs.ts, lib/runners.ts: workflow parsing, starting runs on push, the job queue and runner registration; app/api/runner/* is the runner API and public/vectrum-runner.mjs the runnerapp/actions/*: server actions, each re-checking the session and permissionslib/app-api.ts: the JSON API of the Android app (app/api/v1), which lives in apps/mobile