@growthub/cli 0.3.54 → 0.3.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/worker-kits/growthub-ai-website-cloner-v1/.env.example +7 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/QUICKSTART.md +116 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/NEW-CLIENT.md +22 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/_template/brand-kit.md +27 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/growthub/brand-kit.md +26 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/bundles/growthub-ai-website-cloner-v1.json +53 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/ai-website-cloner-fork-integration.md +118 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/design-token-system.md +135 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/multi-phase-pipeline.md +129 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/parallel-builder-dispatch.md +103 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/clone-brief-sample.md +54 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/component-spec-sample.md +123 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/platform-handoff-sample.md +102 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/visual-qa-sample.md +119 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/README.md +71 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/kit-standard.md +47 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/kit.json +105 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/output/README.md +26 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/output-standards.md +75 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/runtime-assumptions.md +70 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/check-deps.sh +50 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/clone-fork.sh +66 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/verify-env.mjs +78 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/skills.md +186 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/asset-manifest.md +57 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/builder-dispatch-plan.md +92 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/clone-brief.md +59 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/component-spec.md +124 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/design-token-extraction.md +89 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/platform-handoff.md +114 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/reconnaissance-report.md +77 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/visual-qa-checklist.md +107 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/validation-checklist.md +76 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/workers/ai-website-cloner-operator/CLAUDE.md +256 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/.env.example +40 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/QUICKSTART.md +114 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/NEW-CLIENT.md +42 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/_template/brand-kit.md +49 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/growthub/brand-kit.md +50 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/bundles/growthub-open-montage-studio-v1.json +55 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/cms-node-bridge.md +152 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md +120 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/pipeline-reference.md +147 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/provider-adapter-layer.md +105 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/cms-node-video-gen-sample.md +109 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/pipeline-selection-sample.md +67 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/platform-ready-handoff-sample.md +101 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/video-production-brief-sample.md +68 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/README.md +7 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/kit-standard.md +45 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/kit.json +107 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/output/README.md +34 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/output-standards.md +79 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/runtime-assumptions.md +86 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/check-deps.sh +43 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/clone-fork.sh +53 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/verify-env.mjs +102 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/skills.md +254 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/asset-tracking.md +46 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/cms-node-pipeline-mapping.md +64 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/generation-batch-plan.md +70 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/pipeline-selection-brief.md +67 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/platform-ready-execution-handoff.md +103 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/prompt-matrix.md +48 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/provider-selection-brief.md +86 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/review-qa-checklist.md +59 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/scene-plan.md +65 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/video-production-brief.md +58 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/validation-checklist.md +46 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/workers/open-montage-studio-operator/CLAUDE.md +304 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/.env.example +15 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/QUICKSTART.md +90 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/NEW-CLIENT.md +57 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/_template/brand-kit.md +88 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/growthub/brand-kit.md +92 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/bundles/growthub-twenty-crm-v1.json +56 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/api-and-webhooks.md +296 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/data-model-layer.md +172 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/twenty-fork-integration.md +213 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-playbook-sample.md +172 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-setup-sample.md +100 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/lead-enrichment-sample.md +117 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/pipeline-automation-sample.md +132 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/README.md +114 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/kit-standard.md +61 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/kit.json +108 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/output/README.md +46 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/output-standards.md +175 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/runtime-assumptions.md +150 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/check-deps.sh +56 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/clone-fork.sh +77 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/verify-env.mjs +105 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/skills.md +401 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/api-query-plan.md +179 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-playbook.md +155 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-setup-brief.md +94 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/custom-object-design.md +115 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/data-model-design.md +112 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/enrichment-field-map.md +100 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/import-mapping.md +139 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/integration-handoff.md +190 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/lead-enrichment-pipeline.md +128 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/pipeline-automation-brief.md +88 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/webhook-integration-spec.md +129 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/workspace-config-checklist.md +129 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/validation-checklist.md +115 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/workers/twenty-crm-operator/CLAUDE.md +310 -0
- package/package.json +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Brand Kit — Growthub
|
|
2
|
+
|
|
3
|
+
## Brand Identity
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|---|---|
|
|
7
|
+
| Brand name | Growthub |
|
|
8
|
+
| Tagline | Growth infrastructure over a stable agentic substrate |
|
|
9
|
+
| Industry | AI / Developer tools / Growth automation |
|
|
10
|
+
| Primary audience | Developers, growth teams, AI-native companies |
|
|
11
|
+
|
|
12
|
+
## Visual Identity
|
|
13
|
+
|
|
14
|
+
| Field | Value |
|
|
15
|
+
|---|---|
|
|
16
|
+
| Primary color | `#1a1a2e` (deep navy) |
|
|
17
|
+
| Secondary color | `#16213e` (dark blue) |
|
|
18
|
+
| Accent color | `#0f3460` (medium blue) |
|
|
19
|
+
| Background | `#0a0a0a` (near black) |
|
|
20
|
+
| Font family (headings) | Monospace / terminal aesthetic |
|
|
21
|
+
| Font family (body) | System sans-serif |
|
|
22
|
+
| Logo path | ASCII art block letter style |
|
|
23
|
+
|
|
24
|
+
## Tone of Voice
|
|
25
|
+
|
|
26
|
+
Technical, direct, confident. No marketing fluff. Speak to builders and operators who value substance over polish. Use declarative statements. Avoid exclamation marks.
|
|
27
|
+
|
|
28
|
+
## Visual Style Preferences
|
|
29
|
+
|
|
30
|
+
- Clean professional or minimalist diagram style for educational content
|
|
31
|
+
- Flat motion graphics for social media
|
|
32
|
+
- Dark backgrounds with high-contrast text and subtle accent colors
|
|
33
|
+
- Terminal/code aesthetic where appropriate
|
|
34
|
+
- Avoid: stock photo look, corporate clip art, generic gradients
|
|
35
|
+
|
|
36
|
+
## Platform Profiles
|
|
37
|
+
|
|
38
|
+
| Platform | Aspect Ratio | Duration Range | Notes |
|
|
39
|
+
|---|---|---|---|
|
|
40
|
+
| YouTube | 16:9 | 30-300s | Primary distribution |
|
|
41
|
+
| TikTok | 9:16 | 15-60s | Short demos |
|
|
42
|
+
| LinkedIn | 16:9 | 30-120s | Product announcements |
|
|
43
|
+
|
|
44
|
+
## Music Preferences
|
|
45
|
+
|
|
46
|
+
Ambient electronic, minimal beats, lo-fi. Instrumental only. Low energy for educational, medium energy for product demos. No vocals.
|
|
47
|
+
|
|
48
|
+
## Deliverable Log
|
|
49
|
+
|
|
50
|
+
<!-- Append deliverables as they are produced. -->
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"bundle": {
|
|
4
|
+
"id": "growthub-open-montage-studio-v1",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"kitId": "growthub-open-montage-studio-v1",
|
|
7
|
+
"workerId": "open-montage-studio-operator"
|
|
8
|
+
},
|
|
9
|
+
"briefType": "open-montage-video-production",
|
|
10
|
+
"publicExampleBrandPaths": [
|
|
11
|
+
"brands/growthub/brand-kit.md"
|
|
12
|
+
],
|
|
13
|
+
"requiredFrozenAssets": [
|
|
14
|
+
"QUICKSTART.md",
|
|
15
|
+
".env.example",
|
|
16
|
+
"skills.md",
|
|
17
|
+
"output-standards.md",
|
|
18
|
+
"runtime-assumptions.md",
|
|
19
|
+
"validation-checklist.md",
|
|
20
|
+
"workers/open-montage-studio-operator/CLAUDE.md",
|
|
21
|
+
"brands/_template/brand-kit.md",
|
|
22
|
+
"brands/growthub/brand-kit.md",
|
|
23
|
+
"brands/NEW-CLIENT.md",
|
|
24
|
+
"setup/clone-fork.sh",
|
|
25
|
+
"setup/verify-env.mjs",
|
|
26
|
+
"setup/check-deps.sh",
|
|
27
|
+
"output/README.md",
|
|
28
|
+
"templates/video-production-brief.md",
|
|
29
|
+
"templates/pipeline-selection-brief.md",
|
|
30
|
+
"templates/provider-selection-brief.md",
|
|
31
|
+
"templates/scene-plan.md",
|
|
32
|
+
"templates/prompt-matrix.md",
|
|
33
|
+
"templates/generation-batch-plan.md",
|
|
34
|
+
"templates/asset-tracking.md",
|
|
35
|
+
"templates/review-qa-checklist.md",
|
|
36
|
+
"templates/platform-ready-execution-handoff.md",
|
|
37
|
+
"templates/cms-node-pipeline-mapping.md",
|
|
38
|
+
"examples/video-production-brief-sample.md",
|
|
39
|
+
"examples/pipeline-selection-sample.md",
|
|
40
|
+
"examples/cms-node-video-gen-sample.md",
|
|
41
|
+
"examples/platform-ready-handoff-sample.md",
|
|
42
|
+
"docs/open-montage-fork-integration.md",
|
|
43
|
+
"docs/provider-adapter-layer.md",
|
|
44
|
+
"docs/cms-node-bridge.md",
|
|
45
|
+
"docs/pipeline-reference.md",
|
|
46
|
+
"growthub-meta/README.md",
|
|
47
|
+
"growthub-meta/kit-standard.md"
|
|
48
|
+
],
|
|
49
|
+
"optionalPresets": [],
|
|
50
|
+
"export": {
|
|
51
|
+
"folderName": "growthub-agent-worker-kit-open-montage-studio-v1",
|
|
52
|
+
"zipFileName": "growthub-agent-worker-kit-open-montage-studio-v1.zip"
|
|
53
|
+
},
|
|
54
|
+
"activationModes": ["export"]
|
|
55
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# CMS Node Bridge — GrowthHub ↔ OpenMontage
|
|
2
|
+
|
|
3
|
+
This document describes the adapter layer that bridges GrowthHub CMS node outputs into the OpenMontage production pipeline.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
GrowthHub's CMS exposes video and image generation as hosted execution nodes. These nodes produce output URLs (video clips, images, audio) that can feed directly into OpenMontage's composition engine. The bridge is a **cognitive adapter** — the agent reads this mapping and applies it during pipeline execution. There is no code-level integration; the agent is the integration layer.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Architecture
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
GrowthHub CMS OpenMontage
|
|
17
|
+
───────────── ───────────
|
|
18
|
+
|
|
19
|
+
CMS Capability Registry ──→ Agent discovers available nodes
|
|
20
|
+
│
|
|
21
|
+
↓
|
|
22
|
+
CMS Node Execution ──→ Agent triggers hosted execution
|
|
23
|
+
│
|
|
24
|
+
↓
|
|
25
|
+
Output URLs ──→ Agent feeds URLs as source assets
|
|
26
|
+
│ │
|
|
27
|
+
↓ ↓
|
|
28
|
+
OpenMontage Pipeline Stage
|
|
29
|
+
(assets / edit / compose)
|
|
30
|
+
│
|
|
31
|
+
↓
|
|
32
|
+
Remotion / FFmpeg Composition
|
|
33
|
+
│
|
|
34
|
+
↓
|
|
35
|
+
Final Video Output
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## CMS Capability Registry
|
|
41
|
+
|
|
42
|
+
The CMS capability registry (`cli/src/runtime/cms-capability-registry/`) exposes node primitives:
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
interface CmsCapabilityNode {
|
|
46
|
+
slug: string; // e.g., "video-generation"
|
|
47
|
+
family: CapabilityFamily; // "video" | "image" | "slides" | "text" | "data" | "ops"
|
|
48
|
+
executionKind: string; // "hosted-execute"
|
|
49
|
+
executionBinding: {
|
|
50
|
+
type: "mcp_tool_call";
|
|
51
|
+
strategy: "direct" | "sequential-with-persistence" | "async_operation";
|
|
52
|
+
};
|
|
53
|
+
requiredBindings: string[]; // Provider keys needed
|
|
54
|
+
outputTypes: string[]; // e.g., ["video_url", "image_url"]
|
|
55
|
+
enabled: boolean;
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The agent queries the registry to discover which nodes are available:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Query: { family: "video", enabledOnly: true }
|
|
63
|
+
Query: { family: "image", enabledOnly: true }
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Node Family → OpenMontage Stage Mapping
|
|
69
|
+
|
|
70
|
+
| CMS Family | Output Type | OpenMontage Stage | Integration |
|
|
71
|
+
|---|---|---|---|
|
|
72
|
+
| `video` | Video URL | `assets` | Download → source clip for composition |
|
|
73
|
+
| `image` | Image URL | `assets` | Download → scene image for Remotion animation |
|
|
74
|
+
| `text` | String | `script` | Direct use as script content |
|
|
75
|
+
| `slides` | Slide assets | `assets` | Scene images extracted from slides |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Execution Flow
|
|
80
|
+
|
|
81
|
+
### 1. Discovery
|
|
82
|
+
|
|
83
|
+
Agent queries the CMS capability registry during Step 6 (provider selection):
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Available CMS nodes:
|
|
87
|
+
- video-generation (family: video, hosted-execute)
|
|
88
|
+
- image-generation (family: image, hosted-execute)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 2. Input Binding Preparation
|
|
92
|
+
|
|
93
|
+
For each scene that will use a CMS node, the agent prepares input bindings from the scene plan:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
CMS Node: image-generation
|
|
97
|
+
Inputs: { prompt: "...", aspect_ratio: "16:9", style: "photorealistic" }
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 3. Hosted Execution
|
|
101
|
+
|
|
102
|
+
The agent triggers execution via the hosted execution client. Results include output URLs:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Result: { status: "completed", outputUrl: "https://cdn.growthub.ai/gen/abc123.png" }
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 4. Asset Integration
|
|
109
|
+
|
|
110
|
+
Output URLs are recorded in the asset tracking sheet and fed into the OpenMontage pipeline:
|
|
111
|
+
|
|
112
|
+
- **Video URLs** → downloaded as source clips → timeline assembly via FFmpeg or Remotion
|
|
113
|
+
- **Image URLs** → downloaded as scene images → animated composition via Remotion
|
|
114
|
+
|
|
115
|
+
### 5. Composition
|
|
116
|
+
|
|
117
|
+
OpenMontage handles all post-production:
|
|
118
|
+
- Scene ordering and timeline assembly
|
|
119
|
+
- Transition effects (crossfade, zoom, wipe)
|
|
120
|
+
- Audio mixing (narration + music)
|
|
121
|
+
- Subtitle burn-in (word-level timing)
|
|
122
|
+
- Color grading
|
|
123
|
+
- Final render to target platform spec
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## When to Bridge vs When to Use Direct Providers
|
|
128
|
+
|
|
129
|
+
| Scenario | Recommendation |
|
|
130
|
+
|---|---|
|
|
131
|
+
| User has GrowthHub session, no direct API keys | Bridge via CMS nodes |
|
|
132
|
+
| User prefers unified GrowthHub billing | Bridge via CMS nodes |
|
|
133
|
+
| CMS node matches the required generation type | Bridge via CMS nodes |
|
|
134
|
+
| User has direct API keys and wants lower latency | Use direct providers |
|
|
135
|
+
| Required tool/model is not available as a CMS node | Use direct providers |
|
|
136
|
+
| Local-fork mode with full tool access | Use direct providers (faster) |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Adapter Contract
|
|
141
|
+
|
|
142
|
+
The bridge adapter handles:
|
|
143
|
+
|
|
144
|
+
| Operation | Description |
|
|
145
|
+
|---|---|
|
|
146
|
+
| `DISCOVER_NODES` | Query CMS capability registry for available nodes |
|
|
147
|
+
| `PREPARE_BINDINGS` | Map scene plan inputs to CMS node input schema |
|
|
148
|
+
| `EXECUTE_NODE` | Trigger hosted execution and poll for results |
|
|
149
|
+
| `COLLECT_OUTPUTS` | Gather output URLs from execution results |
|
|
150
|
+
| `ROUTE_TO_PIPELINE` | Feed output URLs into the appropriate OpenMontage pipeline stage |
|
|
151
|
+
|
|
152
|
+
The agent performs all of these operations as part of the standard 10-step workflow. No separate adapter code is needed — the agent IS the adapter.
|
package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# OpenMontage Fork Integration
|
|
2
|
+
|
|
3
|
+
This document describes how the local OpenMontage clone integrates with this worker kit.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Architecture Overview
|
|
8
|
+
|
|
9
|
+
OpenMontage is an agent-first video production system. There is no code orchestrator — the AI agent IS the orchestrator.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Agent reads pipeline manifest (YAML) → stages, tools, review criteria
|
|
13
|
+
↓
|
|
14
|
+
Agent reads stage director skill (Markdown) → HOW to execute each stage
|
|
15
|
+
↓
|
|
16
|
+
Agent calls Python tools → scored provider selection across 7 dimensions
|
|
17
|
+
↓
|
|
18
|
+
Agent self-reviews → schema validation, quality checks
|
|
19
|
+
↓
|
|
20
|
+
Agent checkpoints state (JSON) → resumable, with decision log
|
|
21
|
+
↓
|
|
22
|
+
Pre-compose validation gate → delivery promise, slideshow risk
|
|
23
|
+
↓
|
|
24
|
+
Render (Remotion or FFmpeg)
|
|
25
|
+
↓
|
|
26
|
+
Post-render self-review → ffprobe, frame extraction, audio analysis
|
|
27
|
+
↓
|
|
28
|
+
Final video output
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Directory Layout
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
OpenMontage/
|
|
37
|
+
├── tools/ # 52 Python tools (the agent's hands)
|
|
38
|
+
│ ├── video/ # Video gen: Kling, Runway, Veo, Grok, WAN, Hunyuan, etc.
|
|
39
|
+
│ ├── audio/ # TTS: ElevenLabs, Google, OpenAI, Piper + music
|
|
40
|
+
│ ├── graphics/ # Image gen: FLUX, DALL-E, Imagen, Recraft, local diffusion
|
|
41
|
+
│ ├── enhancement/ # Upscale, bg remove, face enhance, color grade
|
|
42
|
+
│ ├── analysis/ # Transcription, scene detect, frame sampling
|
|
43
|
+
│ ├── avatar/ # Talking head, lip sync
|
|
44
|
+
│ └── subtitle/ # SRT/VTT generation
|
|
45
|
+
│
|
|
46
|
+
├── pipeline_defs/ # 12 YAML pipeline manifests
|
|
47
|
+
├── skills/ # 400+ Markdown skill files
|
|
48
|
+
│ ├── pipelines/ # Per-pipeline stage director skills
|
|
49
|
+
│ ├── creative/ # Creative technique skills
|
|
50
|
+
│ ├── core/ # Core tool skills
|
|
51
|
+
│ └── meta/ # Reviewer, checkpoint protocol
|
|
52
|
+
│
|
|
53
|
+
├── schemas/ # JSON Schemas for contract validation
|
|
54
|
+
├── styles/ # Visual style playbooks (YAML)
|
|
55
|
+
├── remotion-composer/ # React/Remotion video composition engine
|
|
56
|
+
├── lib/ # Core infrastructure
|
|
57
|
+
└── config.yaml # Global configuration
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Tool Discovery
|
|
63
|
+
|
|
64
|
+
The tool registry auto-discovers all tools at startup:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
cd ~/OpenMontage
|
|
68
|
+
python3 -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2))"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
This returns the full capability envelope: which tools are available, which providers are configured, and what the system can produce.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Three-Layer Knowledge Architecture
|
|
76
|
+
|
|
77
|
+
| Layer | Location | Purpose |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| 1 | `tools/` + `pipeline_defs/` | What exists — executable capabilities + orchestration |
|
|
80
|
+
| 2 | `skills/` | How to use it — OpenMontage conventions and quality bars |
|
|
81
|
+
| 3 | `.agents/skills/` | How it works — 47 external technology knowledge packs |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Pipeline Manifests
|
|
86
|
+
|
|
87
|
+
Each pipeline is defined as a YAML manifest in `pipeline_defs/`. The manifest specifies:
|
|
88
|
+
- Stages in order
|
|
89
|
+
- Tools available at each stage
|
|
90
|
+
- Review criteria
|
|
91
|
+
- Success gates
|
|
92
|
+
|
|
93
|
+
The agent reads the manifest, then reads the corresponding stage director skills to know HOW to execute each stage.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Remotion Composition Engine
|
|
98
|
+
|
|
99
|
+
Located at `remotion-composer/`. A React-based programmatic video composition engine that:
|
|
100
|
+
- Renders TextCard, StatCard, charts, image scenes with spring animations
|
|
101
|
+
- Supports crossfade, wipe, zoom transitions
|
|
102
|
+
- Burns in TikTok-style word-level captions
|
|
103
|
+
- Outputs H.264 MP4 at any resolution/aspect ratio
|
|
104
|
+
|
|
105
|
+
Remotion is always available (no API key needed) and is the primary composition path for image-based video.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Setup
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
bash setup/clone-fork.sh
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
This script:
|
|
116
|
+
1. Clones `https://github.com/calesthio/OpenMontage.git` to `~/OpenMontage`
|
|
117
|
+
2. Runs `make setup` (pip install + npm install + Piper TTS)
|
|
118
|
+
3. Verifies the tool registry
|
|
119
|
+
|
|
120
|
+
After setup, add API keys to `~/OpenMontage/.env` for additional provider access.
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# OpenMontage Pipeline Reference
|
|
2
|
+
|
|
3
|
+
Quick reference for all 12 OpenMontage production pipelines.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Pipelines
|
|
8
|
+
|
|
9
|
+
### Animated Explainer
|
|
10
|
+
|
|
11
|
+
| Field | Value |
|
|
12
|
+
|---|---|
|
|
13
|
+
| Best for | Educational content, tutorials, topic breakdowns |
|
|
14
|
+
| Stage flow | research → proposal → script → scene_plan → assets → edit → compose |
|
|
15
|
+
| Key tools | Web search, image gen (FLUX/DALL-E), TTS, Remotion, FFmpeg |
|
|
16
|
+
| Typical cost | $0.15-$3.00 |
|
|
17
|
+
| Duration range | 30-300 seconds |
|
|
18
|
+
|
|
19
|
+
### Animation
|
|
20
|
+
|
|
21
|
+
| Field | Value |
|
|
22
|
+
|---|---|
|
|
23
|
+
| Best for | Social media, product demos, abstract concepts |
|
|
24
|
+
| Stage flow | research → proposal → script → scene_plan → assets → edit → compose |
|
|
25
|
+
| Key tools | Image gen, video gen (optional), Remotion motion graphics |
|
|
26
|
+
| Typical cost | $0.15-$5.00 |
|
|
27
|
+
| Duration range | 15-120 seconds |
|
|
28
|
+
|
|
29
|
+
### Avatar Spokesperson
|
|
30
|
+
|
|
31
|
+
| Field | Value |
|
|
32
|
+
|---|---|
|
|
33
|
+
| Best for | Corporate comms, training, announcements |
|
|
34
|
+
| Stage flow | research → proposal → script → scene_plan → assets → edit → compose |
|
|
35
|
+
| Key tools | HeyGen avatar, TTS, Remotion |
|
|
36
|
+
| Typical cost | $2.00-$10.00 |
|
|
37
|
+
| Duration range | 30-300 seconds |
|
|
38
|
+
|
|
39
|
+
### Cinematic
|
|
40
|
+
|
|
41
|
+
| Field | Value |
|
|
42
|
+
|---|---|
|
|
43
|
+
| Best for | Brand films, teasers, promotional content |
|
|
44
|
+
| Stage flow | research → proposal → script → scene_plan → assets → edit → compose |
|
|
45
|
+
| Key tools | Video gen (Kling/Veo/Runway), image gen, music gen, FFmpeg |
|
|
46
|
+
| Typical cost | $1.00-$10.00 |
|
|
47
|
+
| Duration range | 15-120 seconds |
|
|
48
|
+
|
|
49
|
+
### Clip Factory
|
|
50
|
+
|
|
51
|
+
| Field | Value |
|
|
52
|
+
|---|---|
|
|
53
|
+
| Best for | Repurposing long content for social media |
|
|
54
|
+
| Stage flow | analysis → ranking → extraction → edit → compose |
|
|
55
|
+
| Key tools | Transcriber, scene detect, FFmpeg trim, subtitle gen |
|
|
56
|
+
| Typical cost | $0.00-$1.00 |
|
|
57
|
+
| Duration range | 15-60 seconds per clip |
|
|
58
|
+
|
|
59
|
+
### Documentary Montage
|
|
60
|
+
|
|
61
|
+
| Field | Value |
|
|
62
|
+
|---|---|
|
|
63
|
+
| Best for | Video essays, mood pieces, real-footage B-roll edits |
|
|
64
|
+
| Stage flow | research → corpus_build → clip_selection → edit → compose |
|
|
65
|
+
| Key tools | Pexels/Archive.org/Wikimedia, CLIP search, FFmpeg, music |
|
|
66
|
+
| Typical cost | $0.00-$2.00 |
|
|
67
|
+
| Duration range | 30-300 seconds |
|
|
68
|
+
|
|
69
|
+
### Hybrid
|
|
70
|
+
|
|
71
|
+
| Field | Value |
|
|
72
|
+
|---|---|
|
|
73
|
+
| Best for | Enhancing existing footage with AI-generated support visuals |
|
|
74
|
+
| Stage flow | analysis → proposal → assets → edit → compose |
|
|
75
|
+
| Key tools | Scene detect, image gen, video gen, FFmpeg overlay |
|
|
76
|
+
| Typical cost | $0.50-$5.00 |
|
|
77
|
+
| Duration range | 15-300 seconds |
|
|
78
|
+
|
|
79
|
+
### Localization & Dub
|
|
80
|
+
|
|
81
|
+
| Field | Value |
|
|
82
|
+
|---|---|
|
|
83
|
+
| Best for | Multi-language distribution |
|
|
84
|
+
| Stage flow | analysis → transcription → translation → dub → compose |
|
|
85
|
+
| Key tools | Transcriber, TTS (multi-language), subtitle gen, FFmpeg |
|
|
86
|
+
| Typical cost | $0.50-$5.00 per language |
|
|
87
|
+
| Duration range | Matches source |
|
|
88
|
+
|
|
89
|
+
### Podcast Repurpose
|
|
90
|
+
|
|
91
|
+
| Field | Value |
|
|
92
|
+
|---|---|
|
|
93
|
+
| Best for | Podcast marketing, audiogram videos |
|
|
94
|
+
| Stage flow | analysis → highlight_extraction → visual_design → compose |
|
|
95
|
+
| Key tools | Transcriber, image gen, Remotion audiogram, FFmpeg |
|
|
96
|
+
| Typical cost | $0.00-$2.00 |
|
|
97
|
+
| Duration range | 30-120 seconds per clip |
|
|
98
|
+
|
|
99
|
+
### Screen Demo
|
|
100
|
+
|
|
101
|
+
| Field | Value |
|
|
102
|
+
|---|---|
|
|
103
|
+
| Best for | Product demos, tutorials, documentation |
|
|
104
|
+
| Stage flow | proposal → script → recording → edit → compose |
|
|
105
|
+
| Key tools | Screen capture, TTS narration, Remotion overlays, FFmpeg |
|
|
106
|
+
| Typical cost | $0.00-$1.00 |
|
|
107
|
+
| Duration range | 30-600 seconds |
|
|
108
|
+
|
|
109
|
+
### Talking Head
|
|
110
|
+
|
|
111
|
+
| Field | Value |
|
|
112
|
+
|---|---|
|
|
113
|
+
| Best for | Presentations, vlogs, interviews |
|
|
114
|
+
| Stage flow | proposal → script → recording → edit → compose |
|
|
115
|
+
| Key tools | Source footage, face enhance, TTS (optional), FFmpeg |
|
|
116
|
+
| Typical cost | $0.00-$2.00 |
|
|
117
|
+
| Duration range | 30-600 seconds |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Universal Stage Flow
|
|
122
|
+
|
|
123
|
+
All pipelines follow the same core structure:
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
research → proposal → script → scene_plan → assets → edit → compose
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Some pipelines have specialized stages (e.g., `corpus_build` for Documentary Montage, `analysis` for Clip Factory), but the overall flow is always: understand → plan → generate → assemble → deliver.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Pipeline Selection Decision Matrix
|
|
134
|
+
|
|
135
|
+
| If the user wants... | Select... |
|
|
136
|
+
|---|---|
|
|
137
|
+
| Explain a topic | Animated Explainer |
|
|
138
|
+
| Motion graphics / kinetic typography | Animation |
|
|
139
|
+
| Avatar presenter | Avatar Spokesperson |
|
|
140
|
+
| Cinematic trailer / brand film | Cinematic |
|
|
141
|
+
| Batch clips from long content | Clip Factory |
|
|
142
|
+
| Real footage montage / video essay | Documentary Montage |
|
|
143
|
+
| Enhance existing footage | Hybrid |
|
|
144
|
+
| Translate / dub | Localization & Dub |
|
|
145
|
+
| Podcast to video | Podcast Repurpose |
|
|
146
|
+
| Software walkthrough | Screen Demo |
|
|
147
|
+
| Speaker-led video | Talking Head |
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Provider Adapter Layer
|
|
2
|
+
|
|
3
|
+
OpenMontage uses a scored provider selection system. This document describes how providers integrate and how GrowthHub CMS nodes fit into the provider model.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Provider Selection Model
|
|
8
|
+
|
|
9
|
+
Every tool selection runs through a 7-dimension scoring engine:
|
|
10
|
+
|
|
11
|
+
| Dimension | Weight | Description |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| Task fit | 30% | How well the provider matches the specific task |
|
|
14
|
+
| Output quality | 20% | Resolution, fidelity, consistency |
|
|
15
|
+
| Control features | 15% | Prompt adherence, parameter granularity |
|
|
16
|
+
| Reliability | 15% | Uptime, error rate, queue latency |
|
|
17
|
+
| Cost efficiency | 10% | Price per output unit |
|
|
18
|
+
| Latency | 5% | Request to deliverable time |
|
|
19
|
+
| Continuity | 5% | Session persistence, rate limits |
|
|
20
|
+
|
|
21
|
+
The agent scores available providers for each task and selects the highest-scoring option. Alternatives are logged with their scores in the decision audit trail.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Provider Categories
|
|
26
|
+
|
|
27
|
+
### Cloud API Providers
|
|
28
|
+
|
|
29
|
+
| Provider | Env Key | Capabilities |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| fal.ai | `FAL_KEY` | FLUX images, Kling/Veo/MiniMax video, Recraft images |
|
|
32
|
+
| OpenAI | `OPENAI_API_KEY` | DALL-E 3 images, OpenAI TTS |
|
|
33
|
+
| Google | `GOOGLE_API_KEY` | Google TTS (700+ voices), Imagen images |
|
|
34
|
+
| ElevenLabs | `ELEVENLABS_API_KEY` | Premium TTS, music, SFX |
|
|
35
|
+
| xAI Grok | `XAI_API_KEY` | Image + video generation |
|
|
36
|
+
| Runway | `RUNWAY_API_KEY` | Gen-4 video |
|
|
37
|
+
| Higgsfield | `HIGGSFIELD_API_KEY` | Multi-model video orchestrator |
|
|
38
|
+
| HeyGen | `HEYGEN_API_KEY` | Avatar videos |
|
|
39
|
+
| Suno | `SUNO_API_KEY` | AI music generation |
|
|
40
|
+
|
|
41
|
+
### Free Stock Media
|
|
42
|
+
|
|
43
|
+
| Provider | Env Key | Capabilities |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| Pexels | `PEXELS_API_KEY` | Stock photos + videos |
|
|
46
|
+
| Pixabay | `PIXABAY_API_KEY` | Stock photos + videos |
|
|
47
|
+
| Unsplash | `UNSPLASH_ACCESS_KEY` | Stock images |
|
|
48
|
+
|
|
49
|
+
### Local Providers (Always Available)
|
|
50
|
+
|
|
51
|
+
| Provider | Capabilities |
|
|
52
|
+
|---|---|
|
|
53
|
+
| Piper TTS | Offline text-to-speech, ~30 English voices |
|
|
54
|
+
| Remotion | React-based programmatic video composition |
|
|
55
|
+
| FFmpeg | Video encoding, subtitles, audio mixing, color grading |
|
|
56
|
+
| Archive.org + NASA + Wikimedia | Free archival footage |
|
|
57
|
+
|
|
58
|
+
### Local GPU Providers (Optional)
|
|
59
|
+
|
|
60
|
+
| Provider | Env Key | Requirements |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| WAN 2.1 | `VIDEO_GEN_LOCAL_ENABLED` | NVIDIA GPU, 6-24GB VRAM |
|
|
63
|
+
| Hunyuan | `VIDEO_GEN_LOCAL_ENABLED` | NVIDIA GPU, 12GB VRAM |
|
|
64
|
+
| CogVideo | `VIDEO_GEN_LOCAL_ENABLED` | NVIDIA GPU, 6-10GB VRAM |
|
|
65
|
+
| LTX-Video | `VIDEO_GEN_LOCAL_ENABLED` | NVIDIA GPU, 8GB VRAM |
|
|
66
|
+
| Stable Diffusion | — | NVIDIA GPU, 4GB+ VRAM |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## GrowthHub CMS Nodes as Providers
|
|
71
|
+
|
|
72
|
+
GrowthHub CMS nodes act as an additional provider source in the scoring model. They are treated identically to cloud providers with the following characteristics:
|
|
73
|
+
|
|
74
|
+
| Dimension | CMS Node Score Basis |
|
|
75
|
+
|---|---|
|
|
76
|
+
| Task fit | Matches if the CMS node family matches the task (video/image) |
|
|
77
|
+
| Output quality | Depends on the underlying provider routed by the CMS node |
|
|
78
|
+
| Control features | Limited to CMS node input bindings |
|
|
79
|
+
| Reliability | GrowthHub hosted infrastructure SLA |
|
|
80
|
+
| Cost efficiency | GrowthHub billing (may be included in plan) |
|
|
81
|
+
| Latency | Hosted execution overhead + provider latency |
|
|
82
|
+
| Continuity | Depends on GrowthHub session |
|
|
83
|
+
|
|
84
|
+
When CMS nodes are available and the user prefers unified GrowthHub billing, the scoring engine should weight cost efficiency higher for CMS nodes.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Fallback Strategy
|
|
89
|
+
|
|
90
|
+
When the primary provider path fails:
|
|
91
|
+
|
|
92
|
+
1. Fall back to the next highest-scored provider for the same task
|
|
93
|
+
2. If no alternative provider exists, fall back to a different tool category (e.g., image-to-video instead of text-to-video)
|
|
94
|
+
3. If all providers fail, fall back to free/local tools (Piper TTS, Remotion composition, stock media)
|
|
95
|
+
4. Mark the handoff with the exact fallback trigger and trade-offs
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Adding a New Provider
|
|
100
|
+
|
|
101
|
+
New providers integrate by:
|
|
102
|
+
1. Adding a tool in the appropriate `tools/` subdirectory
|
|
103
|
+
2. Implementing the tool contract (BaseTool inheritance)
|
|
104
|
+
3. The registry auto-discovers it
|
|
105
|
+
4. The scoring engine includes it in selection automatically
|