DevWorkspace Pro

One workspace for every Node.js project

Create Vite, Next.js and Nuxt apps with npm, pnpm, Yarn or Bun. Run package.json scripts in one click, scan lockfiles and use AI agents in one desktop app.

Updated 3 min read
On this page
  1. Core features every project gets
  2. Extras for Node.js
  3. Getting a Node.js project going
  4. Node.js tools in detail
  5. Keeps your existing setup

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
Projects Import
acme-web ~/code/acme-shop/web Node.js
acme-shop ~/code/acme-shop Laravel
billing-api ~/code/billing-api Go
data-jobs ~/code/data-jobs Python
Shop.Api ~/code/shop-api .NET
agency-blog ~/sites/agency-blog WordPress
[Projects] A Node.js project in the same list as everything else you work on.

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.

Related

All stacks

DevWorkspace Pro

One workspace for every project

Files, Git, GitHub, AI agents, the terminal and your runtimes in one desktop app. Works with every project folder.

macOS Windows Linux