docs: add setup command and refresh README

Add a project-level setup recipe for the initial development bootstrap. The
recipe installs the Tauri CLI and resolves the Tauri frontend dependencies from
the Deno lockfile so new contributors have one command before running or
building the app.

Refresh the README to keep it short and focused on what Lanspread is, how to
bootstrap it, and the most important just recipes.

Test Plan:
- just --summary
- just --dry-run setup
- git diff --check
- git diff --cached --check
This commit is contained in:
2026-06-05 09:56:42 +02:00
parent 6ef286e535
commit d63d4b9c2f
2 changed files with 36 additions and 30 deletions
+32 -30
View File
@@ -1,46 +1,48 @@
# lanspread # lanspread
## Description Peer-to-peer game library sharing for LAN parties. Peers discover each other on
the local network via mDNS, exchange library metadata over QUIC, and let users
browse and download games from each other. Ships as a Tauri desktop app.
Peer-to-peer game library sharing for LAN parties. ## Build / install
- Peers let users browse and download games from each other Install Rust, Deno, and `just` first, then bootstrap the project:
- they discover each other on the local network via mDNS
- they exchange library metadata over QUIC
Ships as a Tauri desktop app.
## Development
### Prerequisites
```bash ```bash
# install Tauri CLI just setup
cargo install tauri-cli
# install Deno with a package manager or from https://deno.land/
``` ```
### Build or Run That installs the Tauri CLI with `cargo install tauri-cli` and installs the
Deno/npm dependencies from `crates/lanspread-tauri-deno-ts`.
Run the desktop app in development mode:
```bash ```bash
# build
just build
# run
just run just run
# test
just test
``` ```
### Scripted peer harness Build without bundling:
`crates/lanspread-peer-cli` runs the peer runtime without the GUI and speaks
JSONL on stdin/stdout. It is intended for automated multi-peer smoke tests.
```bash ```bash
just peer-cli-build just build
just peer-cli-image
just peer-cli-run alpha
``` ```
Create production bundles:
```bash
just bundle
```
## Important just commands
- `just setup` - install the Tauri CLI and frontend dependencies.
- `just run` - run the Tauri app in dev mode.
- `just build` - build the app without bundling.
- `just bundle` - create production bundles.
- `just fmt` - format Rust, TOML, and the justfile.
- `just clippy` - lint the Rust workspace.
- `just test` - run workspace tests.
- `just frontend-test` - run frontend tests.
- `just peer-cli-build` - build the JSONL peer test harness.
- `just peer-cli-image` - build the peer harness Docker image.
- `just peer-cli-run NAME` - run one peer harness container.
+4
View File
@@ -2,6 +2,10 @@ export RUSTFLAGS := "-C target-cpu=native"
export WEBKIT_DISABLE_COMPOSITING_MODE := "1" export WEBKIT_DISABLE_COMPOSITING_MODE := "1"
export DOCKER_CONFIG := env_var_or_default("DOCKER_CONFIG", ".lanspread-peer-cli/docker-config") export DOCKER_CONFIG := env_var_or_default("DOCKER_CONFIG", ".lanspread-peer-cli/docker-config")
setup:
cargo install tauri-cli
cd crates/lanspread-tauri-deno-ts && deno install --frozen=true
run: run:
cargo tauri dev --release cargo tauri dev --release