Skip to content

docs: add CONTRIBUTING.md guide#918

Open
dashitongzhi wants to merge 1 commit into
HelixDB:mainfrom
dashitongzhi:docs/add-contributing-guide
Open

docs: add CONTRIBUTING.md guide#918
dashitongzhi wants to merge 1 commit into
HelixDB:mainfrom
dashitongzhi:docs/add-contributing-guide

Conversation

@dashitongzhi

@dashitongzhi dashitongzhi commented May 19, 2026

Copy link
Copy Markdown

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.md guide to help new contributors get started with helix-db, covering setup, code style, branching, PR process, and issue reporting.

  • Rust version mismatch: The guide specifies Rust 1.70+ but helix-cli/Cargo.toml uses edition = "2024", which requires Rust 1.85+. This will cause build failures for contributors who follow the guide literally.
  • Contradictory contributor workflow: The "Making Changes" section instructs users to create a branch directly (implying main-repo access), while the "Pull Request Process" section lists forking as step 1 — these are out of order for external contributors.
  • Unnamed license: The license clause refers to "the project license" without naming AGPL, which is ambiguous for contributors.

Important Files Changed

Filename Overview
CONTRIBUTING.md New contributor guide with two logic issues: wrong minimum Rust version (1.70+ vs required 1.85+ for edition 2024) and contradictory fork/branch workflow instructions.

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]
Loading

Reviews (1): Last reviewed commit: "docs: add CONTRIBUTING.md guide" | Re-trigger Greptile

Greptile also left 2 inline comments on this PR.

Copilot AI review requested due to automatic review settings May 19, 2026 00:29
Comment thread CONTRIBUTING.md
## Development Setup

1. **Requirements**
- Rust 1.70+

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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.

Suggested change
- Rust 1.70+
- Rust 1.85+

Comment thread CONTRIBUTING.md
Comment on lines +29 to +33
## Making Changes

1. **Create a feature branch**
```bash
git checkout -b feat/your-feature-name

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.sh which runs clippy with -D warnings, while cargo clippy alone will succeed even with warnings. Also, cargo fmt/cargo clippy require the rustfmt/clippy rustup components, which aren’t installed by default on a fresh toolchain—consider documenting rustup component add rustfmt clippy and using the same commands CI uses (e.g., cargo fmt --check, ./clippy_check.sh or cargo 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).
  1. 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>.

Comment thread CONTRIBUTING.md
Comment on lines +8 to +9
- Rust 1.70+
- Cargo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants