feat: bootstrap vela UI and gateway workspace
Establish the monorepo, tooling, and starter apps so UI and gateway development can begin from a documented, runnable baseline.
This commit is contained in:
72
docs/setup.md
Normal file
72
docs/setup.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Vela Setup and Workspace Layout
|
||||
|
||||
## Tooling and Package Management
|
||||
|
||||
- Use **mise** to provision repo tools.
|
||||
- Use **Yarn** for dependency management and workspace commands in this repository.
|
||||
|
||||
The repo-level tool configuration lives in `mise.toml`.
|
||||
|
||||
## Workspace Layout
|
||||
|
||||
```text
|
||||
apps/
|
||||
vela-ui/
|
||||
vela-gateway/
|
||||
docs/
|
||||
AGENTS.md
|
||||
README.md
|
||||
mise.toml
|
||||
package.json
|
||||
```
|
||||
|
||||
## Workspace Purpose
|
||||
|
||||
### `apps/vela-ui`
|
||||
|
||||
- minimal SvelteKit browser application
|
||||
- current starter page confirms the workspace boots correctly
|
||||
- intended to grow into the SvelteKit PWA implementation
|
||||
|
||||
### `apps/vela-gateway`
|
||||
|
||||
- minimal Fastify gateway service
|
||||
- current HTTP endpoints provide a runnable baseline at `/` and `/health`
|
||||
- intended to grow into the WebSocket session and orchestration layer
|
||||
|
||||
## Initial Commands
|
||||
|
||||
Install repo tools:
|
||||
|
||||
```bash
|
||||
mise install
|
||||
```
|
||||
|
||||
Install dependencies:
|
||||
|
||||
```bash
|
||||
mise exec -- yarn install
|
||||
```
|
||||
|
||||
Run the current workspaces:
|
||||
|
||||
```bash
|
||||
mise exec -- yarn dev:ui
|
||||
mise exec -- yarn dev:gateway
|
||||
```
|
||||
|
||||
Additional verification commands:
|
||||
|
||||
```bash
|
||||
mise exec -- yarn check:ui
|
||||
mise exec -- yarn build:ui
|
||||
mise exec -- yarn build:gateway
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- the concrete framework choices are now SvelteKit for `vela-ui` and Fastify for `vela-gateway`
|
||||
- the UI is intentionally minimal and does not yet include mic capture, transcript rendering, or WebSocket session state
|
||||
- the gateway is intentionally minimal and does not yet expose the planned WebSocket contract
|
||||
- if your shell is configured for mise activation, plain `yarn` commands can be used after `mise install`
|
||||
- update this document when the repo layout or package manager workflow changes
|
||||
Reference in New Issue
Block a user