Welcome to the digital.auto Plugin System documentation. This guide will help you create, develop, and deploy plugins for the digital.auto Playground.
- Getting Started - Quick introduction and setup
- Plugin Architecture - How the plugin system works
- Creating Your First Plugin - Step-by-step tutorial
- Plugin API Reference - Complete API documentation
- Advanced Topics - Advanced patterns and best practices
- Deployment - Publishing and hosting your plugin
# 1. Copy the sample plugin
cp -r backend/static/plugin/sample-tsx my-plugin
# 2. Edit your plugin
cd my-plugin
# Edit src/components/Page.tsx
# 3. Build the plugin
./build.sh
# 4. Deploy
# Upload index.js to your hosting servicePlugins have access to a limited but powerful API that allows them to:
✅ Update Model/Prototype Data - Save custom data to models and prototypes ✅ Read Vehicle APIs - Access vehicle signal specifications (VSS) ✅ Manage Runtime Values - Set and get API values for testing/simulation ✅ Create Custom Signals - Define wishlist/extended APIs ✅ Integrate with Host UI - Seamlessly render within the digital.auto interface
await api.updatePrototype({
name: 'New Prototype Name'
})await api.updateModel({
extend: {
myPluginData: {
lastModified: new Date().toISOString(),
settings: { theme: 'dark' }
}
}
})const apis = await api.getComputedAPIs()
const speedAPI = await api.getApiDetail('Vehicle.Speed')await api.createWishlistApi({
model: model_id,
apiName: 'Vehicle.MyCustomSignal',
description: 'My custom vehicle signal',
type: 'sensor',
datatype: 'float',
skeleton: 'Vehicle.MyCustomSignal',
isWishlist: true
})- Sample Plugin: Check
backend/static/plugin/sample-tsxfor a working example - API Possibilities: See
PLUGIN_API_POSSIBILITIES.mdfor future features - Type Definitions: Located in
frontend/src/types/plugin.types.ts
👉 Start with Getting Started to create your first plugin!