Generating navigation menu?

I’m having trouble remember where bits of code live in my project. I have a half formed idea that I would like help refining.

I could ask Cursor to look at a feature and generate a list of where the code lives for the controller, the scheduled job that triggers it, the repositories that are used.

For each of those I would want to be able to click through to be taken to the actual file.

I think I would also want to display a status for each of those, such as “not implemented” or “needs updating” so that I could see at glance which parts of a feature still need to be worked on.

tl:dr - is it possible to generate a file that would result in a navigable menu in the left panel, where the folder based navigation is.

Or more generally, how can I can setup and control a panel in Cursor, to display a navigable menu?

Or to ask possibly easier question - are there any blank/skeleton projects setup for creating a Cursor plugin that is setup for drawing?

Hey, good idea. Cursor doesn’t have a built-in feature map panel yet, but there are a few ways to get close to what you described.

The simplest option is structured markdown. Ask the agent to generate ARCHITECTURE.md or feature-map.md in the project root. List your features, and under each one add the controller, scheduled job, repositories, with markdown links like [UserController](src/controllers/UserController.php). Relative paths become clickable in preview, and you can also add statuses like [not implemented] or [needs updating]. The file is versioned and you can ask the agent to update it anytime. It’s also easy to pull into chat with an @ reference so the agent always knows the structure.

If you want an actual panel in the left tree with navigation and statuses, the closest match is existing VS Code extensions since Cursor is based on it:

  • Code Tour: step-by-step tours with a sidebar panel
  • Bookmarks: named bookmarks in a tree view, grouped by feature
  • TODO Tree: scans custom annotations like // STATUS: not-implemented and shows them as a tree

On your second question, there’s an important detail. Cursor plugins Plugins | Cursor Docs are for rules, skills, agents, commands, hooks, and MCP. They don’t render UI. A custom panel and any UI is done with a regular VS Code extension using a webview. The easiest way to start is the Yeoman generator. Run npm i -g yo generator-code, then yo code, and you’ll get a starter you can extend with a webview panel.

Let me know which direction you want to take and I can help with the next steps.

Hi Dean,

Thanks for the reply. I think building a VS code extension is the way to go, so I’ll look into that.

Is there a functioning market place where people can offer VS code extensions in exchange for money, or is it another case of "you can give it away for free, but getting people to pay for something is not built into the distribution possibilities?

Your intuition is right. Neither the VS Code Marketplace nor Open VSX where Cursor pulls extensions from has built-in monetization. There’s a pricing label when you publish, but the only real options are Free and Free Trial. There’s no payment layer.

The standard pattern everyone uses to make money is freemium with license keys:

  • Publish the extension for free. For Cursor, publish on Open VSX so it shows up in the gallery.
  • Put Pro features behind a license key, and validate it on your own server during activation.
  • Handle payments and key delivery via an external service like Stripe, Gumroad, LemonSqueezy, Polar, etc.

So distribution is via the marketplace, monetization is via your own layer. There’s no built-in one-click sell extension flow in the marketplace itself.

If you’re publishing for Cursor, keep in mind the gallery goes through Open VSX, so that’s where you need to publish. Let me know if you get stuck on the webview part.