Thanks for contributing to GitLab Orbit, the knowledge graph that turns GitLab SDLC data and source code into a queryable property graph.
Community contributions go through the community fork. GitLab team members contribute directly to this repository.
Install mise, then:
git clone https://gitlab.com/gitlab-org/orbit/knowledge-graph.git
cd knowledge-graph
mise install
mise buildCore tasks:
| Task | Command |
|---|---|
| Build | mise build |
| Unit + fast tests | mise test:fast |
| Lint | mise lint:code |
| Apply lint fixes | mise lint:code:fix |
| Validate doc changes | mise lint:docs |
For the full local setup (GDK, ClickHouse, NATS), see Local development.
mise test:fast # Unit tests and fast integration tests (no Docker required)
mise test:integration # Full integration suite (requires Docker)
mise test:cli # CLI integration tests: concurrency and worktreesmise test:integration spins up ClickHouse via Docker testcontainers — make sure Docker is running
before using it.
mise lint:code # Clippy with warnings as errors
mise lint:code:fix # Apply auto-fixable Clippy suggestions
mise lint:docs # markdownlint + Vale + lychee link checksRun mise lint:docs before pushing any documentation changes.
MR titles must follow Conventional Commits format:
type(scope): short description
Examples: fix(compiler): correct aggregation undercount, docs: add CONTRIBUTING.md.
- Non-trivial MRs (features, refactors, architectural changes) must reference an issue:
Closes #NorRelates to #N. - Trivial MRs (typos, minor formatting) do not need an issue.
- Use the MR and issue templates under
.gitlab/.
- Open issues — the
orbit::hackathonlabel marks good entry points. - AGENTS.md — full developer reference: architecture overview, crate map, code-quality conventions, and where to find things.
- CONTEXT.md — domain glossary. Use the canonical terms when writing code, docs, or MR descriptions.