Memos pairs a Go backend with a Vite React client. The CLI entry in `bin/memos` boots the HTTP server under `server`, backed by shared domain logic in `internal` and persistence adapters in `store`. Frontend code lives in `web/src` with static assets in `web/public`; `pnpm release` publishes bundles into `server/router/frontend/dist`. API schemas sit in `proto/` (Buf-managed), extensions in `plugin/`, deployment helpers in `scripts/`, and sample SQLite databases in `build/`.
Memos pairs a Go backend with a Vite React client. The CLI entry in `cmd/memos` boots the HTTP server under `server`, backed by shared domain logic in `internal` and persistence adapters in `store`. Frontend code lives in `web/src` with static assets in `web/public`; `pnpm release` publishes bundles into `server/router/frontend/dist`. API schemas sit in `proto/` (Buf-managed), extensions in `plugin/`, deployment helpers in `scripts/`, and sample SQLite databases in `build/`.
## Build, Test, and Development Commands
-`go run ./bin/memos --mode dev --port 8081` – start the backend with the default SQLite store.
-`go build ./bin/memos` – compile the backend binary.
-`go run ./cmd/memos --mode dev --port 8081` – start the backend with the default SQLite store.
-`go build ./cmd/memos` – compile the backend binary.
-`go test ./...` – run Go unit and store tests.
-`cd web && pnpm install` – install frontend dependencies.
-`cd web && pnpm dev` – start the Vite dev server with hot reload.