开发笔记管理扩展

一个用于管理VS Code工作区TODOs和临时笔记的侧边栏扩展,支持AI代理集成。

  • by reefbarman
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 reefbarman/mytodos

使用说明

My Dev Notes

A VS Code sidebar extension for managing workspace-scoped TODOs and scratch pad notes, with MCP server integration for AI agents.

Features

  • TODOs — Add, edit, check off, snooze, pin as current task, and drag-reorder tasks. Organize with named groups.
  • Project + Global scopes — Keep project-specific work separate from global notes that are visible in every workspace.
  • Notes — Markdown scratch pad notes. Write in markdown, see rendered output. Double-click to edit.
  • Search + tags — Filter TODOs and notes from the sidebar. Add #tags in TODO text and click tag chips to filter.
  • Groups — Create named groups to organize TODOs. Drag to reorder groups.
  • Archive — Completed TODOs are archived for 7 days, then auto-cleaned.
  • Collapsible sections — Collapse TODOs, Notes, and individual groups.
  • MCP Server — AI agents (e.g. Claude Code) can read and manage your TODOs and notes across project/global scopes.

Installation

VS Code Extension

  1. Clone the repo and install dependencies:

    git clone https://github.com/reefbarman/mydevnotes.git
    cd mydevnotes
    npm install
    
  2. Build the extension:

    npm run compile
    npm run bundle:mcp
    npm run bundle:webview
    
  3. Install locally in VS Code — either:

    • Open the repo in VS Code, press F5 to launch the Extension Development Host, or

    • Package and install the .vsix:

      npx @vscode/vsce package
      code --install-extension mydevnotes-*.vsix
      
  4. The "My Dev Notes" icon will appear in the activity bar sidebar.

MCP Server (for AI agents)

The extension can auto-register its MCP server with Claude Code. On first activation you'll be prompted to enable this. If you choose "Enable", it writes the following to ~/.claude.json:

{
  "mcpServers": {
    "mydevnotes": {
      "command": "node",
      "args": ["/path/to/extension/out/mcp-server.js"]
    }
  }
}

To register manually, add the above to your ~/.claude.json (updating the path to point to the installed extension's out/mcp-server.js).

For project-scoped data, the MCP server uses an explicit --workspace argument or MYDEVNOTES_WORKSPACE environment variable when provided, then a workspace root advertised by the MCP client, and finally process.cwd() for clients that do not support roots. With multiple roots, the root containing process.cwd() is used; otherwise configure an explicit workspace. The resolved workspace is cached for the MCP connection, so reconnect after changing roots.

Place --workspace after the server script in a manual configuration:

{
  "mcpServers": {
    "mydevnotes": {
      "command": "node",
      "args": [
        "/path/to/extension/out/mcp-server.js",
        "--workspace=/path/to/project"
      ]
    }
  }
}

You can control auto-registration via the mydevnotes.mcpAutoRegister setting (see Configuration below).

MCP Tools

TODO Tools

Tool Description
list_todos List active TODOs (optional scope, group, tag, and snoozed filters)
list_completed_todos List completed TODOs
add_todo Add one or more TODOs
complete_todo Mark TODOs as completed
uncomplete_todo Restore completed TODOs
delete_todo Permanently delete TODOs
edit_todo Edit TODO text
move_todo Move TODOs between groups
snooze_todo Snooze TODOs until an epoch-ms or parseable date string
unsnooze_todo Wake snoozed TODOs now
set_current_task Pin or clear the current project task
get_current_task Show the current project task
list_groups List all groups
add_group Create a new group
rename_group Rename a group
delete_group Delete a group

Note Tools

Tool Description
list_notes List all notes with preview
add_note Add a note (supports markdown)
edit_note Edit note content
delete_note Delete a note

Most MCP tools accept an optional scope parameter: "project" (default, keyed by the resolved workspace path) or "global" (shared everywhere). set_current_task and get_current_task are project-only.

Embedded images are returned as MCP image content by list_todos, list_completed_todos, get_current_task, and list_notes. Their inline data URLs are replaced with compact attachment:img-N Markdown references in the text response.

Configuration

Setting Description Default
mydevnotes.mcpAutoRegister Auto-register MCP server (enabled, disabled, ask) ask

Data Storage

State is stored in ~/.mydevnotes/data.json, keyed by workspace path. Global items use the reserved key ::global::. This keeps your project directories clean — no per-project config files or .gitignore entries needed.

Current schema version is 3. Older extension/MCP versions can read the file shape but will not understand snoozed TODO behavior or current-task clearing rules.