On this page
If a folder has a package.json, DevWorkspace Pro treats it as a Node.js project. Every script in that file becomes a button on the Run card, so you stop retyping pnpm run test. New Project can also scaffold React, Vue, Svelte, Vanilla, Next.js and Nuxt apps with npm, pnpm, Yarn or Bun.
Core features every project gets
- Files editor with TypeScript and JavaScript completions, ⌘+P and project search
- Git Changes, plus GitHub issues and Actions
- Send to AI and AI sessions with resume
- Terminal tabs, Focus Pad and the ⌘+K switcher
- Uptime monitoring and Remote SSH
Extras for Node.js
| Area | What you get |
|---|---|
| Stack | Node.js badge from package.json, a create flow with six templates and four package managers, Run card with scripts, NPM Dependencies recipe, security scan for npm, pnpm, Yarn and Bun |
| Runtime | Package manager (native), Docker Compose services |
Getting a Node.js project going
Create or import
Click New Project, select Node.js and pick a Template: React, Vue, Svelte, Vanilla, Next.js or Nuxt. In step 2, choose Package manager, then npm, pnpm, Yarn or Bun.
For a Vite template, the app runs <manager> create vite@latest with that template, followed by <manager> install. The run command is <manager> run dev, and you can change it with the edit icon.
Monorepos and existing apps work too: drop the folder on the window. The app looks for package.json in the folder or one level down, for example in web/ or frontend/.
Run your scripts
The Run card on the Overview tab puts your run command first, with a Run button. Each script in package.json follows as its own button, for example pnpm run test or bun run build. Hover one to see the full command.
Lifecycle hooks such as postinstall, and the pre/post hooks of other scripts, stay hidden. If the project also has a Makefile, a tab at the top of the card lists its targets. Every command runs in a headless terminal and shows in the status bar while it runs.
Bring in an AI agent
Press ⌘+J, type the task and press Enter. Claude Code, Codex or OpenCode starts in the project folder.
Need a second agent on another project? Open the ⌘+K switcher, select the project and press Tab.
Ship through GitHub
Commit in Git › Changes, where Husky and lint-staged run the same way they do in a terminal. Push from the terminal tab.
In Git › Actions you can read job logs, re-run a job or cancel a run. A failed run has Send failure to AI.
Node.js tools in detail
Package manager detection
The Run card reads the packageManager field of package.json. Without it, the lockfile decides:
| Lockfile | Manager |
|---|---|
bun.lock or bun.lockb |
Bun |
pnpm-lock.yaml |
pnpm |
yarn.lock |
Yarn |
package-lock.json |
npm |
Dependency security
Health › Security takes the exact versions from your lockfile and checks direct and transitive packages, production and dev. The sources are the npm registry advisories (the data behind npm audit) and OSV.dev.
Upgrade a package with one click, or send the upgrade to your AI tool. The app also checks in the background and tells you when a new advisory affects one of your projects.
NPM Dependencies recipe
Runs npm outdated and lists the outdated packages.
Docker Compose
A project with compose.yaml gets a Services card. Each service shows its status and its published ports (click one to open http://localhost:<port>), with actions to start, stop, restart and view logs.
Editor
The Files tab gives completions and syntax checks for .ts, .js, .json, .css, .scss and .html. ⌘+Shift+F searches the project and skips files in .gitignore, which keeps node_modules out of the results.
Keeps your existing setup
The app uses the node, npm, pnpm, yarn, bun and docker on your PATH. Headless commands start through your shell with its usual configuration and your login shell's PATH, so aliases keep working. Commands the app runs stay out of your shell history.
Click IDE to open the project in your editor.
Framework pages: /for/nextjs and /for/react-vite. Docs: Projects, Dependency Security, Docker Compose, Terminal.
FAQ
Frequently asked questions
Which package managers does DevWorkspace Pro support?
npm, pnpm, Yarn and Bun. New Project shows only the managers that are installed. For an existing project, the Run card takes the manager from the packageManager field in package.json, or else from the lockfile.
Which lockfiles does the security scan read?
package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock (classic and Berry) and bun.lock. The binary bun.lockb is not supported. Run bun install --save-text-lockfile to create bun.lock.
Can I run a Node.js app in Docker?
Yes. Select Docker Compose in step 2, or import a folder that has compose.yaml. The Services card starts, stops, restarts and streams logs for each service.
Does it show Vue, Svelte or Next.js as separate stacks?
No. A folder with package.json shows the Node.js badge. The framework choice matters when you create a project: React, Vue, Svelte, Vanilla, Next.js or Nuxt.