Skip to content

Commit f2ecd26

Browse files
docs: marketplace SUBMIT_FORM pack and ship TODO for 0.4.14
Ready-to-paste Cursor form description (live-catalog), listing polish, and human/automation checklist. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 96fdcc9 commit f2ecd26

4 files changed

Lines changed: 162 additions & 1 deletion

File tree

.cursor-plugin/listing.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"listing": {
44
"name": "agentstack",
55
"tagline": "Backend + static hosting for AI — one MCP, live action catalog",
6-
"description": "AgentStack gives your AI agent a full backend and on-platform hosting: publish HTML or ZIP to a live /s/ URL, store project files, and run the live MCP catalog (discover via GET /mcp/actions) through agentstack.execute. OAuth Device Code install in ~30 seconds. Scale reference: docs/publication/PLATFORM_SCALE.md.",
6+
"description": "AgentStack gives your AI agent a full backend and on-platform hosting: publish HTML or ZIP to a live /s/ URL, store project files, and run the live MCP catalog (discover via GET /mcp/actions) through agentstack.execute. OAuth Device Code install in about 30 seconds. Homepage https://agentstack.tech — privacy, terms, and freemium pricing linked from the listing.",
77
"categories": ["Backend", "AI", "Productivity"],
88
"keywords": ["mcp", "backend", "hosting", "static-site", "8dna", "rules-engine", "payments", "rag", "ai-agents", "storage", "publish"],
99
"privacy": "https://agentstack.tech/privacy",

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ lib/plugin-kernel/ ← vendored Device Code client (self-contained)
5050
mcp.json ← streamable-http + Bearer placeholder
5151
```
5252

53+
## Marketplace submit
54+
55+
Ready-to-paste form fields (especially **Description**): **[SUBMIT_FORM.md](SUBMIT_FORM.md)**.
56+
Demo script: [MARKETPLACE_DEMO.md](MARKETPLACE_DEMO.md). Local verify: [LOCAL_INSTALL.md](LOCAL_INSTALL.md). Ship checklist: [SHIP_TODO.md](SHIP_TODO.md).
57+
5358
## First 5 minutes
5459

5560
1. Symlink or install plugin → reload Cursor

SHIP_TODO.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Marketplace ship — detailed task list (0.4.14)
2+
3+
**Gene:** `repo.plugins.cursor.gen3` · `repo.plugins.publication_gates.gen1`
4+
**Status legend:** `[x]` done in tree · `[ ]` human / credentials · `[~]` optional polish
5+
6+
---
7+
8+
## A. Copy & marketplace form
9+
10+
- [x] Ready-to-paste **Description** + short/tagline in [`SUBMIT_FORM.md`](SUBMIT_FORM.md)
11+
- [x] Align `listing.json` description (no monorepo-only paths)
12+
- [x] Link from README + `docs/plugins/CURSOR_MARKETPLACE_SUBMIT_NOW.md`
13+
- [ ] Open https://cursor.com/marketplace/publish and paste fields from `SUBMIT_FORM.md`
14+
- [ ] Upload screenshots `assets/screenshots/01``05` (alts in that folder’s README)
15+
- [ ] Confirm category / keywords / privacy / terms / support / freemium pricing on the form
16+
17+
**Description rule:** live catalog wording inside the plugin tree; numeric marketing shorthand only from monorepo `docs/plugins/PUBLISHER_COPY.md` into the **web form**, if Cursor insists on a number.
18+
19+
---
20+
21+
## B. Call / data flow (verified in code + automated smoke)
22+
23+
| Step | Contract | Status |
24+
|------|----------|--------|
25+
| Device Code authorize | `POST /api/oauth2/device/authorize` | [x] `device-code.mjs` |
26+
| Token poll | HTTP **400** + `authorization_pending` → continue | [x] `deviceCodeClient.postForm` / `pollDeviceToken` |
27+
| Write MCP Bearer | flat `mcpServers.agentstack` via `applyAgentstackMcpBearer` | [x] no stray `tools` key |
28+
| Catalog snapshot | `GET /mcp/actions`**flat** `actions[]` | [x] `flattenMcpActionsCatalog` |
29+
| Cap hint hook | `beforeMCPExecution` reads flat snapshot | [x] `pre-mcp-cap-check.mjs` |
30+
| Session refresh | refresh token + catalog age | [x] `session-start.mjs` |
31+
| Telemetry | buffer only if opt-in | [x] post-tool hooks |
32+
| `--help` | exit 0, no OAuth | [x] smoke |
33+
| Local install | junction/symlink `~/.cursor/plugins/local/agentstack` | [x] `install-local.mjs --check` |
34+
35+
**Human e2e still required:**
36+
37+
- [ ] Reload Cursor after local install
38+
- [ ] `/agentstack-init` → approve `/activate` → Bearer in `~/.cursor/mcp.json`
39+
- [ ] `whoami` / discovery / `/agentstack-capability-matrix`
40+
- [ ] Optional `/agentstack-host-site` → live `/s/` URL
41+
- [ ] Tick [`VERIFICATION_CHECKLIST.md`](VERIFICATION_CHECKLIST.md)
42+
43+
---
44+
45+
## C. Gates & publish repo
46+
47+
- [x] `validate-plugin` / hooks contract / kernel catalog tests (re-run before push)
48+
- [x] Schema-valid `plugin.json`, version **0.4.14**, vendored `lib/plugin-kernel`
49+
- [ ] `git push origin master` + `git push origin v0.4.14` with **agentstacktech** credentials
50+
- [ ] Or: `node provided_plugins/scripts/sync-cursor-plugin-publish.mjs ../cursor-plugin-publish` then push sibling
51+
52+
---
53+
54+
## D. After Cursor approval
55+
56+
- [ ] [`docs/plugins/CURSOR_PLUGIN_POST_RELEASE_CHECKLIST.md`](../../docs/plugins/CURSOR_PLUGIN_POST_RELEASE_CHECKLIST.md)
57+
- [ ] Update post-release status doc
58+
- [ ] Announce / listing URL when live
59+
60+
---
61+
62+
## E. Optional polish (not blocking submit)
63+
64+
- [~] Replace mock screenshots with live Cursor captures
65+
- [~] Commit monorepo-side `docs/plugins/*` if umbrella git exists on this machine
66+
- [~] Gen3.1 backlog items from audit (non-P0)
67+
68+
---
69+
70+
## Quick commands
71+
72+
```bash
73+
cd provided_plugins/cursor-plugin
74+
node scripts/install-local.mjs --check
75+
node scripts/smoke-local.mjs
76+
node scripts/validate-plugin.mjs --strict-screenshots
77+
```

SUBMIT_FORM.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Cursor Marketplace — form fields (ready to paste)
2+
3+
**Version:** 0.4.14 · **Repo:** https://github.com/agentstacktech/cursor-plugin
4+
**Submit URL:** https://cursor.com/marketplace/publish
5+
**SoT:** `.cursor-plugin/plugin.json` + `.cursor-plugin/listing.json` · philosophy: Creation over Conflict (offer value, no competitor attacks)
6+
7+
---
8+
9+
## What to put in **Description** (main form field)
10+
11+
### Recommended — paste this (live-catalog, no stale action counts)
12+
13+
```
14+
AgentStack gives your Cursor agent a full backend and on-platform hosting through one MCP tool (agentstack.execute).
15+
16+
Publish HTML or ZIP to a live /s/ URL, store project files, and run the live action catalog (discover anytime via GET /mcp/actions) for data (8DNA), auth/RBAC, logic rules, buffs, payments, agents fleet, RAG, messenger, CRM, integrations, and more.
17+
18+
Install with OAuth Device Code in about 30 seconds (/agentstack-init). Rules, skills, commands, hooks, and agents teach the model to prefer AgentStack MCP over writing custom backend glue.
19+
20+
Homepage: https://agentstack.tech · Privacy: https://agentstack.tech/privacy · Terms: https://agentstack.tech/terms · Support: support@agentstack.tech
21+
```
22+
23+
**Why this text:** matches marketplace review expectations (clear purpose, install path, privacy/support), uses **live catalog** wording (never pin a fixed action total that drifts every sprint — see monorepo `docs/plugins/CANONICAL_COPY.md`).
24+
25+
### If the form has a **short** description (~200 chars)
26+
27+
```
28+
Host sites from HTML/ZIP, store project files, and run the live AgentStack MCP catalog through one tool (agentstack.execute). OAuth Device Code install in ~30s.
29+
```
30+
31+
### If the form asks for a **tagline** / subtitle (≤80 chars)
32+
33+
```
34+
Backend + static hosting for AI — one MCP, live action catalog
35+
```
36+
*(70 characters — same as `listing.json` tagline)*
37+
38+
### Optional marketing shorthand (only if the form insists on a number)
39+
40+
Do **not** paste action-count shorthand into this plugin tree. Copy numbers from monorepo
41+
`docs/plugins/PUBLISHER_COPY.md` (Message House) into the **Cursor web form only**, then prefer
42+
the live-catalog description above for the official listing text.
43+
44+
---
45+
46+
## Full form checklist
47+
48+
| Field | Paste |
49+
|-------|--------|
50+
| **Plugin name / display name** | `AgentStack — Backend, Hosting & AI MCP` |
51+
| **Repository URL** | `https://github.com/agentstacktech/cursor-plugin` |
52+
| **Description** | Use **Recommended** block above |
53+
| **Category** | `Productivity` (or `AI` / `Backend` if offered) |
54+
| **Keywords** | `mcp, backend, hosting, static-site, 8dna, rag, payments, storage, publish, agentstack` |
55+
| **Homepage** | `https://agentstack.tech` |
56+
| **Docs** | `https://github.com/agentstacktech/cursor-plugin#readme` |
57+
| **Privacy** | `https://agentstack.tech/privacy` |
58+
| **Terms** | `https://agentstack.tech/terms` |
59+
| **Support email** | `support@agentstack.tech` |
60+
| **Support URL** | `https://agentstack.tech/support` |
61+
| **Pricing** | Freemium · `https://agentstack.tech/pricing` |
62+
| **License** | MIT |
63+
| **Screenshots** | `assets/screenshots/01``05` (1920×1200); alts in `assets/screenshots/README.md` |
64+
| **Demo script** | [MARKETPLACE_DEMO.md](MARKETPLACE_DEMO.md) |
65+
66+
---
67+
68+
## Do / Don't (reviewers)
69+
70+
**Do:** one MCP tool, Device Code install, hosting `/s/`, live `GET /mcp/actions`, freemium honesty.
71+
**Don't:** “better than X”, Cursor endorsement, unverified SLA, “unlimited free hosting”, fixed action totals that go stale.
72+
73+
---
74+
75+
## After submit
76+
77+
1. Push `master` + tag `v0.4.14` if not already on GitHub.
78+
2. Wait for Cursor manual review.
79+
3. [CURSOR_PLUGIN_POST_RELEASE_CHECKLIST.md](../../docs/plugins/CURSOR_PLUGIN_POST_RELEASE_CHECKLIST.md) (monorepo) or post-release section in README.

0 commit comments

Comments
 (0)