Skip to content

Add Droid plugin CI modeled on agy-pstack - #2

Merged
caelaxie merged 2 commits into
mainfrom
cursor/add-droid-ci-c4fa
Oct 17, 2026
Merged

caelaxie merged 2 commits into
mainfrom
cursor/add-droid-ci-c4fa

Conversation

@caelaxie

Copy link
Copy Markdown
Contributor

Summary

Adds a plugin CI workflow modeled on agy-pstack.

  • Install and cache the Factory droid CLI, then verify droid --version.
  • Register pstack-ports/droid-pstack#<branch>, install pstack@<marketplace name> --scope user, and run droid plugin list.
  • Check manifests, skill and droid frontmatter, the poteto-mode principle and playbook index, shell scripts, and the poteto-mode script typecheck and tests.

Deviations from agy-pstack

  • The CLI is Factory Droid (https://app.factory.ai/cli), cached by installer version and checksum, instead of the Antigravity CLI.
  • Droid pins a branch with #<ref>. repo@branch is accepted only when the suffix is a 40-character commit SHA. Droid rewrites / in the ref, so the install id is pstack@ plus the marketplace name the CLI prints, not a literal pstack@droid-pstack.
  • droid plugin list has no --json and records the git commit rather than plugin.json's version. The workflow reads settings.json, the installed-plugin record, and the plugin cache to check enablement, manifest fields, skills, and droids.
  • Checks droids/ and .factory-plugin/plugin.json instead of agents/ and .antigravity-plugin/plugin.json. It does not require a logo or Antigravity's tool allowlist, and it does not reject the paths skill frontmatter key this repo already uses.
  • node scripts/validate-plugin.mjs still checks the marketplace self-listing, Factory manifest keys, reasoningEffort, and model ids.

Test plan

  • Validate plugin is green on this pull request
  • Local harness output is posted on the pull request
Open in Web Open in Cursor 

cursoragent and others added 2 commits October 17, 2026 03:23
Install and cache the Factory droid CLI, register this repo at the
pull-request branch, install pstack from that marketplace, and check
manifests, skills, droids, playbooks, and the poteto-mode scripts.

Co-authored-by: Kaitian Xie <[email protected]>
A branch ref with a slash is stored with that slash rewritten, so the
install id has to come from the marketplace add result.

Co-authored-by: Kaitian Xie <[email protected]>
@cursor

cursor Bot commented Oct 17, 2026

Copy link
Copy Markdown

Local harness, same commands the workflow runs, against cursor/add-droid-ci-c4fa (554253fe7fa6fe8b9adf1533777740887860a6fa) in an isolated HOME:

$ droid --version
0.244.0

$ droid plugin marketplace add pstack-ports/droid-pstack#cursor/add-droid-ci-c4fa
Successfully added marketplace: droid-pstack@cursor-add-droid-ci-c4fa

$ droid plugin install pstack@droid-pstack@cursor-add-droid-ci-c4fa --scope user
Successfully installed pstack@droid-pstack@cursor-add-droid-ci-c4fa (554253f)

$ droid plugin list
Installed plugins:
Active:
  pstack@droid-pstack@cursor-add-droid-ci-c4fa  [user]  554253f

$ node scripts/validate-plugin.mjs
validate-plugin: OK (57 skills, 3 droids)

The installed cache matches the checkout: 57 skills, 3 droids, plugin.json version 0.15.25, commit 554253fe7fa6.

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

portreview: lgtm (can't formally approve, same account opened it). ci-only, no upstream content touched, so nothing to diff against cursor/plugins and versions stay at 0.15.25. harness proof is real: ci ran droid plugin marketplace add + droid plugin install pstack@droid-pstack@cursor-add-droid-ci-c4fa + droid plugin list, validated 57 skills / 3 droids / 23 playbooks against the install cache, validate-plugin ok, 68/68 script tests. local harness comment matches. no issue to link. squashing.

@caelaxie
caelaxie merged commit aedad71 into main Oct 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants