helix-editor/helix
How to contribute
Helix is open to contributions of any size. This section walks through the workflow, testing, debugging tips, and the conventions you should follow when changing code.
The canonical contributor doc is docs/CONTRIBUTING.md. The pages here expand on it with a code-tour orientation.
Pages
- Development workflow — branch, code, test, PR.
- Testing — unit, doc, and integration tests.
- Debugging — logs, common errors, troubleshooting runbook.
- Patterns and conventions — error handling, naming, transaction style, hooks.
- Tooling —
cargo xtask, CI, formatters, linters.
Where good first issues live
The repository tags accessible issues with E-easy. Common starter areas:
- Tree-sitter queries — adding
highlights.scm,indents.scm,textobjects.scmfor a missing language. Doesn't require deep Rust knowledge. - Themes — porting a theme from another editor. Validate with
cargo xtask theme-check. - Keybinding additions and small commands — see
commands.rsfor examples. - Documentation — the book has user-facing docs that lag features.
- Bug fixes — many issues come with a reproducer; if not, asking on Matrix usually clarifies.
What every PR needs
From docs/CONTRIBUTING.md and the CI workflow at .github/workflows/build.yml:
- Code compiles with
cargo check. cargo test --workspaceandcargo integration-testpass.cargo fmt --all --checkandcargo clippy --workspace --all-targets -- -D warningsare clean.cargo doc --no-deps --workspace --document-private-itemsbuilds without warnings.cargo xtask query-check,cargo xtask theme-check, andcargo xtask docgen(followed by committing the generated changes) succeed.- Any new user-visible behaviour is documented in the book.
- New commands are added to the static command list and the default keymap.
Communication
- Matrix space:
#helix-community:matrix.org. The#helix-editorroom is the primary chat. - Issue tracker: github.com/helix-editor/helix/issues.
- The project's GitHub Wiki holds the FAQ and the Healthcheck guide.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.