Plugin monorepo for Noctalia 5+. Each subdirectory is a plugin loaded directly from source — no build step.
| Plugin | Description |
|---|---|
| rbw-launcher | Search Bitwarden vault entries via rbw CLI (prefix /rbw) |
├── catalog.toml # Aggregated metadata (auto-generated)
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── .gitignore
├── LICENSE
├── README.md
└── <plugin>/
├── plugin.toml # Plugin manifest (required)
├── launcher.luau # Launcher provider (optional)
├── assets/ # Images / screenshots
└── translations/ # i18n files (en.json, fr.json, ...)
- Create
new-plugin/plugin.tomlwith metadata + entry declarations - Create entry files
- Optionally add
translations/,assets/ - Update
.gitignoreif needed - Regenerate catalog (see
catalog.tomlheader)
# Validate plugin manifest
noctalia validate-plugin rbw-launcher
# Luau static analysis
luau-analyze --defs noctalia.d.luau rbw-launcher/launcher.luau.luau files are hot-reloaded on save.
See CONTRIBUTING.md for guidelines, bug reports, and pull request process.
.vscode/settings.json and noctalia.d.luau provide autocomplete for the Noctalia API via luau-lsp. Types are loaded from noctalia.d.luau automatically.
Parts of this codebase were developed with AI assistance (Claude Code). AI tooling is welcome in contributions — just mention it in your PR description. All contributions, AI-assisted or not, are reviewed with the same standards.
- Noctalia 5.0.0+ — runtime
- Luau — language (subset of Lua 5.1 with type annotations)
- Allium (optional) — behavioral spec language
- curl — used by services for HTTP polling (
noctalia.httpunavailable in service context)