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.
47 lines
1.6 KiB
Markdown
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)
|