Setup

Get Yes! Did It running in under two minutes. Choose your preferred interface below.

CLI

Install the CLI globally via npm:

npm install -g @yesdidit/cli

To update to the latest version:

npm update -g @yesdidit/cli

Then sign in:

ydi login

This opens your browser for GitHub or Google OAuth. Once authenticated, your credentials are saved to ~/.config/yesdidit/config.json. To use GitHub instead of the default Google provider:

ydi login --github

MCP Server (Claude Integration)

The MCP server lets Claude manage your todos directly. First, make sure you have the CLI installed and are signed in (above).

Claude Desktop

Add the following to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "yes-did-it": {
      "command": "npx",
      "args": ["-y", "@yesdidit/mcp"]
    }
  }
}

Claude Code

Add to your Claude Code settings:

{
  "mcpServers": {
    "yes-did-it": {
      "command": "npx",
      "args": ["-y", "@yesdidit/mcp"]
    }
  }
}

Once configured, you can ask Claude things like "add a todo to review the PR by 3pm" or "what's due today?" and it will use the MCP server to manage your tasks.

API Keys (Programmatic Access)

For CI/CD pipelines or scripts, generate an API key:

ydi keys create --name "CI"

The full key is shown once — save it somewhere secure. Use it in API calls:

curl -H "Authorization: ApiKey ydi_live_..." \
  https://api.yesdidit.com/api/todos

Web Dashboard

Visit yesdidit.com and sign in with GitHub or Google. The web dashboard provides a read-only view of your todos with the ability to delete items. All creating and updating is done through the CLI, MCP, or API.

Environment Variables (Self-Hosting)

If you're running Yes! Did It from source:

git clone https://github.com/jonsykes/yes-did-it.git
cd yes-did-it
cp .env.test .env       # Edit with your Supabase + JWT credentials
pnpm install
pnpm turbo dev          # Starts API (port 3000) + Web (port 4321)

See the GitHub README for full environment variable documentation.