Package Exports
- @codepadding/coder
- @codepadding/coder/server/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@codepadding/coder) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@codepadding/coder
AI-powered dev launcher — one command to launch your entire multi-service project in a browser dashboard.
What it does
- One command launches your entire dev environment in a browser UI
- Auto-discovers sub-projects (Node.js, Python, Go, Rust, Ruby, PHP)
- Manages tmux sessions for each service with live health monitoring
- Git status, error log aggregation, and service restart buttons
Install
npm install -g @codepadding/coderThat's it. The coder command is now available globally.
Requirements
| Tool | Required | Purpose |
|---|---|---|
| Node.js ≥ 18 | Yes | Runs the Coder server |
| tmux | Recommended | Terminal session management per service |
| ttyd | Recommended | Browser-based terminal panes |
| claude CLI | Optional | Claude terminal pane integration |
macOS
Install Node.js from nodejs.org, then install the optional tools with Homebrew:
brew install tmux ttydInstall Coder:
npm install -g @codepadding/coderThen run it from any project folder:
cd ~/projects/myapp
coder .Linux (Ubuntu / Debian)
Install Node.js 18+:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejsInstall tmux:
sudo apt install -y tmuxInstall ttyd (download the latest binary from github.com/tsl0922/ttyd/releases):
sudo wget -O /usr/local/bin/ttyd https://github.com/tsl0922/ttyd/releases/latest/download/ttyd.x86_64
sudo chmod +x /usr/local/bin/ttydInstall Coder:
npm install -g @codepadding/coderThen run it:
cd ~/projects/myapp
coder .Windows (via WSL)
Coder uses bash and tmux internally, which do not run natively on Windows. The supported approach is WSL (Windows Subsystem for Linux), which gives you a full Linux environment inside Windows.
Step 1 — Enable WSL (run once in PowerShell as Administrator):
wsl --installRestart your PC when prompted. This installs Ubuntu by default.
Step 2 — Open a WSL terminal and install Node.js:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejsStep 3 — Install tmux and ttyd:
sudo apt install -y tmux
sudo wget -O /usr/local/bin/ttyd https://github.com/tsl0922/ttyd/releases/latest/download/ttyd.x86_64
sudo chmod +x /usr/local/bin/ttydStep 4 — Install Coder:
npm install -g @codepadding/coderStep 5 — Run it from your project folder inside WSL:
cd ~/projects/myapp # or /mnt/c/Users/you/projects/myapp for Windows paths
coder .The dashboard opens in your Windows browser automatically at http://localhost:7700.
Running
coderdirectly in PowerShell or CMD (without WSL) is not supported.
Usage
cd /path/to/your/project
coder . # launch from current directory
coder /abs/path # launch for a specific pathFirst run
When you run coder . for the first time in a project, coder will:
- Open a browser at
http://localhost:7700 - Show an "Initialize" button
- Scan your project to discover all sub-projects
- Ask you to review the discovered configuration
- Start all services in tmux sessions
- Show the live dashboard
Project storage
Configuration is stored in .coder/config.json within your project root.
Add .coder to your .gitignore or commit it to share the config with your team.
How it works
coder starts a lightweight Node.js server that serves the dashboard UI and manages your dev services. Each service runs in its own named tmux session (coder-<name>), so you can also attach to them directly:
tmux attach -t coder-api
tmux attach -t coder-frontendPressing Ctrl+C in the terminal where coder is running will cleanly shut down the server, kill all coder-* tmux sessions, and free the port.
Multiple projects at once
You can run coder in several projects simultaneously — each gets its own port automatically. The first project uses 7700, the second 7701, and so on. Ports are stored in .coder/config.json so the same project always reopens on the same URL.
coder ~/projects/frontend # → http://localhost:7700
coder ~/projects/backend # → http://localhost:7701