Skip to main content

Plugins Overview

AutoDeployBase uses a modular plugin architecture that lets you add features to your project without complexity.

What Are Plugins?

Plugins are self-contained packages that add functionality to your generated project. Each plugin can include:

  • Templates - Files copied to your project
  • Database Models - Prisma schema additions
  • API Routes - Backend endpoints
  • Components - UI components
  • Admin Integration - Dashboard pages and menus

Plugin Categories

Core Plugins

Always available, essential functionality:

PluginDescription
admin-dashboardAdmin panel with user management
auth-jwtJWT authentication

Feature Plugins

Add specific capabilities:

PluginDescriptionTier
emailTransactional emailsPublic
file-storageFile uploadsPublic
cachingRedis cachingPublic
payments-stripeStripe integrationPremium
analyticsProduct analyticsPremium

Framework Plugins

Framework-specific setup:

PluginDescription
nextNext.js configuration
nuxtNuxt configuration
sveltekitSvelteKit configuration

Deployment Plugins

CI/CD and hosting:

PluginDescription
vercelVercel configuration
dockerDockerfile and compose
github-actionsGitHub CI/CD
gitlab-ciGitLab CI/CD

Using Plugins

During Project Creation

npx autodeploybase init my-app --plugins auth-jwt,payments-stripe

Adding to Existing Project

npx autodeploybase add payments-stripe

Removing Plugins

npx autodeploybase remove payments-stripe

Configuration

autodeploy.config.json
{
"plugins": {
"auth-jwt": {
"enabled": true,
"settings": {
"tokenExpiry": "7d"
}
},
"payments-stripe": {
"enabled": true,
"settings": {
"currency": "usd"
}
}
}
}

Plugin Lifecycle

1. Discovery

AutoDeployBase finds plugins from:

  • Built-in plugins (plugins/core/, plugins/public/)
  • Premium plugins (downloaded with entitlements)
  • Local plugins (project's plugins/ directory)

2. Validation

Each plugin is validated for:

  • Valid manifest.json
  • Required files exist
  • Security requirements met

3. Generation

When you run generate:

  1. Templates are copied
  2. Prisma schemas are merged
  3. Admin menus are registered
  4. Providers are configured

4. Integration

Generated code includes:

  • Plugin imports
  • Provider wrappers
  • Route registrations
  • Menu items

Plugin Manifest

Every plugin has a manifest.json:

manifest.json
{
"name": "my-plugin",
"version": "1.0.0",
"description": "My custom plugin",
"author": "Your Name",
"category": "feature",
"frameworks": ["next", "nuxt", "sveltekit"],
"dependencies": {
"some-package": "^1.0.0"
},
"settings": {
"schema": {
"apiKey": {
"type": "string",
"label": "API Key",
"secret": true
}
}
}
}

Premium Plugins

Some plugins require a license:

# Login to your account
npx autodeploybase login

# Add premium plugin
npx autodeploybase add payments-stripe

Premium plugins include:

  • payments-stripe - Full Stripe integration
  • analytics - Product analytics dashboard
  • Additional support and updates

Community Plugins

Install third-party plugins:

# From npm
npx autodeploybase add @community/seo-plugin

# From GitHub
npx autodeploybase add github:username/my-plugin

Creating Plugins

Build your own plugins for custom functionality:

# Create plugin scaffold
npx autodeploybase plugin create my-plugin

See Plugin Development for the complete guide.

Plugin Dependencies

Plugins can depend on other plugins:

manifest.json
{
"pluginDependencies": ["auth-jwt"]
}

AutoDeployBase ensures dependencies are installed first.

Conflict Resolution

When plugins conflict:

  • Later plugins override earlier ones
  • Explicit configuration takes precedence
  • Warnings are shown for conflicts

Best Practices

  1. Start minimal - Add plugins as needed
  2. Check compatibility - Ensure plugins support your framework
  3. Review settings - Configure plugins for your use case
  4. Keep updated - Run autodeploybase upgrade regularly