mirror of
https://github.com/Stone-Red-Code/EchoHub.git
synced 2026-09-04 09:06:07 +02:00
- 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.
102 lines
1.8 KiB
Markdown
102 lines
1.8 KiB
Markdown
# 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 you’re 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 it’s 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`.
|