@growthub/cli 0.3.54 → 0.3.56

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 (109) hide show
  1. package/README.md +56 -156
  2. package/assets/worker-kits/growthub-ai-website-cloner-v1/.env.example +7 -0
  3. package/assets/worker-kits/growthub-ai-website-cloner-v1/QUICKSTART.md +116 -0
  4. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/NEW-CLIENT.md +22 -0
  5. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/_template/brand-kit.md +27 -0
  6. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/growthub/brand-kit.md +26 -0
  7. package/assets/worker-kits/growthub-ai-website-cloner-v1/bundles/growthub-ai-website-cloner-v1.json +53 -0
  8. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/ai-website-cloner-fork-integration.md +118 -0
  9. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/design-token-system.md +135 -0
  10. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/multi-phase-pipeline.md +129 -0
  11. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/parallel-builder-dispatch.md +103 -0
  12. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/clone-brief-sample.md +54 -0
  13. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/component-spec-sample.md +123 -0
  14. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/platform-handoff-sample.md +102 -0
  15. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/visual-qa-sample.md +119 -0
  16. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/README.md +71 -0
  17. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/kit-standard.md +47 -0
  18. package/assets/worker-kits/growthub-ai-website-cloner-v1/kit.json +105 -0
  19. package/assets/worker-kits/growthub-ai-website-cloner-v1/output/README.md +26 -0
  20. package/assets/worker-kits/growthub-ai-website-cloner-v1/output-standards.md +75 -0
  21. package/assets/worker-kits/growthub-ai-website-cloner-v1/runtime-assumptions.md +70 -0
  22. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/check-deps.sh +50 -0
  23. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/clone-fork.sh +66 -0
  24. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/verify-env.mjs +78 -0
  25. package/assets/worker-kits/growthub-ai-website-cloner-v1/skills.md +186 -0
  26. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/asset-manifest.md +57 -0
  27. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/builder-dispatch-plan.md +92 -0
  28. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/clone-brief.md +59 -0
  29. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/component-spec.md +124 -0
  30. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/design-token-extraction.md +89 -0
  31. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/platform-handoff.md +114 -0
  32. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/reconnaissance-report.md +77 -0
  33. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/visual-qa-checklist.md +107 -0
  34. package/assets/worker-kits/growthub-ai-website-cloner-v1/validation-checklist.md +76 -0
  35. package/assets/worker-kits/growthub-ai-website-cloner-v1/workers/ai-website-cloner-operator/CLAUDE.md +256 -0
  36. package/assets/worker-kits/growthub-open-montage-studio-v1/.env.example +40 -0
  37. package/assets/worker-kits/growthub-open-montage-studio-v1/QUICKSTART.md +114 -0
  38. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/NEW-CLIENT.md +42 -0
  39. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/_template/brand-kit.md +49 -0
  40. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/growthub/brand-kit.md +50 -0
  41. package/assets/worker-kits/growthub-open-montage-studio-v1/bundles/growthub-open-montage-studio-v1.json +55 -0
  42. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/cms-node-bridge.md +152 -0
  43. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md +120 -0
  44. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/pipeline-reference.md +147 -0
  45. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/provider-adapter-layer.md +105 -0
  46. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/cms-node-video-gen-sample.md +109 -0
  47. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/pipeline-selection-sample.md +67 -0
  48. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/platform-ready-handoff-sample.md +101 -0
  49. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/video-production-brief-sample.md +68 -0
  50. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/README.md +7 -0
  51. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/kit-standard.md +45 -0
  52. package/assets/worker-kits/growthub-open-montage-studio-v1/kit.json +107 -0
  53. package/assets/worker-kits/growthub-open-montage-studio-v1/output/README.md +34 -0
  54. package/assets/worker-kits/growthub-open-montage-studio-v1/output-standards.md +79 -0
  55. package/assets/worker-kits/growthub-open-montage-studio-v1/runtime-assumptions.md +86 -0
  56. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/check-deps.sh +43 -0
  57. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/clone-fork.sh +53 -0
  58. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/verify-env.mjs +102 -0
  59. package/assets/worker-kits/growthub-open-montage-studio-v1/skills.md +254 -0
  60. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/asset-tracking.md +46 -0
  61. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/cms-node-pipeline-mapping.md +64 -0
  62. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/generation-batch-plan.md +70 -0
  63. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/pipeline-selection-brief.md +67 -0
  64. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/platform-ready-execution-handoff.md +103 -0
  65. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/prompt-matrix.md +48 -0
  66. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/provider-selection-brief.md +86 -0
  67. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/review-qa-checklist.md +59 -0
  68. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/scene-plan.md +65 -0
  69. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/video-production-brief.md +58 -0
  70. package/assets/worker-kits/growthub-open-montage-studio-v1/validation-checklist.md +46 -0
  71. package/assets/worker-kits/growthub-open-montage-studio-v1/workers/open-montage-studio-operator/CLAUDE.md +304 -0
  72. package/assets/worker-kits/growthub-twenty-crm-v1/.env.example +15 -0
  73. package/assets/worker-kits/growthub-twenty-crm-v1/QUICKSTART.md +90 -0
  74. package/assets/worker-kits/growthub-twenty-crm-v1/brands/NEW-CLIENT.md +57 -0
  75. package/assets/worker-kits/growthub-twenty-crm-v1/brands/_template/brand-kit.md +88 -0
  76. package/assets/worker-kits/growthub-twenty-crm-v1/brands/growthub/brand-kit.md +92 -0
  77. package/assets/worker-kits/growthub-twenty-crm-v1/bundles/growthub-twenty-crm-v1.json +56 -0
  78. package/assets/worker-kits/growthub-twenty-crm-v1/docs/api-and-webhooks.md +296 -0
  79. package/assets/worker-kits/growthub-twenty-crm-v1/docs/data-model-layer.md +172 -0
  80. package/assets/worker-kits/growthub-twenty-crm-v1/docs/twenty-fork-integration.md +213 -0
  81. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-playbook-sample.md +172 -0
  82. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-setup-sample.md +100 -0
  83. package/assets/worker-kits/growthub-twenty-crm-v1/examples/lead-enrichment-sample.md +117 -0
  84. package/assets/worker-kits/growthub-twenty-crm-v1/examples/pipeline-automation-sample.md +132 -0
  85. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/README.md +114 -0
  86. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/kit-standard.md +61 -0
  87. package/assets/worker-kits/growthub-twenty-crm-v1/kit.json +108 -0
  88. package/assets/worker-kits/growthub-twenty-crm-v1/output/README.md +46 -0
  89. package/assets/worker-kits/growthub-twenty-crm-v1/output-standards.md +175 -0
  90. package/assets/worker-kits/growthub-twenty-crm-v1/runtime-assumptions.md +150 -0
  91. package/assets/worker-kits/growthub-twenty-crm-v1/setup/check-deps.sh +56 -0
  92. package/assets/worker-kits/growthub-twenty-crm-v1/setup/clone-fork.sh +77 -0
  93. package/assets/worker-kits/growthub-twenty-crm-v1/setup/verify-env.mjs +105 -0
  94. package/assets/worker-kits/growthub-twenty-crm-v1/skills.md +401 -0
  95. package/assets/worker-kits/growthub-twenty-crm-v1/templates/api-query-plan.md +179 -0
  96. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-playbook.md +155 -0
  97. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-setup-brief.md +94 -0
  98. package/assets/worker-kits/growthub-twenty-crm-v1/templates/custom-object-design.md +115 -0
  99. package/assets/worker-kits/growthub-twenty-crm-v1/templates/data-model-design.md +112 -0
  100. package/assets/worker-kits/growthub-twenty-crm-v1/templates/enrichment-field-map.md +100 -0
  101. package/assets/worker-kits/growthub-twenty-crm-v1/templates/import-mapping.md +139 -0
  102. package/assets/worker-kits/growthub-twenty-crm-v1/templates/integration-handoff.md +190 -0
  103. package/assets/worker-kits/growthub-twenty-crm-v1/templates/lead-enrichment-pipeline.md +128 -0
  104. package/assets/worker-kits/growthub-twenty-crm-v1/templates/pipeline-automation-brief.md +88 -0
  105. package/assets/worker-kits/growthub-twenty-crm-v1/templates/webhook-integration-spec.md +129 -0
  106. package/assets/worker-kits/growthub-twenty-crm-v1/templates/workspace-config-checklist.md +129 -0
  107. package/assets/worker-kits/growthub-twenty-crm-v1/validation-checklist.md +115 -0
  108. package/assets/worker-kits/growthub-twenty-crm-v1/workers/twenty-crm-operator/CLAUDE.md +310 -0
  109. package/package.json +1 -1
@@ -0,0 +1,117 @@
1
+ # Lead Enrichment Pipeline — Growthub (SAMPLE)
2
+
3
+ **Date:** 2026-04-15
4
+ **Kit:** `growthub-twenty-crm-v1`
5
+ **Mode:** `cloud`
6
+
7
+ > **Note:** This is a sample output. Adapt all values to the actual client context.
8
+
9
+ ---
10
+
11
+ ## 1. ENRICHMENT PROVIDER(S)
12
+
13
+ | Provider | Auth mechanism | Data tier | Primary use |
14
+ |---|---|---|---|
15
+ | Apollo | Bearer token | Person + Company | Outbound lead source |
16
+ | Clay | API key | Person + Company | Enrichment waterfall (email verification + firmographic) |
17
+
18
+ ---
19
+
20
+ ## 2. SOURCE FIELDS PROVIDED
21
+
22
+ ### Apollo — Person fields
23
+
24
+ | Provider field | Data type | Example value |
25
+ |---|---|---|
26
+ | `first_name` | string | `Jane` |
27
+ | `last_name` | string | `Doe` |
28
+ | `email` | string | `jane@acme.com` |
29
+ | `title` | string | `Head of Growth` |
30
+ | `seniority` | string | `director` |
31
+ | `linkedin_url` | string | `https://linkedin.com/in/janedoe` |
32
+ | `city` | string | `San Francisco` |
33
+ | `organization.name` | string | `Acme Corp` |
34
+ | `organization.website_url` | string | `https://acme.com` |
35
+ | `organization.estimated_num_employees` | integer | `250` |
36
+
37
+ ---
38
+
39
+ ## 3. DEDUPLICATION STRATEGY
40
+
41
+ **Person dedup key:** `emails.primaryEmail`
42
+ **Company dedup key:** `domain`
43
+ **Secondary person key (when email unavailable):** `linkedInLink.url`
44
+
45
+ **Dedup behavior:**
46
+ - Match found → **merge** (update existing record with enriched fields, preserve existing data)
47
+ - No match found → **insert** (create new record)
48
+ - If both email and LinkedIn are absent → **skip and log** for manual review
49
+
50
+ ---
51
+
52
+ ## 4. IMPORT MODE
53
+
54
+ **Selected mode:** `merge-with-insert-fallback`
55
+
56
+ **Rationale:** Growthub has existing contacts from previous manual spreadsheet work. Merging ensures enrichment data layers on top without creating duplicates.
57
+
58
+ ---
59
+
60
+ ## 5. IMPORT METHOD
61
+
62
+ **Method:** CSV import via Twenty UI (first batch), then GraphQL mutation batch (ongoing enrichment)
63
+
64
+ **Import sequence:**
65
+ 1. Export Apollo contact list as CSV with all available fields selected
66
+ 2. Clean CSV: lowercase all emails, strip `https://` and trailing slashes from domain field
67
+ 3. Import Company records first (Settings > Companies > Import)
68
+ 4. Import Person records second with company linking enabled
69
+ 5. Run post-import audit
70
+
71
+ **Batch size recommendation:** 500 records per batch
72
+
73
+ ---
74
+
75
+ ## 6. FIELD MAPPING (SUMMARY)
76
+
77
+ | Source field | → | Twenty object | Twenty field | Transformation |
78
+ |---|---|---|---|---|
79
+ | `email` | → | `Person` | `emails.primaryEmail` | lowercase, trim |
80
+ | `first_name` | → | `Person` | `name.firstName` | none |
81
+ | `last_name` | → | `Person` | `name.lastName` | none |
82
+ | `title` | → | `Person` | `position` | none |
83
+ | `linkedin_url` | → | `Person` | `linkedInLink.url` | none |
84
+ | `city` | → | `Person` | `city` | none |
85
+ | `organization.name` | → | `Company` | `name` | none |
86
+ | `organization.website_url` | → | `Company` | `domain` | strip `https://` and trailing `/` |
87
+ | `organization.estimated_num_employees` | → | `Company` | `employees` | integer cast |
88
+
89
+ ---
90
+
91
+ ## 7. POST-IMPORT VALIDATION
92
+
93
+ | Check | Expected result | Actual result |
94
+ |---|---|---|
95
+ | Total Person records imported | ~1,200 | [fill after import] |
96
+ | Total Company records imported | ~400 | [fill after import] |
97
+ | Duplicate email check | 0 duplicates | [fill after import] |
98
+ | Company linkage rate | ≥ 90% | [fill after import] |
99
+ | Skipped records (no email) | < 5% | [fill after import] |
100
+
101
+ ---
102
+
103
+ ## 8. ERROR AND FAILURE HANDLING
104
+
105
+ | Error type | Behavior | Resolution |
106
+ |---|---|---|
107
+ | Invalid email format | Skip record, log to `enrichment-errors.csv` | Manual review and clean |
108
+ | Duplicate email (post-dedup) | Merge into existing record | Review merged record for accuracy |
109
+ | Missing company domain | Create Company with name only; flag for manual domain entry | Review flagged companies weekly |
110
+ | API rate limit hit | Pause 30 seconds, retry with smaller batch | Reduce to 250 records/batch |
111
+
112
+ ---
113
+
114
+ ## 9. UPDATE FREQUENCY
115
+
116
+ **Enrichment cadence:** Weekly on Monday mornings
117
+ **Trigger:** Apollo saves a new export on Sundays; enrichment job runs at 6 AM Monday via cron
@@ -0,0 +1,132 @@
1
+ # Pipeline Automation Brief — Growthub (SAMPLE)
2
+
3
+ **Date:** 2026-04-15
4
+ **Kit:** `growthub-twenty-crm-v1`
5
+ **Mode:** `cloud`
6
+
7
+ > **Note:** This is a sample output. Adapt all values to the actual client context.
8
+
9
+ ---
10
+
11
+ ## AUTOMATION INVENTORY
12
+
13
+ | # | Automation name | Trigger | Action | Status |
14
+ |---|---|---|---|---|
15
+ | 1 | Lead Qualified — Assign Rep + Create Follow-Up Task | Stage changes to QUALIFIED | Assign owner, create Task | planned |
16
+ | 2 | Demo Scheduled — Notify Slack | Stage changes to DEMO | Send outbound webhook to Slack | planned |
17
+ | 3 | Closed Won — Create Customer Onboarding Task | Stage changes to CLOSED_WON | Create Task, update field | planned |
18
+
19
+ ---
20
+
21
+ ## AUTOMATION 1 — LEAD QUALIFIED: ASSIGN REP AND CREATE FOLLOW-UP TASK
22
+
23
+ **Purpose:** When a lead's stage changes to QUALIFIED, assign the opportunity to the next available sales rep (round-robin, two reps) and create a follow-up task due in 24 hours.
24
+
25
+ ### Trigger
26
+
27
+ | Property | Value |
28
+ |---|---|
29
+ | Trigger type | `on_field_change` |
30
+ | Target object | `Opportunity` |
31
+ | Field | `stage` |
32
+ | Previous value | any (except QUALIFIED) |
33
+ | New value | `QUALIFIED` |
34
+
35
+ ### Action sequence
36
+
37
+ | Step | Action type | Target | Parameters |
38
+ |---|---|---|---|
39
+ | 1 | `assign_owner` | `Opportunity` | Round-robin between [Sales Rep 1 ID] and [Sales Rep 2 ID] |
40
+ | 2 | `create_task` | `Person` (pointOfContact) | `title: "Follow up with [Person name]", dueAt: +24h, assignee: opportunity.assignee` |
41
+ | 3 | `update_field` | `Opportunity` | `qualifiedAt: now()` (custom date field) |
42
+
43
+ ### Failure behavior
44
+
45
+ **If step 1 fails (assignment):** Assign to CRM Admin as fallback
46
+ **If step 2 fails (task creation):** Retry once after 60 seconds; if still failing, send in-app notification to CRM Admin
47
+ **If step 3 fails (field update):** Log error; non-critical, do not halt
48
+
49
+ ### Monitoring
50
+
51
+ Check the automation execution log in Twenty > Settings > Workflows weekly. Expected volume: 5–15 triggers per week.
52
+
53
+ ---
54
+
55
+ ## AUTOMATION 2 — DEMO SCHEDULED: NOTIFY SLACK
56
+
57
+ **Purpose:** When a deal enters the DEMO stage, post a message to the #sales-pipeline Slack channel so the full team sees demo activity in real time.
58
+
59
+ ### Trigger
60
+
61
+ | Property | Value |
62
+ |---|---|
63
+ | Trigger type | `on_field_change` |
64
+ | Target object | `Opportunity` |
65
+ | Field | `stage` |
66
+ | Previous value | `QUALIFIED` |
67
+ | New value | `DEMO` |
68
+
69
+ ### Action sequence
70
+
71
+ | Step | Action type | Target | Parameters |
72
+ |---|---|---|---|
73
+ | 1 | `send_webhook` | Slack Incoming Webhook URL | See payload below |
74
+
75
+ **Slack payload:**
76
+
77
+ ```json
78
+ {
79
+ "text": "🎯 Demo stage reached: *{{opportunity.name}}* — assigned to {{opportunity.assignee.name}}. Close date: {{opportunity.closeDate}}",
80
+ "channel": "#sales-pipeline"
81
+ }
82
+ ```
83
+
84
+ ### Failure behavior
85
+
86
+ **If webhook fails:** Retry 3× (5s, 15s, 45s). If all retries fail: log error and send in-app notification to CRM Admin. Non-critical — pipeline is not blocked.
87
+
88
+ ---
89
+
90
+ ## AUTOMATION 3 — CLOSED WON: CREATE ONBOARDING TASK
91
+
92
+ **Purpose:** When a deal is marked as CLOSED_WON, automatically create a customer onboarding task assigned to the CS Manager.
93
+
94
+ ### Trigger
95
+
96
+ | Property | Value |
97
+ |---|---|
98
+ | Trigger type | `on_field_change` |
99
+ | Target object | `Opportunity` |
100
+ | Field | `stage` |
101
+ | Previous value | any |
102
+ | New value | `CLOSED_WON` |
103
+
104
+ ### Action sequence
105
+
106
+ | Step | Action type | Target | Parameters |
107
+ |---|---|---|---|
108
+ | 1 | `create_task` | `Person` (pointOfContact) | `title: "Onboard [Person name] — [Company name]", dueAt: +3 days, assignee: [CS Manager ID]` |
109
+ | 2 | `update_field` | `Opportunity` | `closedAt: now()` (custom date field) |
110
+ | 3 | `send_webhook` | Slack Incoming Webhook | Post to #customer-success: "New customer: [Company name]" |
111
+
112
+ ### Failure behavior
113
+
114
+ **If task creation fails:** Retry once; then send email notification to CS Manager directly
115
+ **If Slack webhook fails:** Retry 3×; if all fail, log — non-critical
116
+
117
+ ---
118
+
119
+ ## AUTOMATION DESIGN DECISIONS
120
+
121
+ | Decision | Choice | Rationale |
122
+ |---|---|---|
123
+ | Assignment method | Round-robin (2 reps) | Equal load distribution; no territory segmentation needed at current team size |
124
+ | Slack notification trigger | Stage change to DEMO (not QUALIFIED) | QUALIFIED happens frequently (5–15/week); only DEMO warrants team visibility |
125
+ | Onboarding task assignee | CS Manager (fixed) | Single CS contact at current team size; revisit when team grows |
126
+
127
+ ---
128
+
129
+ ## OPEN QUESTIONS
130
+
131
+ - [ ] Should the Closed Won Slack notification include the deal amount? (confirm with head of sales)
132
+ - [ ] What is the round-robin assignment rule when one rep is on leave — assign to the other rep only, or default to CRM Admin?
@@ -0,0 +1,114 @@
1
+ # Growthub Agent Worker Kit — Twenty CRM v1
2
+
3
+ **Kit ID:** `growthub-twenty-crm-v1`
4
+ **Version:** `1.0.0`
5
+ **Type:** `worker`
6
+ **Execution mode:** `export`
7
+
8
+ ---
9
+
10
+ ## What this kit does
11
+
12
+ This kit gives an agent a self-contained environment for implementing, configuring, and operating Twenty CRM — the open-source Salesforce/Apollo alternative — as a growth stack foundation.
13
+
14
+ It packages:
15
+ - agent operating instructions
16
+ - a locked CRM methodology
17
+ - runtime and deployment assumptions
18
+ - API, webhook, and data model reference docs
19
+ - CRM implementation templates (12 templates)
20
+ - example output artifacts (4 complete samples)
21
+ - brand kit system
22
+ - output standards
23
+ - setup scripts for local-fork and cloud modes
24
+ - contributor metadata
25
+
26
+ The intended operator is a growth engineer, CRM consultant, or AI agent responsible for implementing Twenty CRM for a B2B team and building enrichment pipelines, pipeline automations, and integration handoffs on top of it.
27
+
28
+ ---
29
+
30
+ ## Folder structure
31
+
32
+ ```text
33
+ growthub-twenty-crm-v1/
34
+ ├── kit.json
35
+ ├── bundles/
36
+ ├── workers/
37
+ │ └── twenty-crm-operator/
38
+ │ └── CLAUDE.md
39
+ ├── brands/
40
+ │ ├── _template/brand-kit.md
41
+ │ ├── growthub/brand-kit.md
42
+ │ └── NEW-CLIENT.md
43
+ ├── setup/
44
+ │ ├── clone-fork.sh
45
+ │ ├── verify-env.mjs
46
+ │ └── check-deps.sh
47
+ ├── templates/
48
+ │ ├── crm-setup-brief.md
49
+ │ ├── data-model-design.md
50
+ │ ├── lead-enrichment-pipeline.md
51
+ │ ├── pipeline-automation-brief.md
52
+ │ ├── webhook-integration-spec.md
53
+ │ ├── api-query-plan.md
54
+ │ ├── crm-playbook.md
55
+ │ ├── custom-object-design.md
56
+ │ ├── import-mapping.md
57
+ │ ├── workspace-config-checklist.md
58
+ │ ├── integration-handoff.md
59
+ │ └── enrichment-field-map.md
60
+ ├── examples/
61
+ │ ├── crm-setup-sample.md
62
+ │ ├── lead-enrichment-sample.md
63
+ │ ├── pipeline-automation-sample.md
64
+ │ └── crm-playbook-sample.md
65
+ ├── docs/
66
+ │ ├── twenty-fork-integration.md
67
+ │ ├── api-and-webhooks.md
68
+ │ └── data-model-layer.md
69
+ ├── output/
70
+ │ └── README.md
71
+ ├── growthub-meta/
72
+ │ ├── README.md
73
+ │ └── kit-standard.md
74
+ ├── skills.md
75
+ ├── output-standards.md
76
+ ├── runtime-assumptions.md
77
+ ├── validation-checklist.md
78
+ ├── QUICKSTART.md
79
+ └── .env.example
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Activation
85
+
86
+ 1. Export the kit via `growthub kit download growthub-twenty-crm-v1`.
87
+ 2. Point the agent working directory at the expanded folder.
88
+ 3. The agent reads `workers/twenty-crm-operator/CLAUDE.md`.
89
+ 4. `skills.md` provides the working method for every session.
90
+
91
+ ---
92
+
93
+ ## Supported output categories
94
+
95
+ - CRM setup brief
96
+ - data model design
97
+ - lead enrichment pipeline
98
+ - pipeline automation brief
99
+ - webhook integration spec
100
+ - API query plan
101
+ - custom object design
102
+ - import mapping
103
+ - workspace config checklist
104
+ - integration handoff
105
+ - enrichment field map
106
+ - CRM playbook
107
+
108
+ ---
109
+
110
+ ## Source repository
111
+
112
+ Twenty CRM: [github.com/twentyhq/twenty](https://github.com/twentyhq/twenty)
113
+ License: MIT
114
+ Stack: TypeScript / React / NestJS / PostgreSQL / Redis
@@ -0,0 +1,61 @@
1
+ # Kit Standard — Twenty CRM v1
2
+
3
+ This document defines the locked contract for this kit.
4
+
5
+ ---
6
+
7
+ ## Required files contract
8
+
9
+ Every path in `kit.json -> frozenAssetPaths` must exist in every valid release.
10
+
11
+ ---
12
+
13
+ ## Bundle contract
14
+
15
+ The bundle manifest must remain aligned with `kit.json`:
16
+ - `bundle.kitId` matches `kit.id`
17
+ - `bundle.workerId` matches `entrypoint.workerId`
18
+ - `requiredFrozenAssets` stays a subset of `frozenAssetPaths`
19
+
20
+ ---
21
+
22
+ ## Agent operating rules
23
+
24
+ The entrypoint file is the operating law. `skills.md` is the methodology.
25
+
26
+ Required invariants:
27
+ - strict workflow order (Steps 0–10)
28
+ - environment gate passes before any planning work
29
+ - data model is defined before automation or enrichment pipelines
30
+ - deployment mode is always labeled in every output
31
+ - deduplication key is named in every enrichment or import artifact
32
+ - every automation trigger-action pair has a documented failure path
33
+ - no secrets are stored in any kit file or output artifact
34
+ - outputs are operational artifacts, not ideation-only text
35
+
36
+ ---
37
+
38
+ ## Runtime rules
39
+
40
+ - no secrets stored in kit files
41
+ - agent-only mode is always a valid fallback — no live CRM required for planning work
42
+ - cloud, self-hosted, and local-fork modes are all first-class
43
+ - outputs are Markdown only
44
+ - field names use Twenty's naming conventions (camelCase for fields, PascalCase for objects)
45
+ - SELECT option values use SCREAMING_SNAKE_CASE
46
+
47
+ ---
48
+
49
+ ## Versioning rules
50
+
51
+ Additive template/docs changes are minor-version work. Entrypoint path changes, export name changes, or fundamental workflow changes require a major version bump.
52
+
53
+ ---
54
+
55
+ ## Scope rules
56
+
57
+ This kit is scoped to Twenty CRM implementation planning and operator documentation. It does not:
58
+ - provide a live CRM dashboard
59
+ - write application code (it produces specs and handoffs for developers)
60
+ - manage infrastructure directly
61
+ - store client data in kit files
@@ -0,0 +1,108 @@
1
+ {
2
+ "schemaVersion": 2,
3
+ "kit": {
4
+ "id": "growthub-twenty-crm-v1",
5
+ "version": "1.0.0",
6
+ "name": "Growthub Agent Worker Kit — Twenty CRM",
7
+ "description": "Self-contained local execution environment for Twenty CRM — the open-source Salesforce/Apollo alternative. Produces CRM setup plans, data model designs, lead enrichment pipelines, pipeline automation briefs, webhook integration specs, API query plans, and client-ready CRM playbooks for teams adopting Twenty as their growth stack foundation.",
8
+ "type": "worker",
9
+ "visibility": "public-open-source",
10
+ "sourceRepo": "growthub-local",
11
+ "family": "studio"
12
+ },
13
+ "entrypoint": {
14
+ "workerId": "twenty-crm-operator",
15
+ "path": "workers/twenty-crm-operator/CLAUDE.md"
16
+ },
17
+ "workerIds": [
18
+ "twenty-crm-operator"
19
+ ],
20
+ "agentContractPath": "workers/twenty-crm-operator/CLAUDE.md",
21
+ "brandTemplatePath": "brands/_template/brand-kit.md",
22
+ "publicExampleBrandPaths": [
23
+ "brands/growthub/brand-kit.md"
24
+ ],
25
+ "frozenAssetPaths": [
26
+ "QUICKSTART.md",
27
+ ".env.example",
28
+ "skills.md",
29
+ "output-standards.md",
30
+ "runtime-assumptions.md",
31
+ "validation-checklist.md",
32
+ "workers/twenty-crm-operator/CLAUDE.md",
33
+ "brands/_template/brand-kit.md",
34
+ "brands/growthub/brand-kit.md",
35
+ "brands/NEW-CLIENT.md",
36
+ "setup/clone-fork.sh",
37
+ "setup/verify-env.mjs",
38
+ "setup/check-deps.sh",
39
+ "output/README.md",
40
+ "templates/crm-setup-brief.md",
41
+ "templates/data-model-design.md",
42
+ "templates/lead-enrichment-pipeline.md",
43
+ "templates/pipeline-automation-brief.md",
44
+ "templates/webhook-integration-spec.md",
45
+ "templates/api-query-plan.md",
46
+ "templates/crm-playbook.md",
47
+ "templates/custom-object-design.md",
48
+ "templates/import-mapping.md",
49
+ "templates/workspace-config-checklist.md",
50
+ "templates/integration-handoff.md",
51
+ "templates/enrichment-field-map.md",
52
+ "examples/crm-setup-sample.md",
53
+ "examples/lead-enrichment-sample.md",
54
+ "examples/pipeline-automation-sample.md",
55
+ "examples/crm-playbook-sample.md",
56
+ "docs/twenty-fork-integration.md",
57
+ "docs/api-and-webhooks.md",
58
+ "docs/data-model-layer.md",
59
+ "growthub-meta/README.md",
60
+ "growthub-meta/kit-standard.md"
61
+ ],
62
+ "setupPaths": {
63
+ "quickstart": "QUICKSTART.md",
64
+ "envExample": ".env.example",
65
+ "setupDir": "setup/",
66
+ "outputDir": "output/"
67
+ },
68
+ "outputStandard": {
69
+ "type": "working-directory",
70
+ "description": "Exported folder is intended to be pointed at directly by the agent Working Directory. All outputs are Markdown files written to output/<client-slug>/<project-slug>/.",
71
+ "requiredPaths": [
72
+ "QUICKSTART.md",
73
+ ".env.example",
74
+ "kit.json",
75
+ "bundles/growthub-twenty-crm-v1.json",
76
+ "skills.md",
77
+ "workers/twenty-crm-operator/CLAUDE.md",
78
+ "brands/_template/brand-kit.md",
79
+ "brands/growthub/brand-kit.md",
80
+ "brands/NEW-CLIENT.md",
81
+ "setup/clone-fork.sh",
82
+ "setup/verify-env.mjs",
83
+ "setup/check-deps.sh",
84
+ "output/README.md",
85
+ "templates",
86
+ "docs",
87
+ "growthub-meta"
88
+ ]
89
+ },
90
+ "bundles": [
91
+ {
92
+ "id": "growthub-twenty-crm-v1",
93
+ "version": "1.0.0",
94
+ "path": "bundles/growthub-twenty-crm-v1.json"
95
+ }
96
+ ],
97
+ "executionMode": "export",
98
+ "activationModes": [
99
+ "export"
100
+ ],
101
+ "compatibility": {
102
+ "cliMinVersion": "0.3.50"
103
+ },
104
+ "provenance": {
105
+ "sourceRepo": "growthub-local",
106
+ "frozenAt": "2026-04-15T00:00:00.000Z"
107
+ }
108
+ }
@@ -0,0 +1,46 @@
1
+ # Output Directory — Twenty CRM v1
2
+
3
+ This directory is where the agent writes all client deliverables.
4
+
5
+ ---
6
+
7
+ ## Structure
8
+
9
+ ```text
10
+ output/
11
+ └── <client-slug>/
12
+ └── <project-slug>/
13
+ ├── <ClientSlug>_CRMSetupBrief_v<N>_<YYYYMMDD>.md
14
+ ├── <ClientSlug>_DataModelDesign_v<N>_<YYYYMMDD>.md
15
+ ├── <ClientSlug>_LeadEnrichmentPipeline_v<N>_<YYYYMMDD>.md
16
+ ├── <ClientSlug>_PipelineAutomationBrief_v<N>_<YYYYMMDD>.md
17
+ ├── <ClientSlug>_WebhookIntegrationSpec_v<N>_<YYYYMMDD>.md
18
+ ├── <ClientSlug>_APIQueryPlan_v<N>_<YYYYMMDD>.md
19
+ ├── <ClientSlug>_CustomObjectDesign_v<N>_<YYYYMMDD>.md
20
+ ├── <ClientSlug>_ImportMapping_v<N>_<YYYYMMDD>.md
21
+ ├── <ClientSlug>_WorkspaceConfigChecklist_v<N>_<YYYYMMDD>.md
22
+ ├── <ClientSlug>_IntegrationHandoff_v<N>_<YYYYMMDD>.md
23
+ ├── <ClientSlug>_EnrichmentFieldMap_v<N>_<YYYYMMDD>.md
24
+ └── <ClientSlug>_CRMPlaybook_v<N>_<YYYYMMDD>.md
25
+ ```
26
+
27
+ ---
28
+
29
+ ## File naming
30
+
31
+ Pattern: `<ClientSlug>_<OutputType>_v<N>_<YYYYMMDD>.md`
32
+
33
+ - `ClientSlug` is PascalCase (e.g. `AcmeCorp`, `Growthub`)
34
+ - `OutputType` matches the artifact type exactly (e.g. `CRMSetupBrief`, `DataModelDesign`)
35
+ - `v<N>` is the version number (start at `v1`, increment on revision)
36
+ - `YYYYMMDD` is the date of production
37
+
38
+ ---
39
+
40
+ ## Rules
41
+
42
+ - never overwrite an existing version file — create a new version
43
+ - keep one artifact per file
44
+ - Markdown only
45
+ - no placeholder text in any delivered file
46
+ - brand kit DELIVERABLES LOG must be updated after each delivery