Skip to content

Repository files navigation

zoto-agents

Monorepo for Cursor plugins by zotoio.

Plan and verify your specs. Generate and update your evals. Watch every agent. Three Cursor plugins shipped together as peers — independent, composable, free. Install one, install all; they cooperate but none depends on another.

Plugins

Plugin Description
zoto-spec-system Decompose complex initiatives into reviewable specs, judge them independently, then execute with adversarial verification at every subtask.
zoto-eval-system Stamp static (pytest) and LLM (@cursor/sdk) eval suites side-by-side, detect drift when AI primitives change and update evals with user confirmation, and compare runs across models on a single /canvas.
zoto-cursor-top Live, htop-style CLI that lists every Cursor agent on the current machine — IDE windows, cursor-agent CLI sessions, and Cloud Agent VMs — in one expandable parent-to-subagent tree with scrolling log tails.

Getting Started

Prerequisites

Setup

pnpm install

Build

Build all plugins (compiles hook scripts to JS for distribution):

pnpm build

Test

Run tests across all plugins:

pnpm test

Validate

Run the official Cursor template validation (marketplace manifest, frontmatter, path references):

pnpm validate-template

Run per-plugin structural validation:

pnpm validate

Development

Local Testing

Install a plugin locally so Cursor discovers it on next restart:

cd plugins/zoto-spec-system
pnpm install-local

Remove a locally-installed plugin:

cd plugins/zoto-spec-system
pnpm uninstall-local

Both scripts support --dry-run to preview changes without writing.

Adding a New Plugin

  1. Create a new directory under plugins/ with a .cursor-plugin/plugin.json manifest.
  2. Add the plugin's content (agents, commands, skills, rules, hooks, etc.).
  3. Add a package.json with scripts for build, test, and validate.
  4. Add skill evaluations under skills/*/evals/evals.json.

Project Structure

Based on the cursor/plugin-template conventions.

zoto-agents/
├── .cursor-plugin/
│   └── marketplace.json      # Marketplace manifest (registers all plugins)
├── .cursor/
│   └── .gitignore
├── scripts/
│   └── validate-template.mjs # Official Cursor template validation
├── docs/
│   └── add-a-plugin.md       # Guide for adding new plugins
├── package.json              # Workspace root
├── pnpm-workspace.yaml       # pnpm workspace definition
├── tsconfig.base.json        # Shared TypeScript config
├── plugins/
│   └── zoto-spec-system/
│       ├── .cursor-plugin/   # Plugin manifest (plugin.json)
│       ├── agents/           # Agent definitions (markdown + frontmatter)
│       ├── assets/           # Logo and static assets
│       ├── commands/         # Command definitions (markdown + frontmatter)
│       ├── docs/             # Plugin documentation
│       ├── hooks/            # Hook scripts (TypeScript → compiled JS)
│       ├── rules/            # Rule files (.mdc + frontmatter)
│       ├── skills/           # Skill definitions + evals
│       ├── templates/        # Config templates
│       ├── scripts/          # Dev scripts (TypeScript)
│       └── tests/            # Test suite (vitest)

Submission Checklist

  • Each plugin has a valid .cursor-plugin/plugin.json.
  • Plugin names are unique, lowercase, and kebab-case.
  • .cursor-plugin/marketplace.json entries map to real plugin folders.
  • All frontmatter metadata is present in rule, skill, agent, and command files.
  • Logos are committed and referenced with relative paths.
  • node scripts/validate-template.mjs passes.
  • pnpm test passes.

License

Each plugin is individually licensed. See the LICENSE file in each plugin directory.

About

Cursor Plugins and Agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages