Skip to main content

Projects

A project is a GitHub repository plus its run configuration. Importing one requires the Kosuke GitHub App to be installed on the repository. On import, Kosuke reads the repo metadata, registers a push webhook, and pulls every open pull request in as a chat session with status under-review, so the board reflects the repository from the first minute.

Project settings cover:

  • Services: everything that runs, including apps, workers, and databases. A service is either a process supervised directly or a docker-stack brought up with compose. Each service has 0 to N endpoints with a port and an exposure.
  • Environment variables: injected into every service at startup, encrypted at rest, with {{service.url}} and {{service.url_int}} placeholders resolved at boot.
  • Setup commands: hostSetupCommand provisions the host once, setupCommand runs before any service starts, warmupCommand runs once services are healthy.
  • Review commands: quality checks that run in order before every submit. Lint, typecheck, tests. Autofix variants are preferred because they run sequentially.
  • Branches: sessionBaseBranch is what sessions branch from, prTargetBranch is what pull requests target. Both fall back to the repository default branch.
  • Sandbox tier: SMALL, MEDIUM, LARGE or XLARGE. The first deploy boots XLARGE because the footprint is unknown, then the agent measures and right-sizes.

The whole of it round-trips as a single kosuke.config.json.