Files
Piik/README.md
T
AAA 3d960dc5bd docs: simplify repository truth architecture (#295)
Modularize durable truth, bound always-loaded instructions, and keep domain-document size checks advisory. Local cross-platform repository hygiene checks pass; GitHub-hosted steps were not started because of the account billing state.
2026-08-27 11:45:24 +08:00

47 lines
1.6 KiB
Markdown

# Screener
Screener is a private, low-latency screen-sharing tool for one game player and
up to 20 authenticated friends. Web Viewers need no installation. Media is
automatic and P2P-first, with bounded Browser relay and one dedicated LiveKit
SFU/UDP fallback rather than an always-SFU conference topology.
[Project memory](./docs/project-memory.md) is the compact product map.
[Current status](./docs/status.md) owns the exact source and production state;
this README intentionally does not mirror release details.
## Local Development
Node.js 24 and npm 11 are required.
```sh
npm ci
npm run dev
```
Open `http://localhost:8787`. The development server listens on `0.0.0.0`, so a
phone on the same LAN may use `http://<computer-lan-ip>:8787`. Screen capture
must remain on `localhost` or HTTPS. Set `PUBLIC_BASE_URL` and
`ALLOWED_ORIGINS` when generated invitations need a different LAN origin.
Production requires an independent visible-ASCII `SITE_ACCESS_PASSWORD`; local
development and tests may leave it empty. Cross-network setup is documented in
[self-hosting](./docs/operations/self-hosting.md) and
[configuration reference](./docs/reference/configuration.md). Never commit real
credentials.
Run complete automated validation with:
```sh
npm run check
```
## Documentation
- [Product and repository map](./docs/README.md)
- [Rooms and access](./docs/product/rooms-access.md)
- [Routing and transport](./docs/product/routing-transport.md)
- [Capture and media quality](./docs/product/media-quality.md)
- [Presentation and lifecycle](./docs/product/presentation-lifecycle.md)
- [Current work](./docs/todo.md)
- [Contributing workflow](./CONTRIBUTING.md)