Network configuration wizard for non-experts. Multi-vendor; v1 UniFi-only.
LazyLan asks plain-language questions ("do you stream from Plex?", "do you have a security camera?") and turns the answers into a safe, idempotent configuration for your home network — VLANs, firewall rules, port forwards, DNS, Wi-Fi.
The intent layer is vendor-agnostic. v1 targets UniFi controllers. Other vendors arrive via adapters once the UniFi path is stable.
🚧 Pre-alpha. Scaffolding only. No working apply path. Do not run against a real controller.
- Runtime: Bun
- Monorepo: Bun workspaces
- Wizard: SvelteKit 2 + Svelte 5 (runes) + Tailwind 4 + Paraglide JS i18n, deployed to Cloudflare Workers
- Docs site: Astro Starlight + MDX, static output
- Engine: TypeScript + Zod, YAML recipes
- Validation: Zod schemas for everything crossing a trust boundary
- Lint/format: Biome
- Tests:
bun test+ Playwright E2E (gated on UniFi backup)
- Code, comments, ADRs, commit messages: English.
- UI strings: English (default) and Spanish (first-class), via Paraglide.
bun install
bun --filter lazylan-web run dev # wizard
bun --filter lazylan-docs run dev # docs siteSee CLAUDE.md for the canonical map and conventions.
LazyLan never applies changes to a real UniFi controller without:
- Explicit user confirmation.
- A fresh backup from today.
The test-with-unifi.sh script enforces both for E2E.
See CONTRIBUTING.md.
MIT.