(feat) Add Cursor Marketplace plugin form#119
Merged
Conversation
Ships .cursor-plugin/plugin.json + cursor/plugin-hooks.json so the repo is installable from the Cursor Marketplace, alongside the existing install-cursor.sh flow. The plugin form uses a relative ./scripts/cursor-on-event.sh path (resolved from the plugin root) instead of $HOME/.local/share/..., which let the existing bootstrap script stay unchanged. Adds commands/dash0-configure.md to replace the installer's interactive prompt: end users run /dash0-configure inside Cursor to write the OTLP URL + token to ~/.cursor/dash0-agent-plugin.local.md. release.sh now bumps .cursor-plugin/plugin.json alongside the others, and cursor/README.md documents both install paths.
install-cursor.sh no longer carries a hardcoded VERSION. It queries the GitHub API for the latest release on each run, with DASH0_VERSION as an override for pinning. Removes the failure mode where a release that skipped scripts/release.sh would leave the installer pointing at the previous tag. release.sh and cursor/README.md updated to reflect that install-cursor.sh is no longer part of the version-bump set.
GuyMoses
approved these changes
Jun 18, 2026
Contributor
|
Two small things:
|
Cursor's user-invocable unit is a skill (SKILL.md with name + description frontmatter), surfaced to the agent semantically. The original commands/ path was a Claude Code shape that Cursor's plugin loader did not pick up during local sideload testing. Replaces commands/dash0-configure.md with skills/dash0-configure/SKILL.md and updates the manifest accordingly. Claude Code's commands/open-session.md and .claude-plugin/plugin.json are unchanged.
Root README is now a hub — it pitches the idea (connect coding agents to Dash0 for deep insight into AI usage) and points at the per-runtime docs. Claude Code docs move to .claude-plugin/README.md (unchanged content, just relocated). New .cursor-plugin/README.md holds end-user-facing Cursor docs: install via Marketplace or shell installer, configure via the dash0-configure skill, verify, uninstall. cursor/README.md becomes the developer reference (build, sideload local changes, cut releases, capture-mode fixtures), with a pointer to the user-facing README. Drops the stale cursor-source-handoff-brief.md — the research it captured has been folded into the integration.
GuyMoses
approved these changes
Jun 18, 2026
Copied verbatim from cursor/plugin-template@main: scripts/validate-template.mjs Required for Cursor Marketplace submission. The script expects a multi-plugin .cursor-plugin/marketplace.json layout — since this repo is a single plugin, the validator early-returns "Validation passed" without actually checking the manifest. Present-in-repo is what the submission process appears to need; real validation would require either a marketplace-style restructure or a single-plugin validator.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.cursor-plugin/plugin.json,cursor/plugin-hooks.json, and thedash0-configureskill (underskills/) so the repo is installable from the Cursor Marketplace alongside the existinginstall-cursor.shflow. Cursor's user-invocable unit is a skill (SKILL.mdwithname:+description:frontmatter), not a slash command — agents surface skills by description match rather than literal/nametriggers.install-cursor.shno longer carries a hardcodedVERSION— it queriesapi.github.com/repos/.../releases/lateston each run, withDASH0_VERSION=as an override. Removes the failure mode where a release that bypassedscripts/release.shwould leave the installer pointing at the previous tag.scripts/release.shandcursor/README.mdupdated accordingly:install-cursor.shis dropped from the version-bump set, and the README documents both install paths.Test plan
~/.cursor/plugins/local/dash0-agent-plugin/),.cursor-plugin/plugin.jsonis read, and thedash0-configureskill surfaces semantically../scripts/cursor-on-event.shrelative path incursor/plugin-hooks.jsonresolves from the plugin root — the hook fires on every Cursor event and emits OTel spans (confirmed by settingdebug: truein the config and tailing the debug file).~/.cursor/dash0-agent-plugin.local.mdcorrectly when triggered.bash install-cursor.shagainst a clean user: verify dynamic version resolution lands on the current latest, and the connectivity check passes.DASH0_VERSION=0.1.9 bash install-cursor.sh: verify the env-var override pins to the older release.Notes for reviewers / future authors
create-plugin-scaffoldskill fromcursor/pluginstells authors toln -sinto~/.cursor/plugins/local/<name>/, but on Cursor 2.5.x that path was ignored (plugin not discovered). A fullcp -R(orrsync) into the same location does work. Worth filing upstream..claude-plugin/plugin.json,commands/open-session.md,hooks/hooks.json) is unchanged and continues to work in parallel.