@growthub/cli 0.8.1 → 0.9.0

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.
Files changed (67) hide show
  1. package/assets/worker-kits/growthub-creative-video-pipeline-v1/.env.example +28 -0
  2. package/assets/worker-kits/growthub-creative-video-pipeline-v1/QUICKSTART.md +118 -0
  3. package/assets/worker-kits/growthub-creative-video-pipeline-v1/SKILL.md +124 -0
  4. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/.env.example +20 -0
  5. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/README.md +33 -0
  6. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/api/pipeline/route.js +27 -0
  7. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/globals.css +203 -0
  8. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/layout.jsx +14 -0
  9. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/page.jsx +131 -0
  10. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/settings/keys/page.jsx +154 -0
  11. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/lib/adapters/env.js +14 -0
  12. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/lib/adapters/generative/index.js +31 -0
  13. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/lib/domain/pipeline.js +30 -0
  14. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/next.config.js +10 -0
  15. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/package-lock.json +17 -0
  16. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/package.json +17 -0
  17. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/postcss.config.mjs +3 -0
  18. package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/vercel.json +5 -0
  19. package/assets/worker-kits/growthub-creative-video-pipeline-v1/brands/NEW-CLIENT.md +21 -0
  20. package/assets/worker-kits/growthub-creative-video-pipeline-v1/brands/_template/brand-kit.md +123 -0
  21. package/assets/worker-kits/growthub-creative-video-pipeline-v1/brands/growthub/brand-kit.md +123 -0
  22. package/assets/worker-kits/growthub-creative-video-pipeline-v1/bundles/growthub-creative-video-pipeline-v1.json +87 -0
  23. package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/adapter-contracts.md +73 -0
  24. package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/governed-workspace-primitives.md +50 -0
  25. package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/pipeline-architecture.md +61 -0
  26. package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/starter-kit-overview.md +33 -0
  27. package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/vercel-deployment.md +42 -0
  28. package/assets/worker-kits/growthub-creative-video-pipeline-v1/examples/pipeline-brief-sample.md +56 -0
  29. package/assets/worker-kits/growthub-creative-video-pipeline-v1/growthub-meta/README.md +9 -0
  30. package/assets/worker-kits/growthub-creative-video-pipeline-v1/growthub-meta/kit-standard.md +24 -0
  31. package/assets/worker-kits/growthub-creative-video-pipeline-v1/helpers/README.md +9 -0
  32. package/assets/worker-kits/growthub-creative-video-pipeline-v1/helpers/check-generative-adapter.sh +41 -0
  33. package/assets/worker-kits/growthub-creative-video-pipeline-v1/helpers/check-pipeline-health.sh +154 -0
  34. package/assets/worker-kits/growthub-creative-video-pipeline-v1/helpers/run-pipeline.sh +30 -0
  35. package/assets/worker-kits/growthub-creative-video-pipeline-v1/kit.json +154 -0
  36. package/assets/worker-kits/growthub-creative-video-pipeline-v1/output/README.md +23 -0
  37. package/assets/worker-kits/growthub-creative-video-pipeline-v1/output-standards.md +63 -0
  38. package/assets/worker-kits/growthub-creative-video-pipeline-v1/pipeline.manifest.json +83 -0
  39. package/assets/worker-kits/growthub-creative-video-pipeline-v1/runtime-assumptions.md +61 -0
  40. package/assets/worker-kits/growthub-creative-video-pipeline-v1/setup/check-deps.sh +63 -0
  41. package/assets/worker-kits/growthub-creative-video-pipeline-v1/setup/clone-fork.sh +18 -0
  42. package/assets/worker-kits/growthub-creative-video-pipeline-v1/setup/install-skill.sh +10 -0
  43. package/assets/worker-kits/growthub-creative-video-pipeline-v1/setup/verify-env.mjs +50 -0
  44. package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills/README.md +11 -0
  45. package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills/brief-generation/SKILL.md +42 -0
  46. package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills/generative-execution/SKILL.md +86 -0
  47. package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills/video-edit/SKILL.md +41 -0
  48. package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills.md +302 -0
  49. package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/index.html +12 -0
  50. package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/package-lock.json +20 -0
  51. package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/package.json +20 -0
  52. package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/serve.mjs +41 -0
  53. package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/src/App.jsx +210 -0
  54. package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/src/app.css +194 -0
  55. package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/src/main.jsx +10 -0
  56. package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/vite.config.js +8 -0
  57. package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/edit-plan.md +66 -0
  58. package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/generative-plan.md +83 -0
  59. package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/pipeline-brief.md +129 -0
  60. package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/project.md +68 -0
  61. package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/self-eval.md +67 -0
  62. package/assets/worker-kits/growthub-creative-video-pipeline-v1/validation/e2e-reference.md +166 -0
  63. package/assets/worker-kits/growthub-creative-video-pipeline-v1/validation-checklist.md +56 -0
  64. package/assets/worker-kits/growthub-creative-video-pipeline-v1/workers/creative-video-pipeline-operator/CLAUDE.md +109 -0
  65. package/assets/worker-kits/growthub-creative-video-pipeline-v1/workspace.dependencies.json +26 -0
  66. package/dist/index.js +3032 -1676
  67. package/package.json +2 -2
@@ -0,0 +1,123 @@
1
+ # Brand Kit — Growthub
2
+
3
+ ---
4
+
5
+ ## IDENTITY
6
+
7
+ ```yaml
8
+ client_name: "Growthub"
9
+ slug: "growthub"
10
+ industry: "AI / Marketing Technology / Creator Tools"
11
+ primary_service: "AI-powered creative video pipeline for marketing teams"
12
+ campaign_name: "Creative Video Pipeline Launch"
13
+ date_onboarded: "2026-04-24"
14
+ account_owner: "Growthub Team"
15
+ ```
16
+
17
+ ---
18
+
19
+ ## AUDIENCE
20
+
21
+ ```yaml
22
+ target_age_range: "25–45"
23
+ target_gender: "All"
24
+ target_pain_point: "Time-consuming manual video production and disconnected creative workflows"
25
+ target_intent: "Scaling video content production with AI without sacrificing brand quality"
26
+ geographic_target: "Global — English-speaking markets"
27
+ do_not_attract: "Users looking for fully automated no-input tools. This requires brand-aware operation."
28
+ ```
29
+
30
+ ---
31
+
32
+ ## MESSAGING
33
+
34
+ ```yaml
35
+ core_message: "Brief to final video in one governed pipeline — brand-grounded, AI-accelerated."
36
+ emotional_arc: "Overwhelm → Clarity → Confidence → Action"
37
+ tone: ["direct", "capable", "modern", "grounded", "builder-focused"]
38
+ approved_phrases:
39
+ - "governed pipeline"
40
+ - "brief to video"
41
+ - "brand-grounded generation"
42
+ - "one workflow"
43
+ - "production-ready"
44
+ messaging_guardrails:
45
+ - "Do not claim fully automated — operator drives the brief"
46
+ - "Do not promise specific platform reach numbers"
47
+ - "Do not use 'magic' or 'effortless' language"
48
+ cta_text: "Start your pipeline"
49
+ cta_offer: "Export the kit — free and open source"
50
+ ```
51
+
52
+ ---
53
+
54
+ ## BRAND DESIGN
55
+
56
+ ```yaml
57
+ colors:
58
+ primary: "38bdf8"
59
+ secondary: "0ea5e9"
60
+ light_accent: "e0f2fe"
61
+ dark: "080b12"
62
+ white: "f7fafc"
63
+ mid_gray: "93a3b8"
64
+
65
+ fonts:
66
+ primary: "Inter"
67
+ heading_size: 56
68
+ body_size: 20
69
+
70
+ logo_file: "assets/growthub-logo.png"
71
+ logo_on_dark: "assets/growthub-logo-white.png"
72
+ ```
73
+
74
+ ---
75
+
76
+ ## TALENT & PRODUCTION
77
+
78
+ ```yaml
79
+ doctor_or_founder_name: "N/A"
80
+ founder_on_camera: "No"
81
+ ai_avatar_type: "None"
82
+ ai_actor_age_range: "N/A"
83
+ ai_actor_notes: "N/A"
84
+ ugc_inspiration: "N/A"
85
+ vo_style: "Clear, direct, no announcer energy — product demo tone"
86
+ broll_cadence: "Cut every ~3s — product UI + pipeline flow screens"
87
+ ```
88
+
89
+ ---
90
+
91
+ ## ASSET LINKS
92
+
93
+ ```yaml
94
+ brand_assets_air: ""
95
+ broll_library: ""
96
+ ugc_inspiration: ""
97
+ google_drive: ""
98
+ instagram: ""
99
+ tiktok: ""
100
+ website: "https://growthub.ai"
101
+ landing_page: ""
102
+ phone_number: ""
103
+ previous_ads: []
104
+ ```
105
+
106
+ ---
107
+
108
+ ## PLATFORM & FORMAT
109
+
110
+ ```yaml
111
+ primary_platforms: ["YouTube", "LinkedIn", "X (Twitter)"]
112
+ aspect_ratios: ["16:9", "9:16", "1:1"]
113
+ caption_default: "ON"
114
+ compliance_notes: "No guaranteed outcome claims. No before/after metrics without disclosure."
115
+ ```
116
+
117
+ ---
118
+
119
+ ## DELIVERABLES LOG
120
+
121
+ ```
122
+ - 2026-04-24 | Brand Kit v1 | brands/growthub/brand-kit.md
123
+ ```
@@ -0,0 +1,87 @@
1
+ {
2
+ "schemaVersion": 2,
3
+ "bundle": {
4
+ "id": "growthub-creative-video-pipeline-v1",
5
+ "version": "1.0.0",
6
+ "kitId": "growthub-creative-video-pipeline-v1",
7
+ "workerId": "creative-video-pipeline-operator"
8
+ },
9
+ "briefType": "creative-video-pipeline",
10
+ "capabilityType": "worker",
11
+ "executionMode": "export",
12
+ "activationModes": [
13
+ "export"
14
+ ],
15
+ "export": {
16
+ "folderName": "growthub-agent-worker-kit-creative-video-pipeline-v1",
17
+ "zipFileName": "growthub-agent-worker-kit-creative-video-pipeline-v1.zip"
18
+ },
19
+ "publicExampleBrandPaths": [
20
+ "brands/growthub/brand-kit.md"
21
+ ],
22
+ "requiredFrozenAssets": [
23
+ "QUICKSTART.md",
24
+ ".env.example",
25
+ "SKILL.md",
26
+ "skills.md",
27
+ "output-standards.md",
28
+ "runtime-assumptions.md",
29
+ "validation-checklist.md",
30
+ "pipeline.manifest.json",
31
+ "workspace.dependencies.json",
32
+ "workers/creative-video-pipeline-operator/CLAUDE.md",
33
+ "brands/_template/brand-kit.md",
34
+ "brands/growthub/brand-kit.md",
35
+ "brands/NEW-CLIENT.md",
36
+ "setup/check-deps.sh",
37
+ "setup/verify-env.mjs",
38
+ "setup/clone-fork.sh",
39
+ "setup/install-skill.sh",
40
+ "output/README.md",
41
+ "templates/pipeline-brief.md",
42
+ "templates/generative-plan.md",
43
+ "templates/edit-plan.md",
44
+ "templates/project.md",
45
+ "templates/self-eval.md",
46
+ "examples/pipeline-brief-sample.md",
47
+ "docs/starter-kit-overview.md",
48
+ "docs/pipeline-architecture.md",
49
+ "docs/adapter-contracts.md",
50
+ "docs/vercel-deployment.md",
51
+ "docs/governed-workspace-primitives.md",
52
+ "growthub-meta/README.md",
53
+ "growthub-meta/kit-standard.md",
54
+ "helpers/README.md",
55
+ "helpers/run-pipeline.sh",
56
+ "helpers/check-generative-adapter.sh",
57
+ "helpers/check-pipeline-health.sh",
58
+ "validation/e2e-reference.md",
59
+ "skills/README.md",
60
+ "skills/brief-generation/SKILL.md",
61
+ "skills/generative-execution/SKILL.md",
62
+ "skills/video-edit/SKILL.md",
63
+ "studio/index.html",
64
+ "studio/package.json",
65
+ "studio/package-lock.json",
66
+ "studio/vite.config.js",
67
+ "studio/serve.mjs",
68
+ "studio/src/main.jsx",
69
+ "studio/src/App.jsx",
70
+ "studio/src/app.css",
71
+ "apps/creative-video-pipeline/README.md",
72
+ "apps/creative-video-pipeline/.env.example",
73
+ "apps/creative-video-pipeline/package.json",
74
+ "apps/creative-video-pipeline/package-lock.json",
75
+ "apps/creative-video-pipeline/next.config.js",
76
+ "apps/creative-video-pipeline/postcss.config.mjs",
77
+ "apps/creative-video-pipeline/vercel.json",
78
+ "apps/creative-video-pipeline/app/layout.jsx",
79
+ "apps/creative-video-pipeline/app/page.jsx",
80
+ "apps/creative-video-pipeline/app/globals.css",
81
+ "apps/creative-video-pipeline/app/settings/keys/page.jsx",
82
+ "apps/creative-video-pipeline/app/api/pipeline/route.js",
83
+ "apps/creative-video-pipeline/lib/adapters/env.js",
84
+ "apps/creative-video-pipeline/lib/adapters/generative/index.js",
85
+ "apps/creative-video-pipeline/lib/domain/pipeline.js"
86
+ ]
87
+ }
@@ -0,0 +1,73 @@
1
+ # Adapter Contracts
2
+
3
+ ## Execution — growthub-pipeline (primary)
4
+
5
+ The official CLI + SDK is the execution layer. No custom wrapper.
6
+
7
+ ```bash
8
+ growthub pipeline execute '<DynamicRegistryPipeline JSON>'
9
+ ```
10
+
11
+ **SDK types:** `@growthub/api-contract`
12
+ - Input: `DynamicRegistryPipeline` — pipelineId, executionMode, nodes[].{nodeId, slug, bindings}
13
+ - Events: `ExecutionEvent` — validated with `isExecutionEvent()`
14
+ - Event types: `node_start`, `node_complete`, `node_error`, `progress`, `credit_warning`, `complete`, `error`
15
+
16
+ **Required env:**
17
+ - `GROWTHUB_BRIDGE_ACCESS_TOKEN`
18
+ - `GROWTHUB_BRIDGE_BASE_URL`
19
+ - Valid session from `growthub auth login` (`~/.claude/config/session.json`)
20
+
21
+ **Auth pre-flight:**
22
+ ```bash
23
+ growthub auth whoami --json
24
+ ```
25
+
26
+ **Payload (DynamicRegistryPipeline):**
27
+ ```json
28
+ {
29
+ "pipelineId": "<uuid>",
30
+ "executionMode": "hosted",
31
+ "nodes": [
32
+ {
33
+ "nodeId": "video-gen-1",
34
+ "slug": "video-generation",
35
+ "bindings": {
36
+ "videoModel": "veo-3.1-generate-001",
37
+ "prompt": "<scene prompt>",
38
+ "seconds": 8,
39
+ "aspectRatio": "9:16",
40
+ "creativeCount": 1,
41
+ "refs": [{ "name": "brand_reference", "dataUrl": "data:image/jpeg;base64,<b64>" }]
42
+ }
43
+ }
44
+ ]
45
+ }
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Execution — byo-api-key (secondary)
51
+
52
+ **Required env:**
53
+ - `VIDEO_MODEL_PROVIDER` — `veo` | `fal` | `runway`
54
+ - Provider key: `GOOGLE_AI_API_KEY` / `FAL_API_KEY` / `RUNWAY_API_KEY`
55
+
56
+ Call the provider SDK directly. No CLI wrapper.
57
+
58
+ ---
59
+
60
+ ## Manifest (output contract)
61
+
62
+ `output/<client>/<project>/generative/manifest.json`:
63
+ ```json
64
+ {
65
+ "kitId": "growthub-creative-video-pipeline-v1",
66
+ "adapter": "growthub-pipeline",
67
+ "executionId": "<from complete event>",
68
+ "createdAt": "<iso>",
69
+ "artifacts": [{ "url": "<artifact url>", "type": "video", "nodeId": "..." }]
70
+ }
71
+ ```
72
+
73
+ This is the Stage 2 → Stage 3 handoff artifact. Stage 3 reads this to locate source clips.
@@ -0,0 +1,50 @@
1
+ # Governed Workspace Primitives v1.2
2
+
3
+ This kit implements the six-primitive governed-workspace contract.
4
+
5
+ ## Primitive 1 — SKILL.md
6
+
7
+ Top-level `SKILL.md` at the kit root. Frontmatter declares triggers, selfEval criteria (5 items), maxRetries:3, helpers[], and subSkills[].
8
+
9
+ ## Primitive 2 — AGENTS.md Pointer
10
+
11
+ `workers/creative-video-pipeline-operator/CLAUDE.md` serves as the operator contract. References the repo-level `AGENTS.md` as authoritative agent contract.
12
+
13
+ ## Primitive 3 — project.md
14
+
15
+ `.growthub-fork/project.md` seeded from `templates/project.md` at fork register time via `scaffoldSessionMemory`. Contains `pipelineState` frontmatter tracking stage status.
16
+
17
+ Every stage boundary appends a log entry:
18
+ ```
19
+ ## Stage N Complete — <stage-name>
20
+ Date: <iso>
21
+ Output: <artifact path>
22
+ ```
23
+
24
+ ## Primitive 4 — selfEval
25
+
26
+ `templates/self-eval.md` provides the self-eval template. `recordSelfEval` in `cli/src/skills/self-eval.ts` is the canonical primitive. maxRetries:3 applies to all three stages.
27
+
28
+ ## Primitive 5 — Sub-skills
29
+
30
+ `skills/` directory contains three sub-skill SKILL.md files:
31
+ - `skills/brief-generation/SKILL.md`
32
+ - `skills/generative-execution/SKILL.md`
33
+ - `skills/video-edit/SKILL.md`
34
+
35
+ ## Primitive 6 — Helpers
36
+
37
+ `helpers/` directory contains safe shell wrappers:
38
+ - `helpers/run-pipeline.sh` — wraps `growthub pipeline execute`
39
+ - `helpers/check-generative-adapter.sh` — validates adapter env
40
+
41
+ ## trace.jsonl
42
+
43
+ Machine-readable governance log. Each stage boundary writes:
44
+ ```json
45
+ {"type":"stage-complete","stage":"brief","ts":"<iso>"}
46
+ {"type":"stage-complete","stage":"generative","ts":"<iso>"}
47
+ {"type":"stage-complete","stage":"edit","ts":"<iso>"}
48
+ ```
49
+
50
+ Additional event types: `auth-preflight`, `adapter-selected`, `artifact-written`, `self-eval-pass`, `self-eval-retry`.
@@ -0,0 +1,61 @@
1
+ # Pipeline Architecture
2
+
3
+ ## Stage 1 — Brief
4
+
5
+ **Input:** `brands/<client>/brand-kit.md`
6
+ **Process:** Brand-constrained scene structure and hook generation
7
+ **Output:** `output/<client>/<project>/brief/pipeline-brief.md`
8
+
9
+ The brief stage is purely Claude-driven. No external API calls. The brand-kit.md is the sole source of truth for brand voice, audience, scene count, and hook patterns. Optional: reference `CREATIVE_STRATEGIST_HOME/hooks/500-winning-hooks.csv` for hook inspiration — never as brand override.
10
+
11
+ ## Stage 2 — Generate
12
+
13
+ **Input:** `pipeline-brief.md` scene prompts + reference images
14
+ **Output:** `GenerativeArtifact[]` + `output/<client>/<project>/generative/manifest.json`
15
+
16
+ Two adapter paths with identical output contracts:
17
+
18
+ ### growthub-pipeline (primary)
19
+ ```
20
+ DynamicRegistryPipeline JSON → growthub pipeline execute → NDJSON stream
21
+ → official CLI/SDK ExecutionEvent handling → GenerativeArtifact[]
22
+ ```
23
+ Node: `video-generation` / Model: `veo-3.1-generate-001`
24
+
25
+ ### byo-api-key (secondary)
26
+ ```
27
+ VIDEO_MODEL_PROVIDER (veo|fal|runway) → provider SDK → GenerativeArtifact[]
28
+ ```
29
+
30
+ ## Stage 3 — Edit
31
+
32
+ **Input:** `manifest.json` source clips + `pipeline-brief.md` editing guidelines
33
+ **Process:** Delegate entirely to `VIDEO_USE_HOME` video-use fork
34
+ **Output:** `output/<client>/<project>/final/final.mp4`
35
+
36
+ ```
37
+ edit-plan.md (handoff) → video-use fork → ElevenLabs Scribe → word-boundary EDL → FFmpeg → final.mp4
38
+ ```
39
+
40
+ The kit does NOT inline any video-use logic. The `edit-plan.md` is the only interface.
41
+
42
+ ## Data Flow
43
+
44
+ ```
45
+ brand-kit.md
46
+
47
+ ▼ Stage 1
48
+ pipeline-brief.md
49
+
50
+ ▼ Stage 2 (adapter-routed)
51
+ GenerativeArtifact[] + manifest.json
52
+
53
+ ▼ Stage 3 (video-use delegation)
54
+ final.mp4
55
+ ```
56
+
57
+ ## Governance
58
+
59
+ Every stage boundary appends:
60
+ - `.growthub-fork/project.md` — human-readable progress log
61
+ - `trace.jsonl` — machine-readable stage events
@@ -0,0 +1,33 @@
1
+ # Starter Kit Overview
2
+
3
+ `growthub-creative-video-pipeline-v1` is a fully self-contained worker kit that composes three governed primitives into a single three-stage creative video pipeline.
4
+
5
+ ## What's Included
6
+
7
+ | Surface | Description |
8
+ |---------|-------------|
9
+ | `studio/` | Vite 5 + React 18 local-first UI shell |
10
+ | `apps/creative-video-pipeline/` | Next.js 16 + React 19 Vercel-deployable app |
11
+ | `workers/creative-video-pipeline-operator/` | Governed worker contract |
12
+ | `skills/` | Three sub-skill primitives (brief, generative, edit) |
13
+ | `helpers/` | Safe shell wrappers |
14
+ | `templates/` | Governed output templates |
15
+ | `brands/` | Brand kit template + Growthub reference brand |
16
+ | `setup/` | Dependency check, env verify, fork clone, skill install |
17
+ | `docs/` | Architecture, adapter contracts, deployment |
18
+
19
+ ## Three-Stage Pipeline
20
+
21
+ ```
22
+ Stage 1 — Brief brands/<client>/brand-kit.md → pipeline-brief.md
23
+ Stage 2 — Generate growthub-pipeline | byo-api-key → GenerativeArtifact[] + manifest.json
24
+ Stage 3 — Edit VIDEO_USE_HOME fork → Scribe → EDL → FFmpeg → final.mp4
25
+ ```
26
+
27
+ ## Governed Workspace
28
+
29
+ Every stage boundary writes:
30
+ - Updated `.growthub-fork/project.md`
31
+ - A `{"type":"stage-complete","stage":"<name>","ts":"<iso>"}` event to `trace.jsonl`
32
+
33
+ See `docs/governed-workspace-primitives.md` for the full primitive contract.
@@ -0,0 +1,42 @@
1
+ # Vercel Deployment
2
+
3
+ ## Deploy the Next.js App
4
+
5
+ ```bash
6
+ cd apps/creative-video-pipeline
7
+ vercel --prod
8
+ ```
9
+
10
+ Or connect the `apps/creative-video-pipeline` directory in the Vercel dashboard.
11
+
12
+ ## Environment Variables
13
+
14
+ Set these in Vercel → Project → Settings → Environment Variables:
15
+
16
+ | Variable | Required | Notes |
17
+ |----------|----------|-------|
18
+ | `CREATIVE_VIDEO_PIPELINE_GENERATIVE_ADAPTER` | yes | `growthub-pipeline` or `byo-api-key` |
19
+ | `GROWTHUB_BRIDGE_ACCESS_TOKEN` | adapter | growthub-pipeline only |
20
+ | `GROWTHUB_BRIDGE_BASE_URL` | adapter | growthub-pipeline only |
21
+ | `ELEVENLABS_API_KEY` | yes | Stage 3 transcription |
22
+ | `VIDEO_MODEL_PROVIDER` | adapter | byo-api-key only |
23
+ | `GOOGLE_AI_API_KEY` | conditional | veo provider |
24
+ | `FAL_API_KEY` | conditional | fal provider |
25
+ | `RUNWAY_API_KEY` | conditional | runway provider |
26
+ | `VIDEO_USE_HOME` | yes | Path to video-use fork (server-side Stage 3) |
27
+
28
+ ## vercel.json
29
+
30
+ ```json
31
+ {
32
+ "framework": "nextjs",
33
+ "buildCommand": "npm run build",
34
+ "installCommand": "npm install"
35
+ }
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - All pages using `readAdapterConfig()` or `describeGenerativeAdapter()` run server-side — env vars are never exposed to the client.
41
+ - `app/api/pipeline/route.js` uses `export const dynamic = "force-dynamic"` to read live env state at request time.
42
+ - The studio Vite shell (`studio/`) is local-only and is not deployed to Vercel.
@@ -0,0 +1,56 @@
1
+ ---
2
+ client: growthub
3
+ project: launch-2025
4
+ stage: brief
5
+ brand_kit: brands/growthub/brand-kit.md
6
+ created_at: 2025-01-15T10:00:00Z
7
+ ---
8
+
9
+ # Pipeline Brief — Growthub Launch 2025
10
+
11
+ ## Brand Constraints
12
+ | Constraint | Value |
13
+ |------------|-------|
14
+ | Primary Colour | #38bdf8 (sky blue) |
15
+ | Tone | Direct, capable, builder-focused |
16
+ | Target Audience | Indie founders, solo operators, small creative teams |
17
+ | Platform | Instagram Reels / TikTok |
18
+ | Format | 9:16 vertical, 30s |
19
+ | Scene Count | 3 |
20
+
21
+ ## Brief Overview
22
+ | Field | Value |
23
+ |-------|-------|
24
+ | Campaign Goal | Launch awareness for Growthub governed worker kits |
25
+ | Core Message | From brief to final video in three governed stages |
26
+ | CTA | Try the pipeline today |
27
+
28
+ ## Scene Structure
29
+ | Scene | Duration | Hook Type | B-Roll Notes |
30
+ |-------|----------|-----------|--------------|
31
+ | 1 | 8s | Problem-agitation | Developer staring at blank terminal |
32
+ | 2 | 14s | Solution demo | Pipeline running, artifacts materialising |
33
+ | 3 | 8s | Social proof + CTA | Finished video output, Growthub branding |
34
+
35
+ ## Scene 1 — Hook Variations
36
+ **A.** "You've been stuck on the brief for 3 hours. The pipeline has it in 30 seconds."
37
+ **B.** "Stop designing workflows. Start shipping governed ones."
38
+ **C.** "Brief to final video. Three stages. Zero guesswork."
39
+ **D.** "Every creative decision is logged. Every output is governed."
40
+ **E.** "The video pipeline that actually ships."
41
+
42
+ ## Scene 2 — Solution Demo
43
+ Generative prompt: A clean dark terminal UI showing a three-stage pipeline strip — Brief, Generate, Edit — each card lighting up in sequence. Sky-blue accent colours. Text overlay: "governed workspace". Cinematic, confident pacing.
44
+
45
+ ## Scene 3 — CTA
46
+ Generative prompt: Split screen — pipeline dashboard on the left, finished .mp4 playing on the right. Growthub wordmark animates in bottom-left. Text: "Try it today." Sky-blue text on dark background.
47
+
48
+ ## Editing Guidelines
49
+ - Cut on beat (lo-fi electronic track, 100 BPM)
50
+ - Scene 1→2 hard cut at 8s
51
+ - Scene 2→3 fade at 22s
52
+ - Captions: word-boundary subtitles via ElevenLabs Scribe
53
+ - Final frame hold: 2s on CTA
54
+
55
+ ---
56
+ *Generated by creative-video-pipeline-operator Stage 1 — Brief*
@@ -0,0 +1,9 @@
1
+ # growthub-meta/
2
+
3
+ Kit metadata consumed by the Growthub registry and CLI export tooling.
4
+
5
+ | File | Purpose |
6
+ |------|---------|
7
+ | `kit-standard.md` | Kit standard version, outputStandard contract, and upgrade notes |
8
+
9
+ These files are read by `growthub worker-kit export` and `growthub worker-kit validate`.
@@ -0,0 +1,24 @@
1
+ # Kit Standard
2
+
3
+ ## Version
4
+ - Kit: `growthub-creative-video-pipeline-v1`
5
+ - Schema: `2`
6
+ - Standard: `v1.2`
7
+ - CLI minimum: `0.4.3`
8
+
9
+ ## outputStandard
10
+
11
+ Required paths for a complete pipeline run:
12
+ ```
13
+ output/<client>/<project>/brief/pipeline-brief.md
14
+ output/<client>/<project>/generative/manifest.json
15
+ output/<client>/<project>/final/final.mp4
16
+ output/<client>/<project>/.growthub-fork/project.md
17
+ output/<client>/<project>/.growthub-fork/trace.jsonl
18
+ ```
19
+
20
+ ## Upgrade Notes
21
+
22
+ - v1 → v2 schema: `frozenAssetPaths` array added. All asset paths enumerated in `kit.json`.
23
+ - outputStandard v1.2: `trace.jsonl` required at every stage boundary (previously optional).
24
+ - Adapter contract v1.0: `GenerativeArtifact[]` normalisation required for both adapters.
@@ -0,0 +1,9 @@
1
+ # helpers/
2
+
3
+ Safe shell helpers for the creative-video-pipeline operator. These wrap external commands with error handling and env validation. Never call raw CLI commands without going through these helpers.
4
+
5
+ | Helper | Purpose |
6
+ |--------|---------|
7
+ | `run-pipeline.sh` | Wraps `growthub pipeline execute` for Stage 2 |
8
+ | `check-generative-adapter.sh` | Validates env for the selected generative adapter |
9
+ | `check-pipeline-health.sh` | End-to-end readiness check across all three stages (composes the two above + Stage-3 deps + sub-skill / helper presence). Supports `--json`. |
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ ADAPTER="${CREATIVE_VIDEO_PIPELINE_GENERATIVE_ADAPTER:-growthub-pipeline}"
5
+ ERRORS=0
6
+
7
+ echo "[check-adapter] Adapter: $ADAPTER"
8
+
9
+ case "$ADAPTER" in
10
+ growthub-pipeline)
11
+ for var in GROWTHUB_BRIDGE_ACCESS_TOKEN GROWTHUB_BRIDGE_BASE_URL; do
12
+ if [ -z "${!var:-}" ]; then
13
+ echo "[check-adapter] Missing: $var" >&2
14
+ ((ERRORS++))
15
+ fi
16
+ done
17
+ ;;
18
+ byo-api-key)
19
+ if [ -z "${VIDEO_MODEL_PROVIDER:-}" ]; then
20
+ echo "[check-adapter] Missing: VIDEO_MODEL_PROVIDER" >&2
21
+ ((ERRORS++))
22
+ else
23
+ case "$VIDEO_MODEL_PROVIDER" in
24
+ veo) [ -z "${GOOGLE_AI_API_KEY:-}" ] && echo "[check-adapter] Missing: GOOGLE_AI_API_KEY" >&2 && ((ERRORS++)) || true ;;
25
+ fal) [ -z "${FAL_API_KEY:-}" ] && echo "[check-adapter] Missing: FAL_API_KEY" >&2 && ((ERRORS++)) || true ;;
26
+ runway)[ -z "${RUNWAY_API_KEY:-}" ] && echo "[check-adapter] Missing: RUNWAY_API_KEY" >&2 && ((ERRORS++)) || true ;;
27
+ *) echo "[check-adapter] Unknown VIDEO_MODEL_PROVIDER: $VIDEO_MODEL_PROVIDER" >&2 && ((ERRORS++)) ;;
28
+ esac
29
+ fi
30
+ ;;
31
+ *)
32
+ echo "[check-adapter] Unknown adapter: $ADAPTER (expected growthub-pipeline or byo-api-key)" >&2
33
+ ((ERRORS++))
34
+ ;;
35
+ esac
36
+
37
+ if [ "$ERRORS" -gt 0 ]; then
38
+ echo "[check-adapter] FAIL — $ERRORS error(s)" >&2
39
+ exit 1
40
+ fi
41
+ echo "[check-adapter] OK"