@apilium/create-akashi-plugin
v0.1.2
Published
Scaffold a new Akashi plugin: a runnable, permission-declaring project you can load in Akashi Developer Mode in a few minutes.
Maintainers
Readme
@apilium/create-akashi-plugin
Scaffold a new Akashi plugin in one command.
npm create @apilium/akashi-plugin my-pluginYou get a runnable project: a manifest.json that declares its permissions, a
commented src/main.js that adds a command and renders a live side panel, and an
esbuild build. Load it in Akashi → Plugins → Developer Mode → Load plugin folder,
consent to its permissions, and it runs, fully sandboxed. Edit src/main.js and it
hot-reloads.
Usage
# interactive (prompts for name, author, id)
npm create @apilium/akashi-plugin my-plugin
# non-interactive / with flags (npx passes flags straight through)
npx @apilium/create-akashi-plugin my-plugin --id com.you.my-plugin --author "You" --yes| Flag | Meaning |
| --- | --- |
| <name> | Display name, folder, and npm name. Prompted if omitted. |
| --id | Reverse-DNS plugin id (e.g. com.you.my-plugin). Derived from name + author if omitted. |
| --author | Your author name. Prompted if omitted. |
| --dir | Parent directory to create the project in (default: current directory). |
| --yes, -y | Skip prompts; use defaults for anything not passed as a flag. |
The scaffolder is pure Node (no dependencies) and touches only the filesystem. The
generated project's only dependency is esbuild, installed with npm install.
What next
cd into the project, npm install, npm run build, then load it in Akashi
Developer Mode. When it works, sign it two ways, both first-class:
- In the terminal:
npm run keygenonce, thennpm run packandnpm run verify. The scaffold wires the@apilium/akashi-pluginCLI as a dev dependency, so these work with no global install and no Rust (or callnpx @apilium/akashi-plugindirectly). - In Akashi, no terminal: Plugins → Developer Mode → Package & sign. Same
signing engine, same strict lint, saves the
.akpluginfor you.
Then share the .akplugin.
Full authoring guide: https://github.com/ApiliumCode/akashi-plugins/blob/main/AUTHORING.md
Why Akashi plugins
Every Akashi plugin is signed, sandboxed, and permission-scoped: it runs in a frozen
SES compartment with no ambient authority, and its only egress is the akashi API,
checked against the permissions the user granted. A plugin cannot touch anything it did
not declare and the user did not approve.
License
Apache-2.0 OR Commercial.
