dev3000 0.0.177 → 0.0.180

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.
Files changed (56) hide show
  1. package/README.md +140 -154
  2. package/bin/dev3000 +30 -5
  3. package/dist/cdp-monitor.d.ts.map +1 -1
  4. package/dist/cdp-monitor.js +1 -1
  5. package/dist/cdp-monitor.js.map +1 -1
  6. package/dist/cli.js +75 -14
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/resume.js.map +1 -1
  9. package/dist/commands/status.d.ts +21 -0
  10. package/dist/commands/status.d.ts.map +1 -0
  11. package/dist/commands/status.js +44 -0
  12. package/dist/commands/status.js.map +1 -0
  13. package/dist/components/AgentSelector.d.ts +1 -1
  14. package/dist/components/AgentSelector.d.ts.map +1 -1
  15. package/dist/components/PackageSelector.d.ts +1 -1
  16. package/dist/components/PackageSelector.d.ts.map +1 -1
  17. package/dist/components/PackageSelector.js +1 -1
  18. package/dist/constants/log-colors.d.ts.map +1 -1
  19. package/dist/dev-environment.d.ts +5 -4
  20. package/dist/dev-environment.d.ts.map +1 -1
  21. package/dist/dev-environment.js +39 -42
  22. package/dist/dev-environment.js.map +1 -1
  23. package/dist/portless.d.ts +31 -11
  24. package/dist/portless.d.ts.map +1 -1
  25. package/dist/portless.js +212 -75
  26. package/dist/portless.js.map +1 -1
  27. package/dist/screencast-manager.d.ts.map +1 -1
  28. package/dist/screencast-manager.js.map +1 -1
  29. package/dist/services/parsers/error-detectors/base.d.ts.map +1 -1
  30. package/dist/services/parsers/error-detectors/nextjs.d.ts.map +1 -1
  31. package/dist/services/parsers/log-parsers/standard.d.ts.map +1 -1
  32. package/dist/services/parsers/log-parsers/standard.js +1 -1
  33. package/dist/services/parsers/log-parsers/standard.js.map +1 -1
  34. package/dist/services/parsers/output-processor.d.ts.map +1 -1
  35. package/dist/services/parsers/output-processor.js.map +1 -1
  36. package/dist/skills/d3k/internal-skill.md +95 -113
  37. package/dist/tui-interface-impl.js +1 -1
  38. package/dist/tui-interface-opentui.d.ts.map +1 -1
  39. package/dist/tui-interface-opentui.js +2 -1
  40. package/dist/tui-interface-opentui.js.map +1 -1
  41. package/dist/tui-interface.d.ts.map +1 -1
  42. package/dist/tui-interface.js +1 -1
  43. package/dist/tui-interface.js.map +1 -1
  44. package/dist/utils/agent-browser.js.map +1 -1
  45. package/dist/utils/project-detector.js.map +1 -1
  46. package/dist/utils/project-metadata.js.map +1 -1
  47. package/dist/utils/project-name.js.map +1 -1
  48. package/dist/utils/session.d.ts +5 -0
  49. package/dist/utils/session.d.ts.map +1 -1
  50. package/dist/utils/session.js +1 -1
  51. package/dist/utils/session.js.map +1 -1
  52. package/dist/utils/skill-installer.js.map +1 -1
  53. package/dist/utils/timestamp.js.map +1 -1
  54. package/dist/utils/tmux-helpers.d.ts.map +1 -1
  55. package/dist/utils/version-check.js.map +1 -1
  56. package/package.json +42 -29
package/README.md CHANGED
@@ -1,223 +1,209 @@
1
1
  # d3k (dev3000)
2
2
 
3
- ![d3k terminal interface](./www/public/hero-terminal.png)
3
+ d3k is an agent-first local web debugging runtime. It starts your dev server, opens a monitored browser with a project-stable Chrome profile, and gives your coding agent one timeline of server logs, browser errors, network activity, interactions, and screenshots.
4
4
 
5
- A debugging assistant that captures everything happening in your web app during development - server logs, browser events, network requests, and automatic screenshots - organized in a timeline that AI can understand.
5
+ Every app gets a stable Portless URL by default, so browser state and callbacks do not move when the underlying development port changes.
6
6
 
7
- ## Quick Start
7
+ The primary interface is the d3k skill: tell your agent what you want, and let it own the runtime.
8
8
 
9
- ```bash
10
- bun install -g dev3000
11
- d3k
12
- ```
13
-
14
- You can also install with npm or pnpm if you prefer — bun is recommended.
15
-
16
- Select an AI agent (Claude, Codex, etc.) and start debugging. Tell your agent: "fix my app"
9
+ > "Let me test this project with d3k."
10
+ >
11
+ > "Debug the checkout flow with d3k."
12
+ >
13
+ > "Run this app with d3k and watch for errors while I reproduce the bug."
17
14
 
18
- ## Requirements
15
+ The TUI is still available for people who want a standalone terminal dashboard, but it is not required for the agent workflow.
19
16
 
20
- - Node.js >= v22.12.0
21
- - tmux (for split-screen mode with AI agents)
17
+ ## Install
22
18
 
23
- ## What It Does
19
+ Node.js 24 or newer is required.
24
20
 
25
- d3k runs your development server and monitors it in a browser, capturing:
21
+ Install the runtime globally:
26
22
 
27
- - Server logs and console output
28
- - Browser console messages and errors
29
- - Network requests and responses
30
- - Automatic screenshots (navigation, errors, interactions)
31
- - User interactions (clicks, form submissions)
32
-
33
- Everything is saved to timestamped logs that AI assistants can read to understand what went wrong and suggest fixes.
34
-
35
- ## CLI Commands
23
+ ```bash
24
+ bun install -g dev3000
25
+ ```
36
26
 
37
- ### Main Command
27
+ npm also works:
38
28
 
39
29
  ```bash
40
- d3k # Start d3k with agent selection prompt
41
- d3k --with-agent claude # Start with Claude in split-screen mode
42
- d3k --no-agent # Start d3k standalone (no agent)
30
+ npm install -g dev3000
43
31
  ```
44
32
 
45
- ### Diagnostic Commands
33
+ Install the d3k skill for your coding agents:
46
34
 
47
35
  ```bash
48
- d3k errors # Show recent errors (browser + server combined!)
49
- d3k errors -n 20 # Show last 20 errors
50
- d3k errors --context # Show interactions before each error (for replay)
51
- d3k errors --all # Show all errors from the session
36
+ bunx skills add vercel-labs/dev3000 --skill d3k --agent '*' -g -y
37
+ ```
52
38
 
53
- d3k logs # Show recent logs (browser + server combined)
54
- d3k logs --type browser # Show only browser logs
55
- d3k logs --type server # Show only server logs
56
- d3k logs -n 100 # Show last 100 lines
39
+ The skill teaches agents to start d3k non-interactively, retain the background process, reuse the managed browser, and inspect the unified evidence instead of launching a separate dev server or browser.
57
40
 
58
- d3k fix # Deep analysis of application errors
59
- d3k fix --focus build # Focus on build/compilation errors
60
- d3k fix --time 30 # Analyze last 30 minutes (default: 10)
41
+ ## The Agent Workflow
61
42
 
62
- d3k crawl # Discover URLs by crawling the app
63
- d3k crawl --depth all # Exhaustive crawl (default: 1 level)
43
+ When you ask to use d3k, the agent should:
64
44
 
65
- d3k restart # Restart the development server (rarely needed)
66
- ```
45
+ 1. Run `d3k portless status --json` and complete `d3k portless setup` if required.
46
+ 2. Run `d3k status --json` and reuse only a ready Portless project session.
47
+ 3. Start `d3k -t` in a retained background tool session when needed.
48
+ 4. Wait for d3k to report a port-free HTTPS URL and managed browser.
49
+ 5. Either hand the headed browser to you or drive it with `d3k agent-browser`, depending on your request.
50
+ 6. Read `d3k errors --context` and the unified logs after reproduction.
51
+ 7. Keep the same runtime and project-stable Chrome profile alive across edits and retests.
67
52
 
68
- ### Other Commands
53
+ That gives the user one stable URL, one browser, one evidence stream, and one dev server.
69
54
 
70
- ```bash
71
- d3k skill [name] # Get skill content or list available skills
72
- d3k upgrade # Upgrade d3k to the latest version
73
- d3k agent-browser # Run the bundled agent-browser CLI
74
- ```
55
+ ### "Let me test" vs. "Test this"
75
56
 
76
- ## Options
57
+ "Let me test with d3k" means the agent prepares the headed monitored browser and hands control to you. It should wait while you reproduce the issue, then inspect what d3k captured.
77
58
 
78
- ```bash
79
- d3k --help # Show all options
80
- ```
59
+ "Test/debug this with d3k" means the agent can drive the managed browser and investigate autonomously.
81
60
 
82
- | Option | Description |
83
- |--------|-------------|
84
- | `-p, --port <port>` | Development server port (auto-detected) |
85
- | `-s, --script <script>` | Script to run (e.g. dev, main.py) |
86
- | `-c, --command <command>` | Custom command (overrides auto-detection) |
87
- | `--browser <path>` | Path to browser executable (Chrome, Arc, etc.) |
88
- | `--profile-dir <dir>` | Chrome profile directory |
89
- | `--servers-only` | Run servers only, skip browser launch |
90
- | `--headless` | Run browser in headless mode (for CI) |
91
- | `--debug` | Enable debug logging (disables TUI) |
92
- | `-t, --tail` | Output logfile to terminal (like tail -f) |
93
- | `--no-tui` | Disable TUI, use standard terminal output |
94
- | `--with-agent <cmd>` | Run agent in split-screen mode (requires tmux) |
95
- | `--no-agent` | Skip agent selection, run standalone |
96
- | `--plugin-react-scan` | Enable react-scan performance monitoring |
97
- | `--date-time <format>` | Timestamp format: 'local' or 'utc' |
98
-
99
- ## How It Works
100
-
101
- 1. **Start d3k** - It detects your project type and starts the dev server
102
- 2. **Browser monitoring** - A browser opens and monitors your app via Chrome DevTools Protocol
103
- 3. **Capture everything** - Logs, errors, network requests, screenshots are saved
104
- 4. **AI reads logs** - Your AI agent can read `~/.d3k/{project}/d3k.log` to understand issues
105
- 5. **Fix with context** - The AI has full context to suggest accurate fixes
106
-
107
- ## File Locations
108
-
109
- | What | Where |
110
- |------|-------|
111
- | Logs | `~/.d3k/{project}/d3k.log` |
112
- | Screenshots | `~/.d3k/{project}/screenshots/` |
113
- | Chrome profile | `~/.d3k/{project}/chrome-profile/` |
114
- | Session info | `~/.d3k/{project}/session.json` |
115
- | Crash logs | `~/.d3k/crash.log` |
116
-
117
- ## Browser Options
118
-
119
- ### Chrome (Default)
120
-
121
- d3k launches Chrome by default. Each project gets a dedicated Chrome profile that preserves login state, cookies, and local storage.
122
-
123
- ### Arc Browser
61
+ ## Agent Commands
124
62
 
125
63
  ```bash
126
- d3k --browser '/Applications/Arc.app/Contents/MacOS/Arc'
64
+ # Is this project's runtime ready?
65
+ d3k status --json
66
+
67
+ # Is canonical Portless HTTPS ready?
68
+ d3k portless status --json
69
+
70
+ # Start the runtime manually in agent-safe mode (non-TUI default)
71
+ d3k -t
72
+
73
+ # Inspect unified evidence
74
+ d3k errors --context
75
+ d3k logs -n 200
76
+ d3k logs --type browser
77
+ d3k logs --type server
78
+
79
+ # Drive the exact browser d3k is monitoring
80
+ d3k agent-browser snapshot -i
81
+ d3k agent-browser click @e2
82
+ d3k agent-browser fill @e3 "text"
83
+ d3k agent-browser --require-d3k-browser open https://my-app.localhost
127
84
  ```
128
85
 
129
- ### Other Chromium Browsers
86
+ Do not run `npm run dev` or `bun run dev` alongside d3k. d3k is the dev-server owner for the session.
130
87
 
131
- ```bash
132
- # Brave
133
- d3k --browser '/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'
88
+ Portless is required by default and only counts as ready when it provides a genuinely port-free URL such as `https://my-app.localhost`. `d3k portless setup` performs one-time administrator authorization to generate/trust the local HTTPS CA and install a root-owned startup service on port 443. After setup, every d3k server registers behind that proxy and the managed browser opens the Portless URL. d3k fails before starting the app when canonical Portless is unavailable; use `--no-portless` only when direct localhost routing is specifically required.
134
89
 
135
- # Edge
136
- d3k --browser '/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge'
137
- ```
90
+ ## Why the Managed Browser Matters
138
91
 
139
- ### Servers Only Mode
92
+ Each project gets a persistent Chrome profile under `~/.d3k/<project>/chrome-profile/`. Login state, cookies, and local storage survive across debugging sessions.
140
93
 
141
- Skip browser monitoring entirely:
94
+ d3k also connects browser activity to server output, so an agent can see the interaction that preceded an error instead of reasoning from disconnected terminal and browser snapshots.
142
95
 
143
- ```bash
144
- d3k --servers-only
145
- ```
96
+ For OAuth and other auth-sensitive flows, let d3k launch Chrome. A separate Playwright, browser MCP, raw Chrome, or custom `agent-browser --profile` session is a different browser identity and can break sign-in flows.
146
97
 
147
- ### Headless Mode
98
+ ## What d3k Captures
148
99
 
149
- For CI/CD environments:
100
+ - Development-server output
101
+ - Browser console messages and exceptions
102
+ - Network requests and responses
103
+ - User interactions
104
+ - Navigation and error screenshots
105
+ - Chrome DevTools Protocol events
106
+ - A session manifest that agents can discover with `d3k status --json`
150
107
 
151
- ```bash
152
- d3k --headless
153
- ```
108
+ Artifacts are stored per project:
109
+
110
+ | Artifact | Location |
111
+ | --- | --- |
112
+ | Active session | `~/.d3k/<project>/session.json` |
113
+ | Consolidated log | `~/.d3k/<project>/d3k.log` or `logs/` |
114
+ | Screenshots | `~/.d3k/<project>/screenshots/` |
115
+ | Chrome profile | `~/.d3k/<project>/chrome-profile/` |
116
+ | Crash log | `~/.d3k/crash.log` |
154
117
 
155
- ## Split-Screen Mode (tmux)
118
+ ## Standalone TUI
156
119
 
157
- d3k can run alongside your AI agent in a split-screen terminal using tmux:
120
+ Run `d3k` directly when you want the interactive terminal experience:
158
121
 
159
122
  ```bash
160
- d3k --with-agent claude # Claude Code
161
- d3k --with-agent codex # OpenAI Codex
162
- d3k --with-agent opencode # OpenCode
123
+ d3k
163
124
  ```
164
125
 
165
- Requirements:
166
- - tmux installed (`brew install tmux` on macOS)
167
-
168
- Controls:
169
- - `Ctrl+B Left/Right` - Switch focus between panes
170
- - `Ctrl+C` in either pane - Exit both
126
+ You can also launch an agent beside the TUI in tmux:
171
127
 
172
- ## Supported Frameworks
128
+ ```bash
129
+ d3k --with-agent claude
130
+ d3k --with-agent codex
131
+ d3k --with-agent opencode
132
+ ```
173
133
 
174
- d3k works with any web framework:
134
+ The split-screen workflow requires tmux. The agent-first background workflow does not.
175
135
 
176
- - **JavaScript/TypeScript**: Next.js, Vite, Create React App, Vue, Svelte, Astro
177
- - **Python**: Django, Flask, FastAPI
178
- - **Ruby**: Rails
179
- - **Any other** web framework with a dev server
136
+ ## Runtime Options
180
137
 
181
- ## FAQ
138
+ ```bash
139
+ d3k --help
140
+ ```
182
141
 
183
- ### Does this work with Cursor, Windsurf, etc.?
142
+ | Option | Purpose |
143
+ | --- | --- |
144
+ | `-p, --port <port>` | Override the detected dev-server port |
145
+ | `-s, --script <script>` | Override the detected package script |
146
+ | `-c, --command <command>` | Run a custom dev-server command |
147
+ | `--app-url <url>` | Open a specific URL in the managed browser |
148
+ | `--profile-dir <dir>` | Override the project Chrome profile |
149
+ | `--no-portless` | Disable the default stable Portless URL |
150
+ | `--headless` | Run Chrome headlessly for CI |
151
+ | `--servers-only` | Intentionally disable browser monitoring |
152
+ | `--tui` | Enable the interactive dashboard (off by default) |
153
+ | `--no-agent` | Skip the standalone agent-selection prompt |
154
+ | `-t, --tail` | Stream the consolidated log |
155
+ | `--debug` | Print verbose runtime diagnostics |
156
+
157
+ Prefer auto-detection. Use overrides only when the project has an unusual dev command, port, or target URL.
158
+
159
+ ## Diagnostic Commands
184
160
 
185
- Yes! d3k works with any AI assistant that can read files. Point your AI to the log file at `~/.d3k/{project}/d3k.log`.
161
+ ```bash
162
+ d3k errors
163
+ d3k errors --context
164
+ d3k errors --all
186
165
 
187
- ### How do I stop d3k?
166
+ d3k logs
167
+ d3k logs --type browser
168
+ d3k logs --type server
169
+ d3k logs --json
188
170
 
189
- `Ctrl+C` stops both d3k and your development server.
171
+ d3k fix
172
+ d3k fix --focus build
190
173
 
191
- ### Where are screenshots saved?
174
+ d3k crawl
175
+ d3k crawl --depth all
176
+ ```
192
177
 
193
- Screenshots are saved to `~/.d3k/{project}/screenshots/` with timestamps.
178
+ ## Supported Projects
194
179
 
195
- ### What if d3k crashes?
180
+ d3k detects common web projects, including:
196
181
 
197
- Check `~/.d3k/crash.log` for details. Run with `--debug` for more verbose output.
182
+ - Next.js, Vite, React, Vue, Svelte, and Astro
183
+ - Django, Flask, and FastAPI
184
+ - Rails
185
+ - Custom servers supplied through `--command`
198
186
 
199
187
  ## Development
200
188
 
201
- ```bash
202
- # Install dependencies
203
- bun install
204
-
205
- # Run locally
206
- bun run dev
189
+ Use d3k itself as the local runtime for this repository:
207
190
 
208
- # Build
209
- bun run build
191
+ ```bash
192
+ d3k -t
193
+ ```
210
194
 
211
- # Test
212
- bun run test
195
+ After code changes:
213
196
 
214
- # Lint
197
+ ```bash
215
198
  bun run lint
199
+ bun run typecheck
216
200
  ```
217
201
 
218
- ## Contributing
202
+ For CLI or TUI changes under `src/`:
219
203
 
220
- We welcome contributions! Please see our [contributing guidelines](./CONTRIBUTING.md).
204
+ ```bash
205
+ bun run canary
206
+ ```
221
207
 
222
208
  ## License
223
209
 
package/bin/dev3000 CHANGED
@@ -6,7 +6,7 @@
6
6
  * pre-compiled binary from the platform-specific optional dependency.
7
7
  */
8
8
 
9
- import { spawnSync } from "child_process"
9
+ import { spawn } from "child_process"
10
10
  import { existsSync } from "fs"
11
11
  import { createRequire } from "module"
12
12
  import { arch, platform } from "os"
@@ -82,14 +82,39 @@ function findBinary() {
82
82
  function main() {
83
83
  const binPath = findBinary()
84
84
 
85
- // Execute the binary with all arguments passed through
86
- const result = spawnSync(binPath, process.argv.slice(2), {
85
+ // Keep the JavaScript launcher alive so it can forward terminal signals to
86
+ // the compiled runtime. This matters when the runtime owns detached child
87
+ // process groups such as Portless-managed dev servers.
88
+ const child = spawn(binPath, process.argv.slice(2), {
87
89
  stdio: "inherit",
88
90
  shell: false,
89
91
  })
90
92
 
91
- // Exit with the same code as the binary
92
- process.exit(result.status || 0)
93
+ const forwardSignal = (signal) => {
94
+ if (!child.killed) {
95
+ child.kill(signal)
96
+ }
97
+ }
98
+
99
+ process.on("SIGINT", () => forwardSignal("SIGINT"))
100
+ process.on("SIGTERM", () => forwardSignal("SIGTERM"))
101
+ if (process.platform !== "win32") {
102
+ process.on("SIGHUP", () => forwardSignal("SIGHUP"))
103
+ }
104
+
105
+ child.on("error", (error) => {
106
+ console.error(`Failed to start d3k: ${error.message}`)
107
+ process.exit(1)
108
+ })
109
+
110
+ child.on("exit", (code, signal) => {
111
+ if (code !== null) {
112
+ process.exit(code)
113
+ }
114
+
115
+ const signalExitCodes = { SIGINT: 130, SIGTERM: 143, SIGHUP: 129 }
116
+ process.exit(signalExitCodes[signal] || 1)
117
+ })
93
118
  }
94
119
 
95
120
  main()
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-monitor.d.ts","sourceRoot":"","sources":["../src/cdp-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp-monitor.d.ts","sourceRoot":"","sources":["../src/cdp-monitor.ts"],"names":[],"mappings":"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"}
@@ -1016,7 +1016,7 @@ export class CDPMonitor {
1016
1016
  return;
1017
1017
  }
1018
1018
  const snapshot = await this.getReactDebugSnapshot();
1019
- if (!snapshot || !snapshot.hookPresent) {
1019
+ if (!snapshot?.hookPresent) {
1020
1020
  return;
1021
1021
  }
1022
1022
  this.lastReactSnapshotLogTime = now;