yoi/web/workspace
2026-07-24 18:37:59 +09:00
..
src runtime: simplify workdir layout 2026-07-24 18:37:59 +09:00
.gitignore feat: bootstrap workspace web control plane 2026-06-21 16:34:36 +09:00
deno.json server: use single XDG server database 2026-07-24 08:45:51 +09:00
deno.lock web: remove unused tailwind import 2026-07-24 18:16:51 +09:00
package.json web: remove unused tailwind import 2026-07-24 18:16:51 +09:00
README.md style: format web workspace 2026-07-24 17:54:16 +09:00
svelte.config.js style: format web workspace 2026-07-24 17:54:16 +09:00
tsconfig.json feat: add workspace runtime and worker controls 2026-07-03 02:27:42 +09:00
vite.config.ts web: remove unused tailwind import 2026-07-24 18:16:51 +09:00

Workspace web UI

SvelteKit static SPA for the Yoi workspace control plane.

The frontend is intentionally static. Workspace authority, validation, and API behavior live in the Rust yoi-workspace-server backend.

Development

Use two terminals from the repository checkout.

Backend terminal:

cd web/workspace
deno task dev:backend

Frontend terminal:

cd web/workspace
deno task dev

The Vite dev server proxies /api/* to http://127.0.0.1:8787, so frontend hot reload works while the Rust backend serves the workspace API. Open the Vite URL printed by deno task dev.

If you want to run the backend from the repository root instead:

cargo run -p yoi-workspace-server -- serve --listen 127.0.0.1:8787

The backend reads Workspace records from the Yoi server DB at <data_dir>/server/server.db. Run cargo run -p yoi-workspace-server -- init --workspace . first when the server DB has not been initialized.

Static build

Build the SPA:

deno task build

Static asset packaging is a deployment concern. Local development normally uses the Vite dev server proxy plus the Rust backend command above.

Checks

deno task check
deno task build