Skip to content

Contributing

Rafael Fragoso edited this page Jun 7, 2026 · 1 revision

Contributing

Contributions are welcome. The canonical guides live in the repository — CONTRIBUTING.md and the Code of Conduct. This page summarizes the workflow.

Before you start

  • Read Scope Boundary. Columbus stays small on purpose: index, search, memory. Orchestration, guardrails, and LLM calls belong in the agent/plugin layer and are out of scope for this repo.
  • Skim Development & Testing to get a build running.

Workflow

  1. Fork and branch from main.
  2. Make your change with tests. cgo + fts5 are always on — use the Makefile.
  3. Run the checks locally:
    make test && make vet && golangci-lint run ./...
  4. Open a PR and fill out the template.
  5. Ensure CI is green — test, lint, and govulncheck are required.

Commit & PR titles

The project uses Conventional Commits (feat:, fix:, docs:, chore:, …). PR titles are linted and the release changelog is generated from them, so a clear, conventional title matters. PRs are squash-merged using the PR title.

Reporting issues

Use the issue templates (bug report / feature request). For security reports, see SECURITY.md and use private vulnerability reporting — not a public issue.

Related

Development & Testing · Releasing · Scope Boundary

Clone this wiki locally