Plugin Manifest System with Post-Deploy Actions
Every plugin in the registry now ships with a manifest — a structured declaration of environment variables, dependencies, post-install steps, and health checks. This is the standard for all current and future plugins.
What's New
- Environment Variable Prompting — Deploying a plugin that requires configuration (API keys, network settings, auth tokens) shows a configuration modal before deployment. Required fields are validated, secrets are masked, and auto-generation is supported.
- Plugin Dependency Validation — The deploy flow checks that all required plugins are installed first. Portainer requires Docker, AgentPay Skill Pack requires AgentPay SDK, etc.
- Health Check Endpoints —
GET /api/plugins/{slug}/healthruns manifest-defined checks (shell commands, HTTP endpoints, Python imports, file existence). Health indicators show green/red status in the Plugins tab. - Manifest-Driven Post-Install — Plugin-specific setup steps replace the old generic auto-detection. Docker installs Docker CE, Tailscale authenticates with an auth key, Bankr installs the CLI, etc.
- 10 Complete Plugin Manifests — Superpowers, Shannon, AgentPay SDK, AgentPay Skill Pack, Bankr Agent, Docker, Portainer, Browser Control, Tailscale, Hello Plugin
Plugin Manifest Standard
All plugins must declare:
envVars— required/optional config with descriptions, validation regex, auto-generate supportdependencies— other plugins that must be installed firstsystemRequirements— system packages needed (docker, nodejs, python, etc.)postInstallSteps— ordered commands to run after cloninghealthChecks— verification that the plugin works
See DOCUMENTATION.md for the full schema reference.
Security
- Env var values injected via subprocess env, never via shell interpolation
- SSL verification only disabled for localhost health checks
- Python import paths validated to prevent code injection
- Env var values never logged
Files Changed
- 19 files, +1,970 / -287 lines
- New:
manifest.py,EnvVarPromptModal.tsx, 4 setup scripts, DB migration