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

102 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```bash
dotnet build src/EchoHub.slnx
```
### Test
```bash
dotnet test src/EchoHub.slnx
```
### Run (local)
Server:
```bash
dotnet run --project src/EchoHub.Server
```
Client:
```bash
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:
```bash
dotnet build src/EchoHub.slnx --configuration Release
```
Then run DocFX:
```bash
docfx docs/docfx.json
```
## Markdown lint
CI lints Markdown. Locally:
- On Linux/macOS (or Windows with Git Bash/WSL):
```bash
./scripts/lint-markdown.sh
```
- Anywhere with Node.js installed:
```bash
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`.