devsurface 0.3.0 → 0.5.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,37 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.0
4
+
5
+ - Added framework presets for Next.js, Vite, Express, Fastify, NestJS, Remix, and Prisma.
6
+ - Added detected preset commands and ports to the dashboard and command API.
7
+ - Added Python project detection for `requirements.txt`, `pyproject.toml`, and `Pipfile`, including FastAPI/Uvicorn, Flask, and Django commands.
8
+ - Added Go project detection from `go.mod`, with run, build, and test commands.
9
+ - Added Java project detection from Maven and Gradle build files, with build and test commands.
10
+ - Updated doctor checks so detected Python, Go, and Java projects are not treated as broken Node.js projects.
11
+
12
+ ## 0.4.0
13
+
14
+ - Added multi-workspace Hub mode: one DevSurface instance serves multiple project
15
+ directories. Run `npx devsurface` in any project to attach it to a running hub.
16
+ - Added `devsurface serve` command for running the hub as a persistent background
17
+ server, Docker container, or k3s pod.
18
+ - Added `devsurface workspace add|list|remove` commands for managing registered
19
+ workspaces from the CLI.
20
+ - Added workspace switcher and Hub overview page in the dashboard for comparing
21
+ projects at a glance.
22
+ - Added workspace-scoped API routes under `/api/workspaces/:id/*` with backward-
23
+ compatible aliases for single-project setups.
24
+ - Added workspace-scoped WebSocket connections via `?workspace=<id>` query parameter.
25
+ - Added Dockerfile, docker-compose.hub.yml, and deploy/k3s/ Kubernetes manifests
26
+ for containerized and local-cluster deployments.
27
+ - Added `DEVSURFACE_HOST`, `DEVSURFACE_CONTAINER`, `DEVSURFACE_DATA_DIR`,
28
+ `DEVSURFACE_WORKSPACES`, and `DEVSURFACE_WORKSPACE_ROOTS` environment variables
29
+ for container and workspace-root configuration.
30
+ - Kept per-project `devsurface.config.json` unchanged; existing single-project
31
+ workflows auto-register on first run.
32
+ - Added workspace-root configuration for deployments that should only register
33
+ projects from mounted directories.
34
+
3
35
  ## 0.3.0
4
36
 
5
37
  - Added the reusable `mrfandu1/devsurface@v0` GitHub Action.
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  <h1>DevSurface</h1>
8
8
 
9
- <p><strong>Turn any Node.js repository into a local developer control panel.</strong></p>
9
+ <p><strong>Local developer dashboard for Node.js repositories.</strong></p>
10
10
 
11
11
  <p>
12
12
  <a href="#quick-start">Quick Start</a>
@@ -22,19 +22,30 @@
22
22
  <a href="https://github.com/mrfandu1/devsurface">
23
23
  <img alt="DevSurface ready" src="docs/devsurface-badge.svg">
24
24
  </a>
25
+ <a href="https://www.npmjs.com/package/devsurface">
26
+ <img alt="npm version" src="https://img.shields.io/npm/v/devsurface.svg">
27
+ </a>
28
+ <a href="https://www.npmjs.com/package/devsurface">
29
+ <img alt="npm downloads" src="https://img.shields.io/npm/dm/devsurface.svg">
30
+ </a>
31
+ <a href="https://github.com/mrfandu1/devsurface/stargazers">
32
+ <img alt="GitHub stars" src="https://img.shields.io/github/stars/mrfandu1/devsurface?style=flat">
33
+ </a>
25
34
  <a href="LICENSE">
26
- <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-informational">
35
+ <img alt="License: MIT" src="https://img.shields.io/github/license/mrfandu1/devsurface">
27
36
  </a>
28
37
  <img alt="Built with TypeScript" src="https://img.shields.io/badge/Built%20with-TypeScript-3178c6">
29
38
  </p>
30
39
 
31
40
  </div>
32
41
 
33
- DevSurface scans a project, starts a local dashboard, and shows the things contributors
34
- usually need before a project will run: package scripts, environment files, ports,
35
- Docker Compose, live command logs, and repo health warnings.
42
+ DevSurface is a zero-config CLI and local browser dashboard for understanding,
43
+ configuring, and running unfamiliar repositories. It detects Node.js package scripts,
44
+ Python, Go, and Java project commands, environment files, occupied ports, Docker
45
+ Compose services, frameworks, live command logs, repo health checks, and
46
+ multi-workspace projects.
36
47
 
37
- No config file is required.
48
+ No global install, account, cloud service, or config file is required.
38
49
 
39
50
  ```bash
40
51
  npx devsurface
@@ -57,11 +68,43 @@ new contributor can see what is missing before guessing in the terminal.
57
68
 
58
69
  DevSurface is local-first:
59
70
 
60
- - The server binds to `127.0.0.1`.
71
+ - Local runs bind to `127.0.0.1`.
72
+ - Docker and k3s runs bind inside the container and are meant to be exposed with
73
+ local port mappings or `kubectl port-forward`.
61
74
  - No accounts, cloud sync, telemetry, or analytics.
62
75
  - `.env` values are never displayed.
63
76
  - Commands are shown before they run.
64
77
 
78
+ ## Use Cases
79
+
80
+ DevSurface is useful when you need to:
81
+
82
+ - Onboard contributors to an unfamiliar Node.js repository.
83
+ - Explore available npm, pnpm, Yarn, or Bun scripts.
84
+ - Check missing environment variables before starting a project.
85
+ - Detect local port conflicts.
86
+ - View and control Docker Compose services.
87
+ - Run development commands from a browser dashboard.
88
+ - Check repository onboarding health in GitHub Actions.
89
+ - Manage multiple local project workspaces.
90
+
91
+ ## Supported Frameworks and Tools
92
+
93
+ DevSurface detects projects using:
94
+
95
+ - Next.js
96
+ - Vite
97
+ - Express
98
+ - Fastify
99
+ - NestJS
100
+ - Remix
101
+ - Prisma
102
+ - Python: FastAPI/Uvicorn, Flask, Django
103
+ - Go modules
104
+ - Java: Maven and Gradle
105
+ - Docker Compose
106
+ - npm, pnpm, Yarn, and Bun
107
+
65
108
  ## How It Compares
66
109
 
67
110
  | Tool | What it does | Where DevSurface is different |
@@ -109,13 +152,52 @@ Run DevSurface without installing it globally:
109
152
  | npm | `npx devsurface` |
110
153
  | Bun | `bunx devsurface` |
111
154
 
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. |
155
+ | Command | Description |
156
+ | ---------------------------------- | -------------------------------------------------------------------- |
157
+ | `devsurface` | Scan the current project, start the dashboard, and open the browser. |
158
+ | `devsurface scan` | Print detected project information to the terminal. |
159
+ | `devsurface doctor` | Print setup and repo health warnings. |
160
+ | `devsurface init` | Create a starter `devsurface.config.json`. |
161
+ | `devsurface run <script>` | Run a package script and stream output. |
162
+ | `devsurface serve` | Start the multi-workspace hub server. |
163
+ | `devsurface workspace add [path]` | Register a project directory with the local hub. |
164
+ | `devsurface workspace list` | List registered hub workspaces. |
165
+ | `devsurface workspace remove <id>` | Remove a workspace from the hub registry. |
166
+
167
+ ## Multi-Workspace Hub
168
+
169
+ DevSurface now runs as a local hub. One server can serve several project
170
+ directories, each with isolated process state, Docker controls, logs, and scanner
171
+ results.
172
+
173
+ Start or attach from any project:
174
+
175
+ ```bash
176
+ npx devsurface
177
+ ```
178
+
179
+ Run a persistent hub:
180
+
181
+ ```bash
182
+ npx devsurface serve --no-open
183
+ ```
184
+
185
+ Register workspaces manually:
186
+
187
+ ```bash
188
+ npx devsurface workspace add /path/to/project-a
189
+ npx devsurface workspace add /path/to/project-b
190
+ npx devsurface workspace list
191
+ ```
192
+
193
+ Container and k3s deployments are included for local-cluster use:
194
+
195
+ - `Dockerfile`
196
+ - `docker-compose.hub.yml`
197
+ - `deploy/k3s/`
198
+
199
+ Container deployments bind inside the container. Keep host port mappings local,
200
+ for example `127.0.0.1:4567:4567`, or use `kubectl port-forward` for k3s.
119
201
 
120
202
  ## GitHub Action
121
203
 
@@ -244,8 +326,9 @@ works for the repo:
244
326
 
245
327
  DevSurface is designed for local development.
246
328
 
247
- - The dashboard server is restricted to `127.0.0.1`.
248
- - Mutating API routes require dashboard intent headers.
329
+ - Local dashboard servers bind to loopback hosts.
330
+ - Container deployments use `DEVSURFACE_CONTAINER=true`.
331
+ - Workspace registration can be limited with `DEVSURFACE_WORKSPACE_ROOTS`.
249
332
  - `.env` values are never returned by scanners, API routes, CLI output, or UI panels.
250
333
  - Dashboard command runs show the exact command string first.
251
334
  - Docker service start and stop actions show the exact Compose command before running.
@@ -253,6 +336,31 @@ DevSurface is designed for local development.
253
336
  database drops, and `git clean -fd`, are visibly marked before execution.
254
337
  - Child processes started by DevSurface are cleaned up when the dashboard exits.
255
338
 
339
+ ## FAQ
340
+
341
+ ### What is DevSurface?
342
+
343
+ DevSurface is a local developer dashboard for understanding, configuring, and running
344
+ Node.js repositories.
345
+
346
+ ### Can DevSurface run npm scripts from a browser?
347
+
348
+ Yes. DevSurface detects `package.json` scripts and lets you run them while viewing
349
+ live logs and exit status.
350
+
351
+ ### Does DevSurface display .env values?
352
+
353
+ No. DevSurface checks whether environment keys exist, but never displays their values.
354
+
355
+ ### Does DevSurface require configuration?
356
+
357
+ No. It works automatically, with an optional `devsurface.config.json` file for richer
358
+ commands, groups, ports, env paths, and docs links.
359
+
360
+ ### Does DevSurface support Docker Compose?
361
+
362
+ Yes. It detects Compose services and provides service status, controls, and recent logs.
363
+
256
364
  ## Examples
257
365
 
258
366
  This repository includes two sample projects: