devsurface 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0
4
+
5
+ - Added multi-workspace Hub mode: one DevSurface instance serves multiple project
6
+ directories. Run `npx devsurface` in any project to attach it to a running hub.
7
+ - Added `devsurface serve` command for running the hub as a persistent background
8
+ server, Docker container, or k3s pod.
9
+ - Added `devsurface workspace add|list|remove` commands for managing registered
10
+ workspaces from the CLI.
11
+ - Added workspace switcher and Hub overview page in the dashboard for comparing
12
+ projects at a glance.
13
+ - Added workspace-scoped API routes under `/api/workspaces/:id/*` with backward-
14
+ compatible aliases for single-project setups.
15
+ - Added workspace-scoped WebSocket connections via `?workspace=<id>` query parameter.
16
+ - Added Dockerfile, docker-compose.hub.yml, and deploy/k3s/ Kubernetes manifests
17
+ for containerized and local-cluster deployments.
18
+ - Added `DEVSURFACE_HOST`, `DEVSURFACE_CONTAINER`, `DEVSURFACE_DATA_DIR`,
19
+ `DEVSURFACE_WORKSPACES`, and `DEVSURFACE_WORKSPACE_ROOTS` environment variables
20
+ for container and workspace-root configuration.
21
+ - Kept per-project `devsurface.config.json` unchanged; existing single-project
22
+ workflows auto-register on first run.
23
+ - Added workspace-root configuration for deployments that should only register
24
+ projects from mounted directories.
25
+
3
26
  ## 0.3.0
4
27
 
5
28
  - Added the reusable `mrfandu1/devsurface@v0` GitHub Action.
package/README.md CHANGED
@@ -57,7 +57,9 @@ new contributor can see what is missing before guessing in the terminal.
57
57
 
58
58
  DevSurface is local-first:
59
59
 
60
- - The server binds to `127.0.0.1`.
60
+ - Local runs bind to `127.0.0.1`.
61
+ - Docker and k3s runs bind inside the container and are meant to be exposed with
62
+ local port mappings or `kubectl port-forward`.
61
63
  - No accounts, cloud sync, telemetry, or analytics.
62
64
  - `.env` values are never displayed.
63
65
  - Commands are shown before they run.
@@ -109,13 +111,52 @@ Run DevSurface without installing it globally:
109
111
  | npm | `npx devsurface` |
110
112
  | Bun | `bunx devsurface` |
111
113
 
112
- | Command | Description |
113
- | ------------------------- | -------------------------------------------------------------------- |
114
- | `devsurface` | Scan the current project, start the dashboard, and open the browser. |
115
- | `devsurface scan` | Print detected project information to the terminal. |
116
- | `devsurface doctor` | Print setup and repo health warnings. |
117
- | `devsurface init` | Create a starter `devsurface.config.json`. |
118
- | `devsurface run <script>` | Run a package script and stream output. |
114
+ | Command | Description |
115
+ | ---------------------------------- | -------------------------------------------------------------------- |
116
+ | `devsurface` | Scan the current project, start the dashboard, and open the browser. |
117
+ | `devsurface scan` | Print detected project information to the terminal. |
118
+ | `devsurface doctor` | Print setup and repo health warnings. |
119
+ | `devsurface init` | Create a starter `devsurface.config.json`. |
120
+ | `devsurface run <script>` | Run a package script and stream output. |
121
+ | `devsurface serve` | Start the multi-workspace hub server. |
122
+ | `devsurface workspace add [path]` | Register a project directory with the local hub. |
123
+ | `devsurface workspace list` | List registered hub workspaces. |
124
+ | `devsurface workspace remove <id>` | Remove a workspace from the hub registry. |
125
+
126
+ ## Multi-Workspace Hub
127
+
128
+ DevSurface now runs as a local hub. One server can serve several project
129
+ directories, each with isolated process state, Docker controls, logs, and scanner
130
+ results.
131
+
132
+ Start or attach from any project:
133
+
134
+ ```bash
135
+ npx devsurface
136
+ ```
137
+
138
+ Run a persistent hub:
139
+
140
+ ```bash
141
+ npx devsurface serve --no-open
142
+ ```
143
+
144
+ Register workspaces manually:
145
+
146
+ ```bash
147
+ npx devsurface workspace add /path/to/project-a
148
+ npx devsurface workspace add /path/to/project-b
149
+ npx devsurface workspace list
150
+ ```
151
+
152
+ Container and k3s deployments are included for local-cluster use:
153
+
154
+ - `Dockerfile`
155
+ - `docker-compose.hub.yml`
156
+ - `deploy/k3s/`
157
+
158
+ Container deployments bind inside the container. Keep host port mappings local,
159
+ for example `127.0.0.1:4567:4567`, or use `kubectl port-forward` for k3s.
119
160
 
120
161
  ## GitHub Action
121
162
 
@@ -244,8 +285,9 @@ works for the repo:
244
285
 
245
286
  DevSurface is designed for local development.
246
287
 
247
- - The dashboard server is restricted to `127.0.0.1`.
248
- - Mutating API routes require dashboard intent headers.
288
+ - Local dashboard servers bind to loopback hosts.
289
+ - Container deployments use `DEVSURFACE_CONTAINER=true`.
290
+ - Workspace registration can be limited with `DEVSURFACE_WORKSPACE_ROOTS`.
249
291
  - `.env` values are never returned by scanners, API routes, CLI output, or UI panels.
250
292
  - Dashboard command runs show the exact command string first.
251
293
  - Docker service start and stop actions show the exact Compose command before running.