backend lives in `packages/player/src-tauri/src/`. Modules:
- `bridge/` - bidirectional RPC. Lets Rust servers call into the frontend (`Bridge::call` emits a `bridge:request` event, frontend replies via the `bridge_respond` command).
- `http
19k27d agoReviewMountCreate a free account to mount
repository. `CLAUDE.md` is a symlink to this file.
Read `ARCHITECTURE.md` before non-trivial backend, frontend, runtime, plugin, Box, MCP, persistence, or cross-repo SDK changes. This file is the working
19k4d agoReviewMountCreate a free account to mount
some
worker. When you split workers, keep `-B` on at least one of them.
### Frontend
Install dependencies only when needed, then run the dev server:
```bash
cd frontend
npm install
18k3y agoReviewMountCreate a free account to mount
internal tools, workflows, API integrations, background jobs, and UIs. Rust backend + Svelte 5 frontend.
## Workflow
1. **Understand**: Before coding, explore the codebase (see Code Navigation below). Use `outline` to understand
18k10d agoReviewMountCreate a free account to mount
index. Under herdr the two server panes
sit in the worktree's `backend/` and `frontend/`, so match on `cwd`:
```bash
herdr pane list --workspace "$HERDR_WORKSPACE_ID"
```
Under webmux they
Steady21 mentions in 2 weeks
No other project uses it yet
18k10d agoReviewMountCreate a free account to mount
Frontend (Svelte 5)
- **Coding patterns**: MUST use the `svelte-frontend` skill when writing Svelte code
- **Validation**: `docs/validation.md` — `npm run check:fast` (2s) for iteration, `npm run check` (50s) for final
Steady21 mentions in 2 weeks
No other project uses it yet
18k10d agoReviewMountCreate a free account to mount
built.
## Build / run
Node.js 24 + npm; keep `frontend/package-lock.json` in sync.
```shell
cd frontend && npm ci && npm run build && cd .. # REQUIRED before any go build/test
./sh/build.sh # frontend + versioned static binary
18k4y agoReviewMountCreate a free account to mount
mixed. Handed a menu of
languages, the model sometimes picks one off it.
The frontend already knows the intended language — the Template Hub selector,
or the research language while research
Steady2 mentions in 2 weeks
No other project uses it yet
18k20d agoReviewMountCreate a free account to mount
architecture and its relationship to the Cargo workspace.
### Commands
- Use `pnpm` for frontend packages; `harper-desktop/package.json` pins `pnpm@10.10.0`.
- Dev app: `just dev-desktop` from repo root. It builds
Steady18 mentions in 2 weeks
No other project uses it yet
17k5mo agoReviewMountCreate a free account to mount
base folders without approval.
- Do not change the application's dependencies without approval.
## Frontend Bundling
- If the user doesn't see a frontend change reflected in the UI, it could
17k5mo agoReviewMountCreate a free account to mount
structure and research | [DOCS_STYLE_GUIDE.md](.claude/docs/DOCS_STYLE_GUIDE.md) |
| New, moved, or restructured docs | [write-docs skill](.claude/skills/write-docs/SKILL.md) |
| Frontend | [site/AGENTS.md](site/AGENTS.md) |
For changes under `site/src/`, also read [FRONTEND_PATTERNS.md](.claude/docs/FRONTEND_PATTERNS.md). When you modify frontend code
17k19d agoReviewMountCreate a free account to mount
Frontend Development Guidelines
Read [Frontend Patterns](../.claude/docs/FRONTEND_PATTERNS.md) before changing `site/src/`. It is the canonical contract for FE1 through FE10.
## Frontend contract
- **FE1:** UI behavior changes should have behavior coverage
17k19d agoReviewMountCreate a free account to mount
database migrations
make makemigrations # Create new migrations
make resetdb # Flush DB + create superuser (admin/admin)
```
### Frontend (TypeScript/Next.js)
```bash
# From src/frontend/apps/impress/:
yarn dev # Development server (port 3000)
yarn build # Production build (includes
17k4mo agoReviewMountCreate a free account to mount
repair the **same** root link, into `surfsense_local/backend/.venv`, after a FastAPI or Python bump. |
| `frontend-workflow` | Frontend work in `www` and `surfsense_local/frontend`: React/Next performance, color tokens, UI polish, motion
17k6d agoReviewMountCreate a free account to mount
desktop map. Root `AGENTS.md` owns organization.
| Folder | Role |
|--------|------|
| `backend/` | API and workers (Python) |
| `frontend/` | Vite SPA |
| `sidecars/` | Boot, the sidecar specs, the supervisor and the watchers both entries run; imports
17k6d agoReviewMountCreate a free account to mount
vertical slice, one responsibility per file. See root `AGENTS.md`.
- React/Next, colors, UI polish, motion: `frontend-workflow` skill.
- shadcn components (`components.json`): `shadcn` skill after `frontend-workflow`, not instead of it — separate
17k6d agoReviewMountCreate a free account to mount