Skip to content

Onboard a Non-TypeScript Repository

Colony is language-agnostic. For each worktree it either uses an explicit setup command or detects a common project manifest. Current detection covers Gemfile, requirements.txt, pyproject.toml, go.mod, Cargo.toml, composer.json, and JavaScript package manifests and lockfiles. Configure an explicit command when the repository needs a different tool, flags, private registry setup, or multiple ecosystems.

workspace.setup_command runs after Colony creates a worktree. workspace.prebuild_command is an optional follow-up for generation or compilation. The default setup timeout is 300 seconds.

StackExample explicit setupOptional prebuild
Python with uvuv sync
Python with pippip install -r requirements.txt
Gogo mod downloadgo build ./...
Rustcargo fetchcargo build
Rubybundle install

Run the exact command in a clean checkout before giving it to Colony. Include non-interactive authentication and language-version activation where needed, but keep secrets in the deployment’s secret store rather than the repository.

review.checks is a named command map. An empty map means there is no local deterministic gate; the reviewer then relies on repository context, provider CI, and model judgment.

review:
format_command: 'ruff format .'
checks:
test: 'pytest'
lint: 'ruff check .'
type: 'mypy src'
ci_required_checks:
- pytest-ci

Use commands that work from the worktree root and return non-zero on failure. format_command may modify files, so use an idempotent formatter. ci_required_checks names provider checks Colony must wait for before merge; spelling must match the provider’s reported check names.

Typical checks include go test ./..., go vet ./..., cargo test, cargo clippy -- -D warnings, bundle exec rspec, and bundle exec rubocop.

Commit .colony/conventions.md with the facts an agent cannot reliably infer: supported language versions, architecture boundaries, generated-code rules, test commands, style constraints, and repository-specific patterns. Keep it short enough to remain current.

For self-hosted Colony, colony colonize can generate or refresh repository conventions. Review the result before committing it. The issue-writing guidance in Writing for Colony complements conventions but is not a conventions-file schema.

  1. Open the repository’s Settings page.
  2. Set explicit setup and prebuild commands only when auto-detection is insufficient.
  3. Configure repository review checks, format command, timeouts, and required CI checks. Organization defaults under Settings → Agents still apply where the repository does not override them.
  4. Save, then run one small issue and inspect setup and check output.