CLI Configuration
Plugin Manifest
Theplugin.manifest.json file defines your plugin. The CLI validates it before every deployment.
Complete Example
Field Reference
pluginId (required)
pluginId (required)
Unique identifier for your plugin across TagadaPay. Cannot be changed once deployed.
name, version, description, author (required)
name, version, description, author (required)
category (required)
category (required)
Plugin category for organization. Examples:
checkout, landing, upsell, post-purchase.pages (required)
pages (required)
At least one page. Each page has a Feature types:
path, optional features, and remappable flag.landing, checkout, thankyou, product-page, catalog, upsell, post-purchase, staticRequirements: payment, shipping, customer, order, cart, inventoryrouter (required)
router (required)
Controls how URLs match your plugin.
basePath: Root path for the plugin (usually/)matcher: Regex pattern for matching URLs (usually.*)excluder: Pattern to exclude from matching (ornull)
requirements (required)
requirements (required)
SDK dependency info.
sdkVersion must be "v1" or "v2".mode (optional)
mode (optional)
Plugin loading mode:
"direct-mode"(default) — Plugin is served directly"proxy-mode"— Plugin is proxied
configuration (optional)
configuration (optional)
Allows the CRM to configure instances with a form UI. References JSON Schema files in your Without this, your plugin won’t be configurable from the CRM dashboard.
config/ directory.Config Directory
The CLI looks for aconfig/ directory in your plugin root. Files found there are auto-synced after deployment.
Naming Conventions
| Pattern | Purpose |
|---|---|
*.preset.json | Config preset (synced to deployment) |
*.config.json | Config preset (synced to deployment) |
schema.json or config.schema.json | JSON Schema for the config form |
ui-schema.json or config.ui-schema.json | UI Schema for form layout |
Example: Config Schema
config/schema.json
Example: Config Preset
config/blue-theme.preset.json
/plugins/v2/deployment/sync-config API. This makes the presets and schema available in the CRM when creating instances.
Local Development
Create.local.json in your plugin root for local development:
.local.json
| Field | Description |
|---|---|
storeId | Your development store ID |
accountId | Your account ID |
config | Preset name (matches config/*.preset.json filename without extension) |
apiUrl | API endpoint for development |
Path Remapping
Pages with"remappable": true can have their URLs remapped by the CRM. This allows merchants to customize URL paths without changing plugin code.
/p/:slug → internal /products/:id), the routing engine handles the translation automatically. See the Path Remapping guide for details.
Environments
The CLI supports three environments plus custom URLs:| Name | Flag | API URL |
|---|---|---|
| Production | --prod (default) | https://app.tagadapay.com |
| Development | --dev | https://app.tagadapay.dev |
| Local | --local | http://app.localhost:3000 |
| Custom | --base-url <url> | Any URL |
Troubleshooting
Manifest validation failed
Manifest validation failed
The CLI validates your manifest before deploying. Common missing fields:
category— required (e.g."checkout")router— required (basePath,matcher,excluder)requirements— required (sdk,sdkVersion)
Invalid JSON
Invalid JSON
Path remapping not working
Path remapping not working
- Verify
"remappable": trueon the page in your manifest - Check the CRM routing configuration
- See the Path Remapping guide for debugging tips
Config not appearing in CRM
Config not appearing in CRM
Make sure you have a
configuration field in your manifest pointing to valid schema files, and that your config/ directory contains the referenced files. They are synced automatically after tgd deploy.Next Steps
Quick Start
Deploy your first plugin
CLI Reference
All commands and flags
Plugin SDK
Build interactive plugins with React hooks
Hosting & A/B Testing
Host pages and set up A/B tests via API
