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:
| Plugin | Description |
|---|---|
admin-dashboard | Admin panel with user management |
auth-jwt | JWT authentication |
Feature Plugins
Add specific capabilities:
| Plugin | Description | Tier |
|---|---|---|
email | Transactional emails | Public |
file-storage | File uploads | Public |
caching | Redis caching | Public |
payments-stripe | Stripe integration | Premium |
analytics | Product analytics | Premium |
Framework Plugins
Framework-specific setup:
| Plugin | Description |
|---|---|
next | Next.js configuration |
nuxt | Nuxt configuration |
sveltekit | SvelteKit configuration |
Deployment Plugins
CI/CD and hosting:
| Plugin | Description |
|---|---|
vercel | Vercel configuration |
docker | Dockerfile and compose |
github-actions | GitHub CI/CD |
gitlab-ci | GitLab 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
{
"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:
- Templates are copied
- Prisma schemas are merged
- Admin menus are registered
- Providers are configured
4. Integration
Generated code includes:
- Plugin imports
- Provider wrappers
- Route registrations
- Menu items
Plugin Manifest
Every plugin has a 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:
{
"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
- Start minimal - Add plugins as needed
- Check compatibility - Ensure plugins support your framework
- Review settings - Configure plugins for your use case
- Keep updated - Run
autodeploybase upgraderegularly