Everything DashCode does, and what comes next.
DashCode is a Mac app that keeps every project you're building in one window:
dev servers, Claude Code sessions, terminals, git, files, docs and a roadmap.
This page is the full inventory: what works in the app today, what is built for the next
release, and what is still only an idea. After that comes the reference: install, the
project registry, shortcuts, plans and privacy.
Written for DashCode 2.2.3 · macOS 13 Ventura or later · Apple silicon and Intel
Live in the app now
Partly live some of it works
Coming soon built, not released yet
Exploring an idea, no date
Reference
Install, configure, and the fine print.
Install and requirements
- macOS 13 Ventura or later. There are separate builds for Apple silicon
(download) and Intel
(download).
- Open the disk image and drag DashCode to Applications. The app is signed and notarized
by Apple.
- Sign in from inside the app. New accounts get 4 weeks free, no
card needed. After that, updates arrive on their own.
- On first launch DashCode opens Setup, which shows what's
installed and installs the rest.
Tools it uses, but doesn't bundle
DashCode runs the tools already on your Mac. If one is missing, only the feature that needs
it is affected, and Setup can install most of them for you.
| Tool | Used for | Without it |
python3 | Console and Claude Code tabs | No terminals. It comes with the Xcode Command Line Tools. |
git | The Git tab, the Overview's git cells, Changes | No git features. Switching branches needs 2.23 or later. |
claude | Claude Code consoles, the Roadmap's Claude buttons | Shell consoles only. |
gh | Detect, Publish to GitHub | You type links in by hand and publish from a terminal. |
| Chrome, Chromium, Edge or Brave | Preview screenshots | No screenshots. The Preview tab still works. |
Coming from Mission Control
DashCode used to be called Mission Control. Version 2.0 can't update itself to the new name,
so install DashCode fresh. Your projects and settings are copied over the
first time it opens, and you sign in once.
The registry: apps.json
Every project lives in one file, apps.json, in
~/Library/Application Support/DashCode/. The app writes it when you add or
edit a project in Settings, and you can edit it by hand. Changes on disk
are picked up live. Sidebar and board order is kept separately in
apps.order.json, and each project's roadmap in its own folder, at
.dashcode/roadmap.json.
{
"apps": [
{
"id": "rover-api",
"name": "Rover API",
"emoji": "🤖",
"tag": "FastAPI + Vite",
"accent": "#a855f7",
"cwd": "/Users/you/Projects/rover-api",
"openUrl": "http://localhost:5173",
"procs": [
{ "name": "api", "cmd": "uvicorn", "args": ["main:app", "--reload", "--port", "8000"], "upPort": 8000 },
{ "name": "web", "cmd": "npm", "args": ["run", "dev"], "cwd": "/Users/you/Projects/rover-api/web", "upPort": 5173 }
],
"links": [ { "label": "Railway", "url": "https://railway.com/project/…" } ],
"folderId": "side"
}
],
"folders": [ { "id": "side", "name": "Side projects", "emoji": "🧪" } ]
}
A project
| Field | What it is |
id | Stable identifier, made from the name when the app adds a project. Required. |
name | What the sidebar and board show, up to 80 characters. Required. |
cwd | The project folder, as an absolute path. Consoles, Docs, Files, Git and the Roadmap all work from it. Required. |
procs | Its processes, up to 8. An empty list is fine: the project is idle, with consoles, docs, files and a roadmap, and nothing to start. |
openUrl | What Open goes to. Defaults to http://localhost: plus the first process's port; required when no process has a port. |
emoji, tag, accent | The project's icon, a short label (up to 100 characters), and an accent colour as hex (#2563eb). |
note | Free text shown on the Info tab, up to 2,000 characters. |
links | Up to 8 { "label", "url" } pairs, http(s) only. A label is up to 40 characters and defaults to the host name. |
folderId | The id of a folder from the top-level folders list. Folders are labels only. |
A process
| Field | What it is |
name | Unique within the project, up to 40 characters. It labels the process's log lines. |
cmd, args | The command and its arguments, as a list of strings. No shell is involved. dashcode-serve serves a static folder with DashCode's own server, and needs a port. |
upPort | The port that means "running" once it answers, 1024 to 65535. Optional: without one, the process counts as up once it's launched. |
extraUpPorts | More ports the process uses. They are kept clear of other projects, like upPort. |
cwd | Run from a different folder than the project's. |
env | Extra environment variables, as { "NAME": "value" }. Names are upper case: letters, digits and underscores. |
No port can belong to two projects. The app refuses the clash when you save, rather than
letting two dev servers fight over it later.
DashCode's skills
Four Claude Code skills come with DashCode. Install them from Setup.
Each one is linked into ~/.claude/skills, so app updates reach it without a
reinstall. Use them in any Claude Code session: ask in plain words, or type the skill's
name as a slash command. Skills turns each one on or off.
dashcode-project
Changes a project's DashCode settings, or creates a new project, from a prompt. Claude
works through DashCode itself, so a change is checked before it's saved and shows up at
once.
- Settings: name, emoji, accent, stack tag and notes, the dev processes (command,
port, environment), the Open link, Info-tab links and the sidebar folder.
- New projects: a fresh folder, optionally with the starter app you describe, or
an existing folder added as it is.
- Running it: start, stop and restart, and read the logs to check it came up.
make Start run npm run dev on port 5173
add the Vercel deploy link to this project
new project called Potluck, a Vite + React app
dashcode-roadmap
Works on a project's Roadmap, which is saved in the project at
.dashcode/roadmap.json.
- Refine a todo or idea: Claude asks a few questions, one at a time, then writes a
short spec and the steps. Refine with Claude on a roadmap row does the same.
- Add items or steps, or break a feature down into steps.
- Claude ticks off each step as it finishes it, but checking off the item is up to you.
refine "offline mode" on the roadmap
break the export feature down into steps
dashcode-prd
Turns a rough product idea into a PRD.md that you and Claude can build from,
one phase at a time: a proof of concept, then an MVP, then later phases, each with its
features and tech stack.
- It questions the idea before writing anything: one question at a time, each with a
recommended answer.
- It starts wherever you are: a one-line idea, a clear plan, existing notes, or a PRD to
revise after a phase ships.
/dashcode-prd an app that helps people split potluck dishes
dashcode-design-system
Builds a design system in your project, at design-system/<name>/. It
contains DESIGN.md (the feel, the values and the reasons for them),
tokens.json and tokens.css, and specimen.html, a page
that shows every token. It has three commands: type
/dashcode-design-system <command>, or just ask.
| Command | What it does |
extract | Measures a live site, or reads screenshots, and
writes down its system, with each value tagged by how it was found. Give it two or
more sites and it shows them side by side, asks what to keep from each, and combines
them into a new system. |
update | Changes an existing system, then rebuilds the specimen
and the token files. Each change goes in DESIGN.md's decisions log. With nothing to
change, it re-renders the specimen. |
explore | Makes three variants (or as many as you ask for)
and shows them side by side on one page. Each one appears in the specimen's own
layout, with contrast checks and a dark-mode toggle. Pick one or ask for a mix, and
update applies it. |
/dashcode-design-system extract https://example.com
/dashcode-design-system explore a color palette using sky blue, navy blue and Yves Klein blue
/dashcode-design-system update go with b
/dashcode-design-system update make the corners rounder
- It only writes to
design-system/. Applying the tokens to your app is a
separate step, which it offers and does only when you say so.
- If you edit
tokens.css by hand, update moves your edits into
the system instead of overwriting them.
- Measuring a live site uses Playwright, which Claude installs in the project the first
time. Screenshots need no extra tools.
Keyboard shortcuts
The same list is in Dashboard settings.
Navigation
| ⌘K | Quick switcher |
| ⌘0 | Overview |
| ⌘1–⌘9 | Jump to the nth project in the sidebar |
| ⌘[⌘] | Previous / next tab |
| ⌘⇧←⌘⇧→ | Previous / next tab (works from a console too) |
| ⌘⇧↑⌘⇧↓ | Previous / next project in the sidebar |
| ⌘B | Collapse or expand the sidebar |
| / | Focus the sidebar filter |
| esc | Close menus and dialogs, clear the filter |
Tabs & consoles
| ⌘E | New console (shell) |
| ⌘⇧E | New Claude Code |
| ⌘⇧D | Close the active tab |
| ⇧↵⌥↵ | Newline in a console instead of submitting |
Quick switcher
| ↵ | Open the highlighted project |
| ⇧↵ | Open it in a new console |
| esc | Close the switcher |
Editing & state
| ⌘S | Save the open doc, file or settings form |
| ⌘F | Find in the open doc or file |
| ⌘←⌘→ | Jump to the start / end of the line |
| ⌘⇧P | Pause / resume live updates |
Roadmap tab
| c | Add a todo |
| i | Add an idea |
| esc | Close the open item |
Closing a tab is ⌘⇧D, so ⌘W is never taken from a console.
⌘P never opens a print dialog.
Account and plans
New accounts get 4 weeks free, no card needed. The trial starts the first time you sign
in to the app, and ends on time even if the Mac is offline. When it ends, the app asks you
to subscribe, and nothing is charged automatically. One trial per account and per Mac.
After that, DashCode needs an active subscription. There is one plan, Pro, paid monthly or
yearly. You subscribe from inside the app, during the trial or after it; billing starts the
day you subscribe.
Prices are in US dollars, and sales tax or VAT is added where it applies. Promotion codes
are accepted at checkout.
- Sign-in is with Google or GitHub. Account… in the app
menu opens the macOS sign-in window, with "Use my browser instead" as a fallback. The app
never sees your password.
- Up to 3 Macs per account. Signing in again on the same Mac doesn't use
another one. You can see and remove your Macs on your account
page.
- Offline, DashCode keeps working for up to 14 days between checks. It
warns you after 7 days without one.
- Manage billing opens Stripe's billing portal, where you can change the
card, get invoices or cancel. Signing out leaves your running projects running.
Privacy and usage reporting
Your projects, code, files and terminals stay on your Mac. While you're signed in, the app
reports how much it is used: counts and durations, sent at launch, about every 30 minutes,
and at quit. Reporting can't be switched off.
What is reported, per day
- Launches and visits, and active time (not counting idle, asleep or locked).
- Tabs opened by kind, and projects added by method.
- Crashes and failed starts.
- The number of projects, the app and macOS versions, and Apple silicon or Intel.
What never leaves the Mac
- Project and folder names, file paths, and file contents.
- Commands, arguments, environment variables and
.env files.
- Terminal input and output, logs, and anything said to or by Claude.
- Git branches, commits and remotes, and Preview addresses and screenshots.
The server accepts a fixed list of numbers and rejects any report that holds anything
else. Day-by-day usage is kept for 400 days, and deleting your account deletes all of it.
The full statement is on the privacy page.