familynido/CONTRIBUTING.md
Pablo Fernández a308041d59 Initial commit
FamilyNido — a self-hosted PWA for a single household: shared calendar,
chores, meals, school agenda, health records and a family wall. One
instance per family, deployable with `docker compose` on any home
server.

Stack: .NET 10 (ASP.NET Core Minimal APIs) + EF Core 10 + PostgreSQL 16
on the backend, Angular 21 (standalone, signals, zoneless) + Tailwind
CSS v4 on the frontend, SignalR for realtime, optional OIDC alongside
local credentials, integration via a versioned `/api/v1/**` public API.

See README.md for the module overview and how to deploy.
2026-05-13 00:23:14 +02:00

26 lines
1.6 KiB
Markdown

# Contributing to FamilyNido
FamilyNido is a personal side project maintained in evenings and weekends.
It is scoped on purpose to be a self-hosted PWA for **a single household per
instance** — multi-tenant SaaS, commercial hosting, white-labelling and
anything whose primary value is serving someone else's customers is **out of
scope**. Not because those things are bad, but because supporting them would
break the simplicity that makes this project maintainable for one person.
The MIT license is exactly the right tool if you want to fork and go that way.
Bug reports and small, focused PRs are welcome. For non-trivial changes
please open an issue first to align on scope before you write code — I would
rather say *"this won't be merged because X"* before you spend a weekend on it
than after. PR review cadence is best-effort: this is a hobby project, so
family and work come first; expect days, sometimes weeks. If you touch the
API please add at least one integration test under `tests/FamilyNido.Tests/`;
if you touch the UI please verify the change in a browser before submitting
(`docker compose -f deploy/docker-compose.dev.yml up -d`, `dotnet watch run`
in `src/FamilyNido.Api`, `npm start` in `web/familynido-web`). Match the
existing style — the `.editorconfig` and the Angular CLI schematics already
encode it.
For security problems do **not** open a public issue. Use the *Report a
vulnerability* button on the GitHub **Security** tab — the full policy lives
in [`SECURITY.md`](./SECURITY.md). For everything else, be kind, assume good
intent and keep the discussion technical.