Skip to content

Latest commit

 

History

History
123 lines (93 loc) · 4.06 KB

File metadata and controls

123 lines (93 loc) · 4.06 KB

Contributing to BlazeDex

Thanks for your interest. BlazeDex is source available under the Elastic License 2.0; contributions follow the terms below.

Development setup

Prerequisites

  • .NET 10 SDK (10.0.201 or newer — check with dotnet --list-sdks)
  • Git
  • Windows 10/11 is the primary supported platform; macOS and Linux should work via the portable MSBuild runtime that MSBuildLocator resolves at startup

Build + test

git clone https://github.com/tomasfil/blazedex.git
cd blazedex
dotnet build
dotnet test

Formatting

dotnet format                       # auto-fix
dotnet format --verify-no-changes   # CI check — must pass

Branching

Trunk-based. Short-lived feature branches from main, back to main via PR. Don't push WIP to main. Each commit must leave main in a buildable state.

Commit messages

Conventional Commits. Prefixes:

  • feat: — a new feature
  • fix: — a bug fix
  • chore: — tooling / build / config
  • docs: — documentation only
  • refactor: — code change that neither adds a feature nor fixes a bug
  • test: — adding or updating tests

One logical change per commit. The body should explain the why, not just the what.

Sign your commits (DCO)

Every commit must include a Developer Certificate of Origin sign-off. The DCO is a simple statement that you wrote the code (or have the right to submit it) and that you agree to it being published under the project's current license.

Add the sign-off automatically:

git commit --signoff
# or the shorthand
git commit -s

This adds a line like Signed-off-by: Your Name <your@email.com> to the commit message. Your user.email in git config must match the email on the sign-off line. CI enforces the check on every pull request — commits without a valid sign-off will block the merge.

The full DCO text (v1.1) is at developercertificate.org. In short, by signing off you certify that:

  • the contribution was created by you, or it was submitted to you under a compatible license and you have the right to submit it, or it was provided by someone who certified one of the above and you have not modified it;
  • you understand and agree that the contribution is public and a record of it is maintained indefinitely;
  • you understand that you are submitting the contribution under the project's current license (Elastic License 2.0).

Note: the DCO does not grant re-licensing rights. If the project's license terms change materially in the future, your contributions remain under ELv2 unless you explicitly agree to the new terms at that point. If a contributor license agreement becomes necessary later, existing DCO-only contributions stay under the license they were submitted under.

Pull requests

  • Open against main.
  • One logical change per PR.
  • Include tests for new behavior where practical.
  • dotnet build, dotnet test, and dotnet format --verify-no-changes must all pass. CI enforces every one of these.
  • The PR body should describe the why, not just the what.

Reporting issues

Use GitHub Issues. Templates for bug reports and feature requests are under .github/ISSUE_TEMPLATE/ — fill them in to save back-and-forth.

When reporting a bug, include:

  • BlazeDex version or commit SHA
  • dotnet --version output
  • OS and version
  • MCP client (Claude Code, Claude Desktop, other)
  • Relevant stderr output from BlazeDex — never paste stdout, that channel is reserved for the JSON-RPC frame and will look like structured gibberish
  • Redact any sensitive paths before pasting

License summary

BlazeDex is source available under the Elastic License 2.0. By contributing, you agree that your contributions are licensed under ELv2. The three core prohibitions are reselling BlazeDex as a hosted service, circumventing license-key functionality, and altering or removing copyright or licensing notices. Everything else — internal use, forking, studying, modifying, redistributing — is permitted.