Skip to content

v1.2.0 — Plugin Manifest System

Latest

Choose a tag to compare

@a2-stuff a2-stuff released this 21 Mar 20:23
· 47 commits to main since this release

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 EndpointsGET /api/plugins/{slug}/health runs 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 support
  • dependencies — other plugins that must be installed first
  • systemRequirements — system packages needed (docker, nodejs, python, etc.)
  • postInstallSteps — ordered commands to run after cloning
  • healthChecks — 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