{"_id":"@apilium/create-altretta-plugin","name":"@apilium/create-altretta-plugin","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@apilium/create-altretta-plugin","version":"1.0.0","description":"Scaffold a new Altretta plugin: a runnable, permission-declaring project you can load in Altretta Developer Mode in a few minutes.","type":"module","bin":{"create-altretta-plugin":"index.mjs"},"engines":{"node":">=18"},"scripts":{"test":"node --test"},"keywords":["altretta","plugin","scaffold","create","apilium"],"author":{"name":"Apilium"},"license":"Apache-2.0 OR Commercial","publishConfig":{"access":"public"},"homepage":"https://github.com/ApiliumCode/altretta-plugins-legacy#readme","repository":{"type":"git","url":"git+https://github.com/ApiliumCode/altretta-plugins-legacy.git","directory":"create-altretta-plugin"},"bugs":{"url":"https://github.com/ApiliumCode/altretta-plugins-legacy/issues"},"gitHead":"b58c97913ccc0e89e7b686d9f3199f22a67d4cc6","_id":"@apilium/create-altretta-plugin@1.0.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-wptOmUaiddFGhb5rQOq9RWkrmxteEgnbPeIaasXxOv5lT9oteOtqxHQiVondfbkgFhiMvKF/JyPvXoWooPY8sw==","shasum":"e4f6fa0b2d7a5ec47fbc5cdd0b0a2bbe8dc918ad","tarball":"https://registry.npmjs.org/@apilium/create-altretta-plugin/-/create-altretta-plugin-1.0.0.tgz","fileCount":8,"unpackedSize":21532,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDsprb6plyWLne7r918kMa7TtlazmQ1ezunzvAEodxyUwIge8vdeIDHbhqSw1bWOgYPzx3O5Xk+jtjel0MO0HAVUXo="}]},"_npmUser":{"name":"apilium-ai","email":"it@apilium.com"},"directories":{},"maintainers":[{"name":"apilium-ai","email":"it@apilium.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-altretta-plugin_1.0.0_1785423129971_0.7357516531874018"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T14:52:09.394Z","1.0.0":"2026-07-30T14:52:10.112Z","modified":"2026-07-30T14:52:10.573Z"},"maintainers":[{"name":"apilium-ai","email":"it@apilium.com"}],"description":"Scaffold a new Altretta plugin: a runnable, permission-declaring project you can load in Altretta Developer Mode in a few minutes.","homepage":"https://github.com/ApiliumCode/altretta-plugins-legacy#readme","keywords":["altretta","plugin","scaffold","create","apilium"],"repository":{"type":"git","url":"git+https://github.com/ApiliumCode/altretta-plugins-legacy.git","directory":"create-altretta-plugin"},"author":{"name":"Apilium"},"bugs":{"url":"https://github.com/ApiliumCode/altretta-plugins-legacy/issues"},"license":"Apache-2.0 OR Commercial","readme":"# @apilium/create-altretta-plugin\r\n\r\nScaffold a new [Altretta](https://apilium.com) plugin in one command.\r\n\r\n```bash\r\nnpm create @apilium/altretta-plugin my-plugin\r\n```\r\n\r\nYou get a runnable project: a `manifest.json` that declares its permissions, a\r\ncommented `src/main.js` that adds a command and renders a live side panel, and an\r\nesbuild build. Load it in **Altretta → Plugins → Developer Mode → Load plugin folder**,\r\nconsent to its permissions, and it runs, fully sandboxed. Edit `src/main.js` and it\r\nhot-reloads.\r\n\r\n## Usage\r\n\r\n```bash\r\n# interactive (prompts for name, author, id)\r\nnpm create @apilium/altretta-plugin my-plugin\r\n\r\n# non-interactive / with flags (npx passes flags straight through)\r\nnpx @apilium/create-altretta-plugin my-plugin --id com.you.my-plugin --author \"You\" --yes\r\n```\r\n\r\n| Flag | Meaning |\r\n| --- | --- |\r\n| `<name>` | Display name, folder, and npm name. Prompted if omitted. |\r\n| `--id` | Reverse-DNS plugin id (e.g. `com.you.my-plugin`). Derived from name + author if omitted. |\r\n| `--author` | Your author name. Prompted if omitted. |\r\n| `--dir` | Parent directory to create the project in (default: current directory). |\r\n| `--yes`, `-y` | Skip prompts; use defaults for anything not passed as a flag. |\r\n\r\nThe scaffolder is pure Node (no dependencies) and touches only the filesystem. The\r\ngenerated project's only dependency is esbuild, installed with `npm install`.\r\n\r\n## What next\r\n\r\n`cd` into the project, `npm install`, `npm run build`, then load it in Altretta\r\nDeveloper Mode. When it works, sign it two ways, both first-class:\r\n\r\n- **In the terminal:** `npm run keygen` once, then `npm run pack` and `npm run verify`.\r\n  The scaffold wires the `@apilium/altretta-plugin` CLI as a dev dependency, so these\r\n  work with no global install and no Rust (or call `npx @apilium/altretta-plugin`\r\n  directly).\r\n- **In Altretta, no terminal:** Plugins → Developer Mode → **Package & sign**. Same\r\n  signing engine, same strict lint, saves the `.altplugin` for you.\r\n\r\nThen share the `.altplugin`.\r\n\r\nFull authoring guide:\r\n<https://github.com/ApiliumCode/altretta-plugins-legacy/blob/main/AUTHORING.md>\r\n\r\n## Why Altretta plugins\r\n\r\nEvery Altretta plugin is signed, sandboxed, and permission-scoped: it runs in a frozen\r\nSES compartment with no ambient authority, and its only egress is the `altretta` API,\r\nchecked against the permissions the user granted. A plugin cannot touch anything it did\r\nnot declare and the user did not approve.\r\n\r\n## License\r\n\r\nApache-2.0 OR Commercial.\r\n","readmeFilename":"README.md","_rev":"1-ba9fc5fc9c114118d366ab8447428e70"}