Central library for Cursor project context: agent skills, rules, hooks, and templates. Prompterium holds the canonical copies; you sync them into any app repo’s .cursor/ folder and commit there so your team gets the same prompts without cloning this repo.
| In Prompterium | After sync (in your app) | Loaded by Cursor? |
|---|---|---|
catalog/skills/<name>/SKILL.md |
.cursor/skills/<name>/ |
Yes — agent skills |
catalog/rules/*.mdc |
.cursor/rules/ |
Yes — rules |
catalog/commands/*.md |
.cursor/commands/ |
Yes — slash commands (legacy) |
catalog/hooks/hooks.json, catalog/hooks/* |
.cursor/hooks.json, .cursor/hooks/ |
Yes — hooks |
catalog/templates/** |
.cursor/templates/ |
Only if referenced by a skill or rule |
Do not copy anything into ~/.cursor/skills-cursor/ — that directory is managed by Cursor.
catalog/ # source of truth (shared library)
src/ # TypeScript sync implementation
dist/ # build output (generated; not committed)
scripts/sync.sh # optional bash sync (same catalog layout)
package.json # npm package
AGENTS.md # conventions for agents working in this repo
npm install
npm run check # typecheck + eslint + prettier
npm run build # compile src/ -> dist/
npm run sync # dry-run sync into this repo (requires build)See catalog/README.md for contribution conventions.
Prompterium has no .cursor/ folder in the repo—only catalog/ plus sync tooling. Edit the catalog here; run ./scripts/sync.sh on app repos to install context. See AGENTS.md for agent conventions.
From git: macOS or Linux with bash and rsync (optional; Node sync below works cross-platform).
From npm: Node.js 18+ only.
In your application repository:
npm install -D prompterium
npx prompterium sync .Add a script for repeat use:
{
"devDependencies": {
"prompterium": "^0.1.0"
},
"scripts": {
"cursor:sync": "prompterium sync ."
}
}Then:
npm run cursor:sync
git add .cursor && git commit -m "Sync Cursor context from Prompterium"Bump the prompterium version in package.json when you want new skills or templates from the library.
Automated (recommended): pushing a tag v* runs .github/workflows/release.yml, which creates a GitHub Release and publishes to npm with provenance (so the package can appear under the repo Packages section).
- In the GitHub repo: Settings → Secrets and variables → Actions → add
NPM_TOKEN(npm granular token with publish), or on npmjs.com configure Trusted publishing for this GitHub repo (then OIDC can replace the token). - Bump and tag:
npm version patch(creates commit +v*tag), thengit push origin main --tags.
Manual: npm login, bump version, npm publish --access public (use --access public for scoped names).
The published tarball includes catalog/, compiled dist/, and the prompterium CLI only—no postinstall hooks.
-
Clone Prompterium (once, anywhere on your machine).
-
From Prompterium:
chmod +x scripts/sync.sh ./scripts/sync.sh /path/to/your-app-repo
-
In the app repo, commit the updated
.cursor/:cd /path/to/your-app-repo git add .cursor git commit -m "Sync Cursor context from Prompterium"
Teammates who clone the app get .cursor/ automatically; they do not need Prompterium unless they want to run sync themselves.
- Add or edit content under
catalog/in Prompterium; commit, push, andnpm version patch+npm publishwhen sharing via npm. - In each app: update the
prompteriumdevDependency (or re-run install at latest), thennpx prompterium sync .(or./scripts/sync.shif using a git checkout). - Commit
.cursor/in each app repo.
-
Create
catalog/skills/my-skill/SKILL.md. -
Frontmatter (required):
--- name: my-skill description: One line — when the agent should use this skill. ---
-
Run sync, then commit in the target app.
Optional: disable-model-invocation: true for user-only slash-style workflows.
Add catalog/rules/my-rule.mdc with description, and either alwaysApply: true or globs: **/*.ts. Sync copies it to .cursor/rules/.
Put hooks.json and scripts under catalog/hooks/. Sync copies hooks.json to .cursor/hooks.json and scripts to .cursor/hooks/. v1 overwrites .cursor/hooks.json in the target app — keep shared hooks here; app-only hooks belong in the app repo outside Prompterium or wait for v2 merge support.
- Additive / update: files in the app’s
.cursor/that are not in the catalog are left alone. - No prune: deleting a skill from Prompterium does not remove it from an app until you delete it manually in the app (v2 may add
--deleteor a lockfile). --dry-run: shows what would copy without writing.
- Manifest / profiles (
prompterium.yaml) for per-app subsets - Safe removal sync and
hooks.jsonmerge - Validation script for SKILL frontmatter
MIT