Thanks for your interest in contributing — EchoHub aims to stay lightweight, terminal-first, and self-hosted.
- .NET 10 SDK
dotnet build src/EchoHub.slnxdotnet test src/EchoHub.slnxServer:
dotnet run --project src/EchoHub.ServerClient:
dotnet run --project src/EchoHub.Client- Check open issues (especially
good first issue/help wantedif present) - Docs fixes in
docs/are always welcome - Tests:
src/EchoHub.Tests/
If you’re proposing a larger change, open an issue first so we can align on approach.
- Keep PRs focused (small and reviewable)
- Prefer clear naming over cleverness
- Add/adjust tests for bug fixes when it’s practical
- Avoid committing secrets (JWT secrets, tokens, connection strings)
This repo uses DocFX for the site in docs/.
To build docs locally you typically need the assemblies built in Release first:
dotnet build src/EchoHub.slnx --configuration ReleaseThen run DocFX:
docfx docs/docfx.jsonCI lints Markdown. Locally:
- On Linux/macOS (or Windows with Git Bash/WSL):
./scripts/lint-markdown.sh- Anywhere with Node.js installed:
npx --yes markdownlint-cli2- Fill out the PR template
- Ensure
dotnet test src/EchoHub.slnxis green - Mention any behavioral changes (client UX, auth, uploads)
Any consistent style is fine; descriptive subjects help reviews. Examples:
fix(server): validate image magic bytesfeat(client): add /servers improvementsdocs: clarify getting started
Please do not file public issues for security problems. See SECURITY.md.