Contributing
- Branching model
- Building and running locally
- Code formatting
- Commit conventions
- Reporting bugs / requesting features
This is a small, solo-maintained project, so the contribution process is kept lightweight. The full guide lives in CONTRIBUTING.md in the repo — this page is a quick summary.
Branching model
developis the integration branch — target this with feature/fix branches.mainonly receives merges fromdevelopand is what the release and docs/NuGet publish pipelines watch. Direct pushes to either branch are blocked; both only accept changes via pull request.- PRs into both
developandmainmerge via squash or merge commit (no rebase). Use a merge commit specifically when syncingmainback intodevelopafter a release, to keep commit ancestry intact. - Every PR must pass the
buildanddotnet-formatchecks before it’s mergeable.
Building and running locally
Requirements: .NET 10 SDK, Ollama with the nomic-embed-text model pulled.
dotnet restore
dotnet build
To run the server directly from source, copy mcp-config.example.json to mcp-config.json, replace <ABSOLUTE_PATH_TO_PROJECT> with your local absolute path, and point your MCP client at it.
Code formatting
This project uses dotnet format with the rules in .editorconfig. A Husky.Net pre-commit hook runs dotnet format --verify-no-changes automatically on staged .cs files, and the same check runs in CI. Hooks install automatically the first time you run dotnet restore.
Commit conventions
Every commit uses Conventional Commits with a mandatory scope:
type(scope): imperative, lowercase description
A Husky.Net commit-msg hook rejects commits that don’t match the pattern. See CONTRIBUTING.md for the full list of types and scopes used in this repo.
Reporting bugs / requesting features
Please use the GitHub issue templates (Bug Report / Feature Request) rather than opening a blank issue.