Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>HodorNew to Visual Studio Code? Get it now.
Hodor

Hodor

Optiblack

|
1 install
| (0) | Free
Your product's tracking plan from Hodor, inside VS Code and Cursor: browse events, copy tracking code, and an AI coding agent that adds the events to your code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Hodor for VS Code and Cursor

Your product's tracking plan from Hodor, inside your editor.

  • Events by status: Not started, Ready to implement, In progress and Implemented, with search.
  • Event details: description, platforms, and every property with its type and sample value.
  • Copy code: the event's tracking function in any of the product's languages, or the whole tracking file. The code is generated by Hodor, the same code the website and npx @optiblack/hodor give you.
  • Set status: mark events in progress or implemented, and the product team sees it in Hodor.
  • AI coding agent (chat):
    • Ask about the plan ("how many events are not implemented?").
    • Say "implement them": it finds where each event happens in your code, adds Hodor's tracking code there, and marks the event implemented.
    • Paste events from a sheet or ticket and say "implement these": it adds them to your code too.
    • Any other coding task: explain code, fix errors, write features. It can run commands (install, build, test) after you click Run.
    • It needs a Claude key, added by the product owner in Hodor.

Sign in

  1. Open the Hodor icon in the activity bar and click Sign in to Hodor.
  2. Your browser opens Hodor. Check that the code matches the one in the editor, choose which products the editor may see, and approve.

Allow changing event status is ticked by default, because the extension needs it to update status. Untick it for a read-only sign-in.

The sign-in is a personal Hodor token. It is stored in your operating system's keychain (VS Code Secret Storage), never in settings or files. Hodor: Sign out removes it from the editor and revokes it in Hodor. You can also revoke it on Hodor's MCP / CLI page.

Pick a product

Pick product (the project icon in the view's title bar) chooses the product for this workspace, and the choice is remembered.

If the repo was linked with the Hodor CLI (npx @optiblack/hodor init), its .hodor.json picks the product for you.

AI chat

Open Chat in the Hodor sidebar.

The chat is a coding agent for the open project, with Hodor's tracking plan built in. Ask it anything about the code, or give it any coding task.

Asking about the plan. Questions like "what does checkout send?" are answered from Hodor.

Implementing events. For "implement the events that are not started", the chat:

  1. searches and reads your code to find where each event happens;
  2. gets Hodor's generated tracking code in your project's language;
  3. proposes small edits;
  4. marks each event implemented in Hodor once its edit is applied.

It decides where each call goes itself, and its summary says which place it chose and why.

Events that aren't in Hodor. Paste them (names and properties, from a sheet or a ticket) and say "implement these". The chat adds them to your code in the style of your existing tracking code, using the names exactly as given. It doesn't change Hodor; its summary lists which events aren't in Hodor's plan.

Commands. When it wants to run something (install the analytics SDK, build, run the tests), the command shows with Run and Skip. Nothing runs until you click Run, even with auto-apply on. The output shows live, and a command stops after 2 minutes. It also reads the errors and warnings in VS Code's Problems panel to check its work.

Copying. Code blocks in answers have a Copy button, and every answer has Copy answer.

Following along. Every step shows as it happens. Click a file in a step to open it, and use View change to see an edit side by side.

Review or auto-apply. By default every change waits for Apply or Skip (or Apply all). Turn on hodor.ai.autoApply to apply changes right away; undo still works, and so does git.

Stop, Retry, Continue.

  • Stop ends the run, and changes already applied stay.
  • If the connection drops, Continue picks up where it stopped.
  • If Claude is busy, Retry sends the same request again.

What the AI can and can't touch:

  • Reads: only files inside the open project folder. It never sees .env files, keys and certificates, node_modules, build folders, or anything your .gitignore hides.
  • Changes: it can't delete files. An edit is refused if the file changed after the AI read it.
  • Commands: only the ones you click Run on. They run in the project folder with your permissions, so read each one first.

The Claude key belongs to the product, not to you. The product owner adds it on the product's settings page in Hodor and sets a daily limit.

  • The extension never sees the key: Hodor's server calls Claude with it.
  • Code the AI reads is sent to Hodor and then to Anthropic under that key.
  • Without a key, the chat says so and everything else keeps working.

Settings

Setting Default
hodor.serverUrl https://hodor.optiblack.com Change only to test against a local Hodor.
hodor.ai.autoApply false Apply the chat's changes right away instead of waiting for Apply.

Develop

npm install
npm run build        # bundle to dist/ (npm run watch while developing; F5 starts an Extension Development Host)
npm test             # unit tests (vitest)
npm run package      # typecheck, build and create hodor-<version>.vsix

Integration tests run the extension in a real VS Code against a local Hodor (npm run dev in the hodor repo):

HODOR_URL=http://localhost:3000 HODOR_TOKEN=<write token> HODOR_PROJECT=<product id> npm run test:integration
VSCODE_VERSION=1.85.2 npm run test:integration   # oldest supported VS Code (Cursor is based on an older one)

The chat tests also need a Claude key on that product. With scripts/fake-claude.mjs from the hodor repo (and Hodor started with HODOR_ANTHROPIC_BASE_URL pointing at it), they cost nothing; add HODOR_PROJECT2, a product without a key.

Without those variables, only the offline checks run. Signing out at the end revokes the token.

If you run the tests from a terminal inside VS Code or Cursor, unset ELECTRON_RUN_AS_NODE first (env -u ELECTRON_RUN_AS_NODE npm run test:integration).

Publishing (one-time setup, then per release)

  1. VS Code Marketplace: create the optiblack publisher at https://marketplace.visualstudio.com/manage and an Azure DevOps token with Marketplace (Manage) scope. Then run npx vsce login optiblack and npx vsce publish.
  2. Open VSX (used by Cursor): create an account at https://open-vsx.org, sign the publisher agreement, create the optiblack namespace (npx ovsx create-namespace optiblack -p <token>), then run npx ovsx publish hodor-<version>.vsix -p <token>.

The Hodor server must already have the endpoints this version uses (deploy Hodor first).

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft