docs: add CONTRIBUTING.md guide#918
Conversation
| ## Development Setup | ||
|
|
||
| 1. **Requirements** | ||
| - Rust 1.70+ |
There was a problem hiding this comment.
The Rust version requirement is outdated. The project uses
edition = "2024" in helix-cli/Cargo.toml, which requires Rust 1.85 or later. Stating 1.70+ will mislead contributors who install an older toolchain and then hit a compilation error when the edition keyword is rejected.
| - Rust 1.70+ | |
| - Rust 1.85+ |
| ## Making Changes | ||
|
|
||
| 1. **Create a feature branch** | ||
| ```bash | ||
| git checkout -b feat/your-feature-name |
There was a problem hiding this comment.
Forking step is missing before branch creation. The "Making Changes" section instructs contributors to run
git checkout -b feat/... directly, implying they are working inside the main repository. But the "Pull Request Process" section (line 48) lists "Fork the repository" as step 1. For external contributors who don't have write access, the fork must happen before cloning or branching. As written, a new contributor will follow the branch instructions, push, and only then discover they cannot push to HelixDB/helix-db.
There was a problem hiding this comment.
Pull request overview
Adds a new CONTRIBUTING.md to provide contributor-facing guidance for setting up a local dev environment, running checks/tests, and following a PR workflow.
Changes:
- Introduces a contributor guide with development setup steps (clone/build/test/lint/format).
- Documents a basic workflow for making changes (branching, committing, pushing).
- Adds lightweight guidance for PR submission and issue reporting.
Comments suppressed due to low confidence (3)
CONTRIBUTING.md:27
- The suggested lint/format commands are likely to diverge from CI expectations: the repo has
./clippy_check.shwhich runs clippy with-D warnings, whilecargo clippyalone will succeed even with warnings. Also,cargo fmt/cargo clippyrequire therustfmt/clippyrustup components, which aren’t installed by default on a fresh toolchain—consider documentingrustup component add rustfmt clippyand using the same commands CI uses (e.g.,cargo fmt --check,./clippy_check.shorcargo clippy --workspace -- -D warnings).
4. **Run tests**
```bash
cargo test
cargo clippy # Linting
cargo fmt # Formatting
**CONTRIBUTING.md:34**
* This branch naming guidance conflicts with the existing contributor workflow docs in `CONTRIBUTORS.md` (which uses `feature/your-feature-name`). To avoid confusing new contributors, please align on a single branch naming convention (or explicitly state both are acceptable).
- Create a feature branch
git checkout -b feat/your-feature-name
**CONTRIBUTING.md:63**
* The license section is vague (“project license”), but this repository is explicitly licensed under the GNU AGPLv3 (see `LICENSE`). Please name the license (e.g., “AGPL-3.0”) and/or link to `LICENSE` so contributors clearly understand the contribution licensing terms.
License
By contributing, you agree that your contributions will be licensed under the project license.
</details>
---
💡 <a href="/HelixDB/helix-db/new/main?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.
| - Rust 1.70+ | ||
| - Cargo |
Summary\n\nAdded a CONTRIBUTING.md to help new contributors get started with helix-db:\n\n- Development setup instructions\n- Code style guidelines\n- Testing instructions\n- PR process documentation\n\nThis improves the contributor experience for new community members.
Greptile Summary
This PR adds a
CONTRIBUTING.mdguide to help new contributors get started with helix-db, covering setup, code style, branching, PR process, and issue reporting.helix-cli/Cargo.tomlusesedition = "2024", which requires Rust 1.85+. This will cause build failures for contributors who follow the guide literally.Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[New Contributor] --> B{Has repo write access?} B -- No / External --> C[Fork HelixDB/helix-db] B -- Yes / Maintainer --> D[Clone main repo] C --> E[Clone your fork] D --> F[git checkout -b feat/your-feature] E --> F F --> G[Make changes] G --> H[cargo fmt] H --> I[cargo clippy] I --> J[cargo test] J --> K[git commit -m 'feat: ...'] K --> L[git push origin feat/your-feature] L --> M[Open PR against HelixDB/helix-db main]Reviews (1): Last reviewed commit: "docs: add CONTRIBUTING.md guide" | Re-trigger Greptile