@lumiastream/plugin 0.4.6 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +194 -0
  2. package/package.json +6 -3
package/README.md CHANGED
@@ -169,6 +169,9 @@ Plugins execute in an isolated **Node.js** process (no browser DOM). Use Node-co
169
169
  - `npm run lint` – type-check the source without emitting output.
170
170
  - `npm run package-docs` – rebuild the GPT knowledge pack in `gpt-knowledge/lumia-plugin-sdk-docs`.
171
171
  - `npm run sync:developer-docs` – sync core SDK docs and generated example pages into `../Developer-Docs/docs/plugin-sdk` (no manual copy/paste).
172
+ - `npm run sync:skills` – refresh Codex skill docs snapshot, Claude skill docs snapshot, and Cursor rules together.
173
+ - `npm run validate:skills` – validate Codex skill + Claude skill + Copilot instructions + Gemini instructions + Cursor rule version alignment.
174
+ - `npm run update:assistant-files -- --target <plugin-path>` – pull latest assistant files (Claude/Copilot/Gemini/Cursor, optional Codex) from `main`.
172
175
 
173
176
  ## CLI Helpers
174
177
 
@@ -178,6 +181,197 @@ The CLI is distributed separately via `lumia-plugin`. Use it with `npx` (require
178
181
  - `npx lumia-plugin validate ./path/to/plugin` check `manifest.json`, entry files, and config for common mistakes
179
182
  - `npx lumia-plugin build ./path/to/plugin --out ./plugin.lumiaplugin` bundle the directory into a distributable archive
180
183
 
184
+ ## AI Editor Support (Codex + Claude + Copilot + Gemini CLI + Cursor)
185
+
186
+ This repository ships cross-tool guidance for all three tools using this repo as source:
187
+
188
+ - [https://github.com/lumiastream/Plugin-SDK](https://github.com/lumiastream/Plugin-SDK)
189
+
190
+ ### Codex Desktop
191
+
192
+ Location:
193
+
194
+ - `skills/lumia-plugin-codex-skill`
195
+
196
+ What it does:
197
+
198
+ - Guides Lumia plugin workflow (scaffold, implement, validate, package)
199
+ - Maps `manifest.json` capabilities to required/recommended runtime hooks
200
+ - Includes `plugin-audit.js` to detect manifest-to-hook mismatches
201
+
202
+ Install/download into Codex Desktop:
203
+
204
+ ```bash
205
+ python3 "$CODEX_HOME/skills/.system/skill-installer/scripts/install-skill-from-github.py" \
206
+ --repo lumiastream/Plugin-SDK \
207
+ --path skills/lumia-plugin-codex-skill
208
+ ```
209
+
210
+ Browser-only install (no curl):
211
+
212
+ 1. Download the repo zip: [Download Plugin-SDK zip](https://github.com/lumiastream/Plugin-SDK/archive/refs/heads/main.zip)
213
+ 2. Extract it and copy `skills/lumia-plugin-codex-skill` to `$CODEX_HOME/skills/lumia-plugin-codex-skill`
214
+ 3. Restart Codex Desktop
215
+
216
+ Use:
217
+
218
+ - Mention `$lumia-plugin-codex-skill` in your prompt
219
+ - Example: `Use $lumia-plugin-codex-skill to scaffold and validate a lights plugin with theme support`
220
+
221
+ Restart Codex Desktop after installation.
222
+
223
+ ### Claude
224
+
225
+ Location:
226
+
227
+ - `skills/lumia-plugin-claude-skill/lumia-plugin-claude-skill.md`
228
+
229
+ What it does:
230
+
231
+ - Provides Lumia plugin workflow and capability contract guidance for Claude sessions
232
+ - Includes audit/validation guidance and references synced from SDK docs
233
+
234
+ Install/download into another project:
235
+
236
+ ```bash
237
+ curl -L https://raw.githubusercontent.com/lumiastream/Plugin-SDK/main/skills/lumia-plugin-claude-skill/lumia-plugin-claude-skill.md \
238
+ -o /path/to/your-plugin/CLAUDE.md
239
+ ```
240
+
241
+ Browser-only install (no curl):
242
+
243
+ 1. Open [Claude skill file](https://raw.githubusercontent.com/lumiastream/Plugin-SDK/main/skills/lumia-plugin-claude-skill/lumia-plugin-claude-skill.md)
244
+ 2. Save it as `CLAUDE.md` in your plugin project root
245
+
246
+ Optional references bundle:
247
+
248
+ ```bash
249
+ git clone https://github.com/lumiastream/Plugin-SDK.git /tmp/lumia-plugin-sdk
250
+ mkdir -p /path/to/your-plugin/.claude/lumia-plugin-references
251
+ cp -R /tmp/lumia-plugin-sdk/skills/lumia-plugin-claude-skill/references/* /path/to/your-plugin/.claude/lumia-plugin-references/
252
+ ```
253
+
254
+ Use:
255
+
256
+ - Open your plugin project in Claude
257
+ - Ask Claude to follow `CLAUDE.md` while implementing or validating the plugin
258
+
259
+ ### GitHub Copilot
260
+
261
+ Location:
262
+
263
+ - `.github/copilot-instructions.md`
264
+
265
+ What it does:
266
+
267
+ - Adds repository-wide Lumia plugin implementation and validation guidance for Copilot
268
+ - Includes workflow steps and manifest capability contract checks
269
+
270
+ Install/download into another project:
271
+
272
+ ```bash
273
+ mkdir -p /path/to/your-plugin/.github
274
+ curl -L https://raw.githubusercontent.com/lumiastream/Plugin-SDK/main/.github/copilot-instructions.md \
275
+ -o /path/to/your-plugin/.github/copilot-instructions.md
276
+ ```
277
+
278
+ Browser-only install (no curl):
279
+
280
+ 1. Open [Copilot instructions file](https://raw.githubusercontent.com/lumiastream/Plugin-SDK/main/.github/copilot-instructions.md)
281
+ 2. Save it as `.github/copilot-instructions.md` in your plugin project
282
+
283
+ Use:
284
+
285
+ - Open your plugin project in VS Code or GitHub with Copilot enabled
286
+ - Copilot Chat uses repository instructions automatically
287
+
288
+ ### Gemini CLI
289
+
290
+ Location:
291
+
292
+ - `GEMINI.md`
293
+
294
+ What it does:
295
+
296
+ - Provides project guidance for Gemini CLI sessions targeting Lumia plugin development
297
+ - Includes workflow, capability contracts, and validation commands
298
+
299
+ Install/download into another project:
300
+
301
+ ```bash
302
+ curl -L https://raw.githubusercontent.com/lumiastream/Plugin-SDK/main/GEMINI.md \
303
+ -o /path/to/your-plugin/GEMINI.md
304
+ ```
305
+
306
+ Browser-only install (no curl):
307
+
308
+ 1. Open [Gemini instructions file](https://raw.githubusercontent.com/lumiastream/Plugin-SDK/main/GEMINI.md)
309
+ 2. Save it as `GEMINI.md` in your plugin project root
310
+
311
+ Use:
312
+
313
+ - Run Gemini CLI from your plugin project root
314
+ - Ask Gemini to follow `GEMINI.md` while implementing or validating plugin changes
315
+
316
+ ### Cursor
317
+
318
+ Location:
319
+
320
+ - `.cursor/rules/lumia-plugin-workflow.mdc`
321
+ - `.cursor/rules/lumia-plugin-manifest-contracts.mdc`
322
+
323
+ What it does:
324
+
325
+ - Enforces Lumia plugin workflow steps while editing plugin files
326
+ - Applies capability contract checks when `manifest.json` and runtime hooks change
327
+
328
+ Install/download into another project:
329
+
330
+ ```bash
331
+ mkdir -p /path/to/your-plugin/.cursor/rules
332
+ cp .cursor/rules/lumia-plugin-*.mdc /path/to/your-plugin/.cursor/rules/
333
+ mkdir -p /path/to/your-plugin/scripts
334
+ cp skills/lumia-plugin-codex-skill/scripts/plugin-audit.js /path/to/your-plugin/scripts/plugin-audit.js
335
+ ```
336
+
337
+ Browser-only install (no curl):
338
+
339
+ 1. Open [Cursor workflow rule](https://raw.githubusercontent.com/lumiastream/Plugin-SDK/main/.cursor/rules/lumia-plugin-workflow.mdc) and save as `.cursor/rules/lumia-plugin-workflow.mdc`
340
+ 2. Open [Cursor manifest rule](https://raw.githubusercontent.com/lumiastream/Plugin-SDK/main/.cursor/rules/lumia-plugin-manifest-contracts.mdc) and save as `.cursor/rules/lumia-plugin-manifest-contracts.mdc`
341
+ 3. Open [Audit script](https://raw.githubusercontent.com/lumiastream/Plugin-SDK/main/skills/lumia-plugin-codex-skill/scripts/plugin-audit.js) and save as `scripts/plugin-audit.js`
342
+
343
+ Use:
344
+
345
+ - Open the plugin project in Cursor
346
+ - Cursor applies matching rules automatically based on file globs
347
+ - Run `node scripts/plugin-audit.js <plugin-dir>` only if you copied the audit script
348
+
349
+ ### Easy Updates (No Full Redownload)
350
+
351
+ Instead of re-downloading everything, users can pull only the latest assistant files from `main` with one command:
352
+
353
+ ```bash
354
+ npm run update:assistant-files -- --target /path/to/your-plugin
355
+ ```
356
+
357
+ Optional tool selection:
358
+
359
+ ```bash
360
+ npm run update:assistant-files -- --target /path/to/your-plugin --tools claude,copilot,gemini,cursor
361
+ ```
362
+
363
+ Optional Codex skill update (for Codex Desktop install path):
364
+
365
+ ```bash
366
+ npm run update:assistant-files -- --tools codex --codex-home "$CODEX_HOME"
367
+ ```
368
+
369
+ ### Automatic Sync on Publish
370
+
371
+ - `npm run sync:skills`
372
+ - `npm run validate:skills`
373
+ - `prepublishOnly` runs both before publish (covers Codex + Claude + Copilot + Gemini CLI + Cursor)
374
+
181
375
  ## Documentation
182
376
 
183
377
  - [Getting Started](./docs/getting-started.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumiastream/plugin",
3
- "version": "0.4.6",
3
+ "version": "0.5.0",
4
4
  "description": "Official Lumia Stream Plugin SDK for building Lumia Stream plugins.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -16,11 +16,14 @@
16
16
  "scripts": {
17
17
  "build": "tsc -p tsconfig.json",
18
18
  "lint": "tsc --noEmit",
19
- "package-docs": "node scripts/package-knowledge-pack.js && npm run sync:developer-docs",
19
+ "package-docs": "node scripts/package-knowledge-pack.js && npm run sync:developer-docs && npm run sync:skills",
20
20
  "sync:developer-docs": "node scripts/sync-developer-docs.js",
21
+ "sync:skills": "node scripts/sync-skills.js",
22
+ "validate:skills": "node scripts/validate-skills.js",
23
+ "update:assistant-files": "node scripts/update-assistant-files.js",
21
24
  "sync-cli-version": "node scripts/sync-cli-version.js",
22
25
  "publish-cli": "node scripts/publish-cli.js",
23
- "prepublishOnly": "npm run build && npm run sync-cli-version",
26
+ "prepublishOnly": "npm run build && npm run sync-cli-version && npm run sync:skills && npm run validate:skills",
24
27
  "postpublish": "npm run publish-cli"
25
28
  },
26
29
  "exports": {