mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 14:25:02 +00:00
Projects Plugin
Workflow integration for MetaBuilder's standalone projects. This plugin provides workflow nodes to interact with all 15 standalone projects in the monorepo.
Available Nodes
CadQuery (3D CAD)
cadquery.execute- Execute a CadQuery Python scriptcadquery.box- Create a 3D boxcadquery.cylinder- Create a 3D cylinder
Game Engine (C++ SDL3)
gameengine.build- Build the SDL3 game enginegameengine.run- Run a game engine executablegameengine.listPackages- List available game engine packages
Pastebin (Code Snippets)
pastebin.create- Create a new code snippetpastebin.get- Get a paste by IDpastebin.list- List recent pastes
PCB Generator
pcb.generate- Execute a PCB generation scriptpcb.createBoard- Create a PCB with components and tracespcb.listFootprints- List available PCB footprints
Docker (Container Management)
docker.listContainers- List Docker containersdocker.listServices- List Docker Swarm servicesdocker.run- Run a Docker containerdocker.stop- Stop a Docker containerdocker.scaleService- Scale a Docker Swarm servicedocker.deployStack- Deploy a stack to Docker Swarm
SMTP (Email Relay)
smtp.sendEmail- Send an email via SMTP relaysmtp.status- Check SMTP server statussmtp.start- Start the SMTP relay server
Mojo (Systems Programming)
mojo.run- Run Mojo code directlymojo.build- Build Mojo file to native binarymojo.runExample- Run a Mojo examplemojo.listExamples- List available Mojo examples
PostgreSQL (Database Admin)
postgres.query- Execute a SQL query and return resultspostgres.execute- Execute a SQL commandpostgres.listTables- List all tables in the databasepostgres.describeTable- Get table schema/columnspostgres.checkConnection- Check database connectionpostgres.backup- Create a database backup
Example Workflows
Create 3D Model and Share
{
"version": "2.2.0",
"name": "create-and-share-3d",
"nodes": [
{
"id": "create-model",
"type": "operation",
"op": "cadquery.box",
"params": {
"length": 100,
"width": 50,
"height": 25,
"outputPath": "/tmp/model.step"
}
},
{
"id": "share-model",
"type": "operation",
"op": "pastebin.create",
"params": {
"content": "{{ $nodes['create-model'].outputPath }}",
"title": "3D Model Path",
"language": "plaintext"
}
}
],
"connections": [
{ "from": "create-model", "to": "share-model" }
]
}
Deploy Container and Send Notification
{
"version": "2.2.0",
"name": "deploy-and-notify",
"nodes": [
{
"id": "deploy",
"type": "operation",
"op": "docker.run",
"params": {
"image": "nginx:latest",
"name": "my-nginx",
"ports": ["8080:80"],
"detach": true
}
},
{
"id": "notify",
"type": "operation",
"op": "smtp.sendEmail",
"params": {
"from": "deploy@metabuilder.local",
"to": "admin@example.com",
"subject": "Container Deployed",
"body": "Container {{ $nodes['deploy'].containerId }} is now running"
}
}
],
"connections": [
{ "from": "deploy", "to": "notify" }
]
}
Database Backup Workflow
{
"version": "2.2.0",
"name": "daily-backup",
"nodes": [
{
"id": "check-db",
"type": "operation",
"op": "postgres.checkConnection",
"params": {
"host": "localhost",
"database": "myapp"
}
},
{
"id": "backup",
"type": "operation",
"op": "postgres.backup",
"params": {
"host": "localhost",
"database": "myapp",
"outputPath": "/backups/myapp-{{ $date }}.sql"
}
},
{
"id": "notify",
"type": "operation",
"op": "smtp.sendEmail",
"params": {
"from": "backup@metabuilder.local",
"to": "dba@example.com",
"subject": "Backup Complete",
"body": "Database backup saved to {{ $nodes['backup'].backupPath }}"
}
}
],
"connections": [
{ "from": "check-db", "to": "backup" },
{ "from": "backup", "to": "notify" }
]
}
Requirements
Each plugin requires the corresponding project dependencies:
- cadquery: Python 3, CadQuery library
- gameengine: CMake, SDL3, C++ compiler
- pastebin: Pastebin service running (default: localhost:3001)
- pcb: Python 3, boardforge library
- docker: Docker CLI installed
- smtp: SMTP relay service or external SMTP server
- mojo: Mojo SDK installed
- postgres: PostgreSQL client (psql, pg_dump)