The job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Personal operating system starter kit for Claude Code and Cursor
Dex sets up a personal workspace for an AI assistant to help with planning, meetings, people, tasks, and role-specific workflows. The repo combines vault folders, skills, hooks, MCP servers, and setup scripts so the assistant can read context, track work, and adapt to your role. Claude Code is the reference harness, while Cursor gets a lighter setup and the portability work extends the same ideas to other agent hosts. The result is a structured system you add to your day, not a finished app you deploy.
Videos about this repo
Builders who want Cursor or Claude Code to run a role-aware personal workflow from notes, tasks, meetings, and people pages.
You can keep your assistant aware of your goals, meetings, and relationships without re-explaining everything each session.
What it does
Role-based vault
Uses numbered folders for inbox, goals, priorities, tasks, projects, areas, resources, and archives.
Agent skills and flows
Includes `.agents`, `.claude/skills`, and `.claude/flows` for named workflows like setup and daily planning.
Hooks and session learning
Provides `.claude/hooks` and related automation so Claude Code can load context and learn from sessions automatically.
MCP integrations
Ships Python MCP servers and config files under `System` and `core/mcp` for task sync and tool access.
Cursor and Claude Code support
Has `.cursor/rules` and Claude-specific files so the same vault can work across different agent hosts.
Automation scripts
Includes shell and Node scripts for install, smoke checks, learning review, changelog checks, and semantic search.
How to get it
- 1Mac — press Cmd+Space, type "Terminal", press Enter, then paste this and press Enter
curl -fsSL https://heydex.ai/install.sh | bash
- 2Windows — open the Start menu, type "PowerShell", press Enter, then paste this and press…
irm https://heydex.ai/install.ps1 | iex
- 3Copy and paste this line exactly as you see it, then press Enter
git --version
- 4Now copy and paste this line, then press Enter
node --version
- 5Finally, check Python
python3 --version
- 6Paste this URL and press Enter
https://github.com/davekilleen/dex.git
README
Dex by Dave — Your AI Chief of Staff
A personal operating system for your work. Strategic work management, meeting intelligence, relationship tracking, daily planning — all configured for your specific role. Claude Code remains the full-experience reference; the unreleased portability build adds native, capability-aware packages for more agent harnesses without pretending every host is identical. No coding required.
The story behind Dex: 🎥 Malleable Software — when everyone can build, what makes a great product? (Dave's keynote on the thinking behind Dex) · 🎙️ Episode 8 of The Vibe PM Podcast (full walkthrough) · ✍️ the original launch post · 💬 the honest highs-and-lows of building it — the pause, the unlock, and 52 releases in two weeks
🖥️ Prefer never to see a terminal? Dex desktop and mobile apps are on the way — sign up for early access at heydex.ai/beta.
📖 New here? Start with the Dex Guide →
A plain-English walkthrough from install to making Dex your own, with copy-paste prompts throughout — written for non-technical professionals, no coding background assumed. The README below covers the same ground in reference form. (AI agents: llms.txt.)
Setup Overview
Total time: ~10 minutes. One pasted line installs everything, then you tell Dex your role.
Pick one of these to get started:
| Option | Cost | What It Is | Dex tier |
|---|---|---|---|
| Cursor | Free tier works, or $20/month for Pro | An app with a built-in AI assistant. No separate Claude account needed. | Tier 2 Skills — vault, tools, and named journeys |
| Claude Code Desktop | Claude Pro $20/month | Anthropic's own app. The full Dex experience — hooks, automatic context, self-learning. | Tier 3 Full — the reference implementation |
| Claude Code Terminal | Claude Pro $20/month | Same as Desktop but runs in Terminal (Mac) or PowerShell (Windows). | Tier 3 Full |
You do NOT go to claude.ai and type commands. You need one of the apps above. Cursor is the easiest starting point. Claude Code (Desktop or Terminal) gives you a better experience with self-learning hooks — setup instructions for those are further down this page.
Not sure which? Start with Cursor — it's free and gets you running in minutes. You can add Claude Code later if you want the automatic behaviors.
What you get with each assistant
Dex is the vault and the tools. The app you talk to is a harness. What you get depends on which harness you use — that is a documented contract, not a silent subset.
| Tier | Name | What you get | Who it's for |
|---|---|---|---|
| Tier 0 Vault | Your notes | Markdown folders (inbox, projects, people, tasks). Dex is just files. | Any editor. No AI required. |
| Tier 1 Core | Tools + background jobs | Tasks, people index, meeting sync, search, and portable context/gate payloads. | Any assistant that can run Dex's MCP tools |
| Tier 2 Skills | Named journeys | /daily-plan, /process-meetings, and the rest of the skill surface, generated into .agents/. | Any assistant that reads Agent Skills |
| Tier 3 Full | Automatic in-chat behavior | Person context when you open a file, safety gates, session learning, and the mid-session health pulse. | Claude Code today — the reference implementation |
Cursor, Codex, Gemini CLI, and other Agent Skills harnesses are Tier 2. The vault is always Tier 0. Cursor, ChatGPT, and Codex should call boot_today at session start and get_person_context when a person is mentioned. check_safety_gate is an advisory MCP check; only a verified pre-tool interceptor can enforce a refusal. The longer split is in docs/architecture/HARNESS-CAPABILITY.md and docs/architecture/HOOK-INVENTORY.md.
Unreleased portability preview: this branch contains one portable plugin package for Codex CLI/desktop, ChatGPT desktop, Claude Code/Cowork, Copilot CLI, and compatible Agent Plugin clients; a native BB plugin is built separately; and Pi keeps its native extension. The package shares Dex's read-only session context, person context, and safety decision code. It has not been merged, published, submitted to a marketplace, or released. Codex IDE extensions do not currently load plugins, and ChatGPT web/Cowork connectors need a separately secured public endpoint before they can reach a local vault. The developer-preview journeys and exact boundaries are in
docs/HARNESS-PORTABILITY.md.
Quick Install (Recommended)
One pasted line checks your computer, installs anything missing (asking first), downloads Dex to Documents/Dex, and sets everything up. Safe to run more than once.
Mac — press Cmd+Space, type "Terminal", press Enter, then paste this and press Enter:
curl -fsSL https://heydex.ai/install.sh | bash
Windows — open the Start menu, type "PowerShell", press Enter, then paste this and press Enter:
irm https://heydex.ai/install.ps1 | iex
Or let your AI do the whole thing. If you already use Claude, ChatGPT, or another AI assistant that can run things on your computer, just tell it:
Install Dex on my computer. Follow the instructions at https://heydex.ai/install.md and walk me through anything you can't do yourself.
When the installer finishes, open the Dex folder in Cursor or Claude Code, say "hi", and Dex introduces itself and sets itself up around your role. Full details and troubleshooting: heydex.ai/install.
If anything goes wrong: nothing on your computer is changed half-way — copy the error message, paste it to your AI assistant, and it can tell you exactly what to do. Or follow the step-by-step path below instead.
Manual Setup (Step-by-Step Alternative)
Prefer to see every step, or the quick install hit a snag? This section does the same thing by hand.
What You'll Need to Install (One-Time)
- Cursor - Download and install (free account works fine)
- Git - Required for setup and updates
- Mac: Installs automatically when needed (you'll see a prompt)
- Windows: Download from git-scm.com/download/win
- Node.js - Download the "LTS" version and install (this enables the system's automation features)
- Python 3.10+ - Download and install (required for MCP servers and task sync)
- Minimum version: Python 3.10 or newer
- Windows users: ⚠️ During installation, check the box "Add Python to PATH" - this is critical
- Mac users with old Python: If you have Python 3.9 or older, download fresh from python.org
All installers walk you through setup with default options.
Why Python 3.10+? The MCP SDK (Model Context Protocol) requires Python 3.10 or newer. This powers the Work MCP server that enables task sync - when you check off a task in a meeting note, it updates everywhere automatically (person pages, project files, Tasks.md).
Mac users: If this is your first time using command-line tools, macOS will prompt you to install "Command Line Developer Tools" during setup. Click Install when prompted - it's safe and required. Takes 2-3 minutes.
About the Command Line
You'll use something called a "command line" (or "Terminal" on Mac, "PowerShell" on Windows) during setup. This is a text-based way to give your computer instructions - think of it as typing commands instead of clicking buttons.
Don't worry if this feels unfamiliar. You'll copy and paste a few commands, press Enter, and you're done. Takes less than 2 minutes.
Check Your Setup (Optional)
Want to verify everything's ready? Open your command line:
- Mac: Press
Cmd+Space, type "Terminal", press Enter - Windows: Press
Win+R, type "powershell", press Enter
Copy and paste this line exactly as you see it, then press Enter:
git --version
You should see a response like: git version 2.x.x (any version number is fine)
If you see "command not found": Download Git from git-scm.com, install it, then close and reopen your command line and try again.
Now copy and paste this line, then press Enter:
node --version
You should see a response like: v18.x.x or v20.x.x (must be version 18 or higher)
If you see "command not found": Download Node.js from nodejs.org, install it, then close and reopen your command line and try again.
Finally, check Python:
python3 --version
Windows users: Try python --version if python3 doesn't work.
You should see a response like: Python 3.10.x or higher (3.11, 3.12, etc.)
If you see Python 3.9 or older: The MCP SDK requires Python 3.10+. Download and install a newer version:
- Mac/Windows: Download from python.org (get the latest stable version)
- After installing, restart your terminal and check the version again
If you see "command not found":
- Windows: Python likely isn't in your PATH. Reinstall from python.org and check "Add Python to PATH" during installation. Restart your terminal after.
- Mac: Download Python from python.org, install it, then restart your terminal.
Why Python 3.10+ matters: It powers the MCP servers that sync tasks everywhere. Check off a task in a meeting note → it updates in your Tasks.md, person pages, and project files automatically. Python 3.9 and older won't work - you need 3.10 or newer.
That's the technical heavy lifting done. If you got through that, the rest is straightforward - just clicking buttons and answering questions.
Step 1: Get the Code into Cursor
- Open Cursor
- Press
Cmd+Shift+P(Mac) orCtrl+Shift+P(Windows) - this opens a search bar at the top - Type "Git: Clone" and press Enter
- Paste this URL and press Enter:
https://github.com/davekilleen/dex.git - Choose where to save it (your Documents folder works great)
- Click Open when Cursor asks if you want to open the folder
Can't get this working? No problem:
- Go to github.com/davekilleen/dex
- Click the green Code button → Download ZIP
- Unzip to your Documents folder (the folder will be named
dex-main) - In Cursor: File → Open Folder → select that
dex-mainfolder
Step 2: Run the Installer
Inside Cursor, you'll see a panel at the bottom (or go to View → Terminal). This is where you'll type commands.
Copy and paste this command and press Enter:
./install.sh
What's happening: This installs the automation that makes Dex work (task sync, career tracking, meeting intelligence). Takes 1-2 minutes. You'll see text scrolling - that's normal.
When it's done: You'll see your cursor blinking again, ready for the next command.
Your system Python stays clean: The installer creates a project-local virtual environment (.venv) inside your vault and installs all Python dependencies there — your system, Homebrew, or pyenv Python is never modified. No global installs, and no pipx needed.
⚠️ IMPORTANT: You're not done yet. Complete Step 3 below to finish setup.
Verify MCP servers: Cursor should automatically detect .mcp.json and enable the MCP servers. Look for the MCP icon in Cursor's bottom panel - you should see server names with green checkmarks.
If you see errors: The most common issue is Python dependencies not landing in Dex's virtual environment. Recreate it and reinstall — this keeps everything inside .venv and never touches your system Python:
python3 -m venv .venv
.venv/bin/pip install --upgrade pip
.venv/bin/pip install -r core/mcp/requirements.txt
Then restart Cursor.
Use Google Calendar? Connect it so Dex shows your meetings (Mac)
If you use Google Calendar, you can have Dex show your real meetings when you run /daily-plan or ask "what's on my calendar today?" Two steps, one-time setup (Mac only):
Step 1 — Add Google to your Mac's Calendar app
Open the Calendar app (the one that came with your Mac). In the menu bar, click Calendar → Add Account… → choose Google → sign in with your Google account. Your Google events will sync into Calendar. Dex reads from this app, so once Google is here, Dex sees your meetings.
Step 2 — Let Cursor use your calendar
Open System Settings → Privacy & Security → Calendars. Turn Cursor on, then click Cursor and choose Full access (not "Add Only") so Dex can read your events. If macOS pops up asking "Cursor would like to access your calendars", click Allow.
That's it. The installer already set up the rest on Mac. Your meetings—including recurring ones like weekly 1:1s—will show on the correct days in Dex.
More detail and troubleshooting: Calendar_Setup.md (in your vault after setup).
On Windows? Calendar connection is supported on Mac via Apple Calendar. We don't have Windows instructions in this repo yet.
⚠️ IMPORTANT: Complete Step 3 now to configure your role - this is what makes Dex work.
Troubleshooting: Common Setup Issues
Mac: "Command Line Developer Tools" prompt
If you see a popup asking to install "Command Line Developer Tools":
- Click Install - This is safe and necessary for git to work
- Wait 2-3 minutes - The installer downloads and installs automatically
- Setup continues automatically - Once tools are installed, the script resumes
This only happens once. Future updates won't need this.
What if I accidentally clicked "Cancel"?
Run this command, then run ./install.sh again:
xcode-select --install
Windows: "python is not recognized" or "pip is not recognized"
This means Python wasn't added to your PATH during installation.
Fix:
- Uninstall Python (Control Panel → Programs)
- Download fresh installer from python.org
- Run installer
- ⚠️ CHECK THE BOX: "Add Python to PATH" (on first screen)
- Complete installation
- Restart your terminal completely (close and reopen)
- Run
./install.shagain
Windows: "git is not recognized"
Git for Windows isn't installed.
Fix:
- Download from git-scm.com/download/win
- Run installer with default options
- Restart your terminal
- Run
./install.shagain
All Platforms: "Could not install Python dependencies"
The installer tries two methods automatically. If both fail, your pip version might be too old.
Fix (reinstall into Dex's virtual environment):
python3 -m venv .venv
.venv/bin/pip install --upgrade pip
.venv/bin/pip install -r core/mcp/requirements.txt
Windows:
python -m venv .venv
.venv\Scripts\pip install --upgrade pip
.venv\Scripts\pip install -r core/mcp/requirements.txt
MCP Servers Show Errors in Cursor
If you see red error indicators next to MCP server names in Cursor:
"No server info found" error:
This means the Python MCP servers can't start. Most common fix — reinstall the dependencies into Dex's virtual environment:
python3 -m venv .venv
.venv/bin/pip install --upgrade pip
.venv/bin/pip install -r core/mcp/requirements.txt
Then restart Cursor completely (Cmd+Q and reopen, or File → Quit).
If you get "ERROR: Could not find a version that satisfies the requirement mcp":
Your pip is too old. Run the pip upgrade command above first, then try installing packages again.
"Command 'python' not found" error:
Your .mcp.json might have the wrong Python command. Open .mcp.json in your vault and change all instances of:
"command": "python"
to:
"command": "python3"
(Or vice versa on Windows - use whichever command works in your terminal)
Then restart Cursor.
Still not working?
Check the MCP server output:
- Click the error indicator in Cursor's MCP panel
- Click "Show Output"
- Look for the specific error message
- Common issues: missing Python packages, wrong file paths, Python version too old
Mac: Calendar empty, wrong dates, or "Calendar access denied"
If /daily-plan doesn't show your meetings, or your recurring meetings (e.g. weekly 1:1s) show on the wrong day or are missing:
- Add Google to the Calendar app — Open Calendar (Mac's built-in app) → Calendar → Add Account… → Google → sign in. Dex reads from this app.
- Let Cursor see your calendar — System Settings → Privacy & Security → Calendars → turn Cursor on, then click Cursor and set access to Full (not "Add Only"). Restart Cursor after changing it.
- If you skipped the installer or fixed Python yourself — The installer normally sets up calendar support on Mac. If you didn't run it or installed packages by hand, in Terminal run:
.venv/bin/pip install -r core/mcp/requirements.txt, then restart Cursor.
See Calendar_Setup.md for the full guide.
Something else seems broken after setup?
Once Dex is running, ask it to run /dex-doctor — a whole-system checkup that tells you honestly what's working, what's switched off and what's broken, repairs what it can on its own, and guides you through the rest.
And if the problem turns out to be a bug in Dex itself, you don't need a command or the right words: just describe what happened ("the meeting sync is doing something weird"). Dex investigates on your machine, writes the bug report for you, and by default waits for your yes before anything leaves — never anything from your notes, meetings or conversations. It tells you when the fix ships. Details: what a report can contain · the checkup
Step 3: Tell Dex About Your Role
In Cursor, look for a chat panel (usually on the right side of the screen). This is Claude - your AI assistant.
Here's exactly what to do:
- Click inside the chat panel where it says "Message Claude..." or similar
- Type exactly this:
/setup - Press Enter - This invokes the setup skill
- Wait ~30 seconds - First time setup needs to load everything (you'll see "Thinking..." while it works)
- Press Enter again - Claude will now start asking questions
- Answer each question naturally:
- What's your role? (e.g., "CFO", "VP Sales", "Product Manager")
- Company size?
- What are your main focus areas?
Just type your answers like you're texting a colleague. Takes about 2 minutes total.
When it's done: You'll see confirmation that your workspace is configured. All folders, commands, and automation are now tailored to your specific role.
Three Ways to Access Claude
You just used Cursor to run setup. That works great for daily use.
There's also Claude Code - a more powerful option available via command line or Desktop app. Both give you guaranteed hooks (automatic behaviors that run deterministically, unlike CLAUDE.md which Claude might skip).
| Access Method | What You Get | Hooks? | Setup |
|---|---|---|---|
| Cursor | Easy, already working | No | Already done |
| Claude Code (command line) | Guaranteed hooks, persistent learning | Yes | 5 min install |
| Claude Code (Desktop app) | Guaranteed hooks, persistent learning | Yes | 5 min install |
What are hooks? Automatic behaviors triggered by events (session start, file read, etc.). They're deterministic - they ALWAYS run. Context loads guaranteed, learnings surface guaranteed, person details inject guaranteed.
Which to use?
- Start with Cursor - you're already set up
- Add Claude Code later if you want guaranteed automation
What You Get With Each
Cursor:
- ✓ Full vault access
- ✓ Multiple terminal windows for parallel work
- ✓ Works immediately
- ✗ No guaranteed hooks (context loading is probabilistic)
Claude Code (command line or Desktop):
- ✓ Everything Cursor does
- ✓ PLUS guaranteed hooks for persistent learning and automatic context
| Hook Example | What It Does |
|---|---|
| Session start | Loads Quarter Goals, Week Priorities, Strategic Pillars, Urgent Tasks automatically |
| Person context | When Sarah is mentioned in a file, her person page context injects automatically |
| Company context | When Acme Corp is referenced, company page details inject automatically |
| Mistake patterns | Surfaces active patterns so Claude avoids repeating them |
| Learning reminders | Prompts review when you have 5+ unreviewed learnings |
Command line vs Desktop: Same core capabilities, different interfaces. Command line is text-based terminal. Desktop is a GUI with visual session management and side-by-side diffs.
Bottom line: Cursor works great and is what most people use. Claude Code guarantees hooks run every time, making the system more intelligent and persistent. Many people use both - Cursor for heavy editing, Claude Code for workflows where reliability matters.
Want Guaranteed Hooks? Use Claude Code (CLI or Desktop App)
You're already set up with Cursor. If you want guaranteed hooks (automatic context loading every session), here are your two options:
Option 1: Claude Desktop App
If you prefer visual interfaces over command line, use the Desktop app.
Requirements:
- Claude Pro ($20/month) or Max ($100-200/month, 5-20x higher usage limits) subscription - free Claude accounts don't have access to Claude Code
Setup (2 minutes):
- Download from claude.ai/download
- Install and open the app
- Log in with your Claude Pro or Max account
- Click the Code tab (top left)
- Select your Dex folder to start a session
That's it. Hooks run automatically - session start context loads, person details inject when mentioned, mistake patterns surface.
Desktop app benefits:
- Visual interface - See all sessions, review changes with side-by-side diffs
- Multiple parallel sessions - Click "+ New session" to work on
Files in the repo
- .agents
- .ci
- .claude
- .cursor
- .github
- .obsidian
- .scripts
- 00-Inbox
- 01-Quarter_Goals
- 02-Week_Priorities
- 03-Tasks
- 04-Projects
- 05-Areas
- 06-Resources
- 07-Archives
- core
- docs
- packages
- scripts
- System
- .distignore
- .gitattributes
- .gitignore
- AGENTS.md
- CHANGELOG.md
- CLAUDE.md
- COMMERCIAL_LICENSE.md
- CONTRIBUTING.md
- DISTRIBUTION_READY.md
- env.example
- install.sh
- LICENSE
- package-lock.json
- package.json
- pyproject.toml
- README.md
- requirements-dev.txt
- requirements.txt
- uv.lock
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More harnesses

The most RAM efficient harness
A local multi-agent harness that works with your existing Claude Code, Codex subscriptions, allows you to run an office of agents
Open-source agentic workspace enterprises can make their own. Connect the systems you already run — 100+ integrations, MCP, chat tools, apps, browser, local files — with shared memory. Any agent (Claude Code, Codex), any model, or BYOK. Set up in clicks, not months. Local-first: your data never leaves your machines.
A realtime voice runtime that keeps Agents talking, working, and present. Real-time Voice Runtime for AI Agents
The long-horizon computer-use harness. Run AI agents across desktop apps and the CLI for extended periods while preserving task state and making reliable progress on complex workflows. Features fresh-context execution, durable verified state, independent auditing, recoverable progress, and native Claude Code / Codex / OpenClaw integration.