Files
EchoHub/CONTRIBUTING.md
T
HueByte 9975f4e4be Refactor and update various components of EchoHub.Server
- Updated launchSettings.json for consistency.
- Refactored FileValidationHelper to improve image validation logic.
- Enhanced ServerDirectoryService for better connection handling and user count updates.
- Improved DatabaseSetup for legacy database handling and seeding default channels.
- Refined FirstRunSetup to ensure JWT secret generation.
- Removed appsettings.Development.json as it is no longer needed.
- Updated EchoHub.Tests project file for consistency.
- Added unit tests for FileValidationHelper and PresenceTracker with improved assertions.
- Updated ValidationConstantsTests to ensure regex validations are correct.
- Cleaned up solution file formatting for better readability.
2026-02-19 10:12:28 +01:00

1.8 KiB
Raw Blame History

Contributing to EchoHub

Thanks for your interest in contributing — EchoHub aims to stay lightweight, terminal-first, and self-hosted.

Quick start (dev)

Prerequisites

  • .NET 10 SDK

Build

dotnet build src/EchoHub.slnx

Test

dotnet test src/EchoHub.slnx

Run (local)

Server:

dotnet run --project src/EchoHub.Server

Client:

dotnet run --project src/EchoHub.Client

What to work on

  • Check open issues (especially good first issue / help wanted if present)
  • Docs fixes in docs/ are always welcome
  • Tests: src/EchoHub.Tests/

If youre proposing a larger change, open an issue first so we can align on approach.

Code style & expectations

  • Keep PRs focused (small and reviewable)
  • Prefer clear naming over cleverness
  • Add/adjust tests for bug fixes when its practical
  • Avoid committing secrets (JWT secrets, tokens, connection strings)

Docs

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 Release

Then run DocFX:

docfx docs/docfx.json

Markdown lint

CI 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

Pull requests

  • Fill out the PR template
  • Ensure dotnet test src/EchoHub.slnx is green
  • Mention any behavioral changes (client UX, auth, uploads)

Commit messages

Any consistent style is fine; descriptive subjects help reviews. Examples:

  • fix(server): validate image magic bytes
  • feat(client): add /servers improvements
  • docs: clarify getting started

Reporting security issues

Please do not file public issues for security problems. See SECURITY.md.