@growthub/cli 0.3.55 → 0.3.57
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/README.md +56 -156
- package/assets/worker-kits/growthub-zernio-social-v1/QUICKSTART.md +209 -0
- package/assets/worker-kits/growthub-zernio-social-v1/brands/NEW-CLIENT.md +74 -0
- package/assets/worker-kits/growthub-zernio-social-v1/brands/_template/brand-kit.md +131 -0
- package/assets/worker-kits/growthub-zernio-social-v1/brands/growthub/brand-kit.md +141 -0
- package/assets/worker-kits/growthub-zernio-social-v1/bundles/growthub-zernio-social-v1.json +55 -0
- package/assets/worker-kits/growthub-zernio-social-v1/docs/ai-caption-layer.md +132 -0
- package/assets/worker-kits/growthub-zernio-social-v1/docs/local-adapters.md +123 -0
- package/assets/worker-kits/growthub-zernio-social-v1/docs/platform-coverage.md +112 -0
- package/assets/worker-kits/growthub-zernio-social-v1/docs/postiz-ui-shell-integration.md +166 -0
- package/assets/worker-kits/growthub-zernio-social-v1/docs/posts-and-queues-layer.md +208 -0
- package/assets/worker-kits/growthub-zernio-social-v1/docs/zernio-api-integration.md +265 -0
- package/assets/worker-kits/growthub-zernio-social-v1/examples/analytics-brief-sample.md +97 -0
- package/assets/worker-kits/growthub-zernio-social-v1/examples/client-proposal-sample.md +106 -0
- package/assets/worker-kits/growthub-zernio-social-v1/examples/content-calendar-sample.md +74 -0
- package/assets/worker-kits/growthub-zernio-social-v1/examples/social-campaign-sample.md +105 -0
- package/assets/worker-kits/growthub-zernio-social-v1/growthub-meta/README.md +146 -0
- package/assets/worker-kits/growthub-zernio-social-v1/growthub-meta/kit-standard.md +120 -0
- package/assets/worker-kits/growthub-zernio-social-v1/kit.json +104 -0
- package/assets/worker-kits/growthub-zernio-social-v1/output/README.md +63 -0
- package/assets/worker-kits/growthub-zernio-social-v1/output-standards.md +132 -0
- package/assets/worker-kits/growthub-zernio-social-v1/runtime-assumptions.md +170 -0
- package/assets/worker-kits/growthub-zernio-social-v1/setup/check-deps.mjs +117 -0
- package/assets/worker-kits/growthub-zernio-social-v1/setup/check-deps.sh +86 -0
- package/assets/worker-kits/growthub-zernio-social-v1/setup/install-mcp.mjs +177 -0
- package/assets/worker-kits/growthub-zernio-social-v1/setup/setup.mjs +247 -0
- package/assets/worker-kits/growthub-zernio-social-v1/setup/verify-env.mjs +138 -0
- package/assets/worker-kits/growthub-zernio-social-v1/skills.md +332 -0
- package/assets/worker-kits/growthub-zernio-social-v1/templates/analytics-brief.md +101 -0
- package/assets/worker-kits/growthub-zernio-social-v1/templates/caption-copy-deck.md +105 -0
- package/assets/worker-kits/growthub-zernio-social-v1/templates/client-proposal.md +98 -0
- package/assets/worker-kits/growthub-zernio-social-v1/templates/content-calendar.md +70 -0
- package/assets/worker-kits/growthub-zernio-social-v1/templates/platform-publishing-plan.md +86 -0
- package/assets/worker-kits/growthub-zernio-social-v1/templates/scheduling-manifest.md +92 -0
- package/assets/worker-kits/growthub-zernio-social-v1/templates/social-campaign-brief.md +102 -0
- package/assets/worker-kits/growthub-zernio-social-v1/validation-checklist.md +85 -0
- package/assets/worker-kits/growthub-zernio-social-v1/workers/zernio-social-operator/CLAUDE.md +307 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
# @growthub/cli
|
|
2
2
|
|
|
3
|
-
`@growthub/cli` is the
|
|
4
|
-
|
|
5
|
-
- full local app discovery and onboarding
|
|
6
|
-
- worker kit discovery, export, inspection, and validation
|
|
7
|
-
- shared template discovery and extraction
|
|
8
|
-
- hosted workflows, capabilities, dynamic pipelines, and artifacts
|
|
9
|
-
- hosted Growthub auth + machine profile bridge
|
|
3
|
+
`@growthub/cli` is the public CLI for Growthub Local.
|
|
10
4
|
|
|
11
5
|
## Install
|
|
12
6
|
|
|
@@ -14,201 +8,107 @@
|
|
|
14
8
|
npm install -g @growthub/cli
|
|
15
9
|
```
|
|
16
10
|
|
|
17
|
-
|
|
11
|
+
Or use the guided installer:
|
|
18
12
|
|
|
19
13
|
```bash
|
|
20
14
|
npm create growthub-local@latest
|
|
21
15
|
```
|
|
22
16
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
npm create growthub-local@latest -- --profile gtm
|
|
27
|
-
npm create growthub-local@latest -- --profile dx
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## CLI Editions
|
|
17
|
+
## At a Glance
|
|
31
18
|
|
|
32
|
-
The
|
|
19
|
+
The CLI ships these user flows:
|
|
33
20
|
|
|
34
|
-
|
|
21
|
+
- `Agent Harness` (Paperclip Local App, Open Agents, Qwen Code CLI)
|
|
22
|
+
- `Worker Kits`
|
|
23
|
+
- `Templates`
|
|
24
|
+
- `Workflows`
|
|
25
|
+
- `Local Intelligence`
|
|
26
|
+
- `Hosted Auth Bridge`
|
|
35
27
|
|
|
36
|
-
|
|
28
|
+
## Quick Commands
|
|
37
29
|
|
|
38
30
|
```bash
|
|
31
|
+
# Discovery
|
|
39
32
|
growthub
|
|
40
|
-
growthub list
|
|
41
33
|
growthub discover
|
|
34
|
+
|
|
35
|
+
# Agent Harness
|
|
42
36
|
growthub onboard
|
|
43
37
|
growthub run
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
User flow:
|
|
47
|
-
|
|
48
|
-
1. Open the discovery hub.
|
|
49
|
-
2. Choose `Full Local App`.
|
|
50
|
-
3. Create a new `gtm` or `dx` profile, or load an existing local profile.
|
|
51
|
-
4. Complete onboarding.
|
|
52
|
-
5. Start the local server and finish the hosted authentication bridge.
|
|
38
|
+
growthub open-agents
|
|
39
|
+
growthub qwen-code
|
|
53
40
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
Use this when you want a working-directory-ready environment for an agent.
|
|
57
|
-
|
|
58
|
-
### Discovery
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
# Interactive discovery hub
|
|
62
|
-
growthub list
|
|
63
|
-
|
|
64
|
-
# Interactive browser — type filter → kit selector → actions
|
|
41
|
+
# Worker Kits
|
|
65
42
|
growthub kit
|
|
66
|
-
|
|
67
|
-
# All kits grouped by family with descriptions and inline commands
|
|
68
43
|
growthub kit list
|
|
44
|
+
growthub kit inspect <kit-id>
|
|
45
|
+
growthub kit download <kit-id>
|
|
46
|
+
growthub kit validate <path>
|
|
69
47
|
|
|
70
|
-
#
|
|
71
|
-
growthub
|
|
72
|
-
growthub
|
|
48
|
+
# Templates
|
|
49
|
+
growthub template
|
|
50
|
+
growthub template list
|
|
51
|
+
growthub template get <slug>
|
|
73
52
|
|
|
74
|
-
#
|
|
75
|
-
growthub
|
|
53
|
+
# Workflows
|
|
54
|
+
growthub workflow
|
|
55
|
+
growthub workflow saved
|
|
56
|
+
growthub pipeline assemble
|
|
76
57
|
|
|
77
|
-
#
|
|
78
|
-
growthub
|
|
58
|
+
# Hosted Auth Bridge
|
|
59
|
+
growthub auth login
|
|
60
|
+
growthub auth whoami
|
|
61
|
+
growthub auth logout
|
|
79
62
|
```
|
|
80
63
|
|
|
81
|
-
|
|
64
|
+
## Worker Kit Command Surface
|
|
82
65
|
|
|
83
66
|
```bash
|
|
67
|
+
growthub kit list
|
|
84
68
|
growthub kit inspect creative-strategist-v1
|
|
85
69
|
growthub kit inspect growthub-open-higgsfield-studio-v1
|
|
86
|
-
growthub kit inspect growthub-email-marketing-v1 --json
|
|
87
|
-
|
|
88
70
|
growthub kit download creative-strategist-v1
|
|
89
71
|
growthub kit download growthub-open-higgsfield-studio-v1
|
|
90
|
-
growthub kit download higgsfield --yes
|
|
91
|
-
|
|
92
72
|
growthub kit path creative-strategist-v1
|
|
93
73
|
growthub kit validate /absolute/path/to/kit
|
|
94
74
|
```
|
|
95
75
|
|
|
96
|
-
### After download
|
|
97
|
-
|
|
98
|
-
1. Point Growthub local or your local adapter `Working directory` at the exported folder.
|
|
99
|
-
2. Add runtime-only environment variables required by the kit.
|
|
100
|
-
3. Start a new session so the operator contract loads from `CLAUDE.md`.
|
|
101
|
-
|
|
102
|
-
### Available bundled kits
|
|
103
|
-
|
|
104
|
-
| Kit | Family | Description |
|
|
105
|
-
|---|---|---|
|
|
106
|
-
| `creative-strategist-v1` | workflow | Video creative briefs and campaign strategy |
|
|
107
|
-
| `growthub-email-marketing-v1` | operator | Brand-aware email campaigns, sequences, and campaign planning |
|
|
108
|
-
| `growthub-open-higgsfield-studio-v1` | studio | Open Higgsfield visual production workflows |
|
|
109
|
-
|
|
110
76
|
### How local adapters use worker kits
|
|
111
77
|
|
|
112
|
-
|
|
78
|
+
1. Download or resolve a kit path from the CLI.
|
|
79
|
+
2. Point the agent working directory at the exported folder.
|
|
80
|
+
3. Start a new session so the kit contract loads from `CLAUDE.md`.
|
|
113
81
|
|
|
114
|
-
|
|
115
|
-
2. Point the agent `Working directory` at the exported folder.
|
|
116
|
-
3. Start a new session so the agent reads the kit contract from `CLAUDE.md`.
|
|
82
|
+
## Harness Notes
|
|
117
83
|
|
|
118
|
-
###
|
|
84
|
+
### Open Agents
|
|
119
85
|
|
|
120
|
-
|
|
86
|
+
- upstream: [vercel-labs/open-agents](https://github.com/vercel-labs/open-agents)
|
|
87
|
+
- secure auth mode support: `none`, `api-key`, `vercel-managed`
|
|
88
|
+
- prompt/chat commands: `growthub open-agents prompt`, `growthub open-agents chat`
|
|
121
89
|
|
|
122
|
-
|
|
123
|
-
growthub template
|
|
124
|
-
growthub template list
|
|
125
|
-
growthub template list --type ad-formats
|
|
126
|
-
growthub template list --type scene-modules --subtype hooks
|
|
127
|
-
growthub template get villain-animation
|
|
128
|
-
growthub template get meme-overlay --out ~/kit/hooks/
|
|
129
|
-
growthub template get villain-animation --json
|
|
130
|
-
```
|
|
90
|
+
### Qwen Code CLI
|
|
131
91
|
|
|
132
|
-
|
|
92
|
+
- upstream: [QwenLM/qwen-code](https://github.com/QwenLM/qwen-code)
|
|
93
|
+
- secure local key setup from `growthub qwen-code` configure flow
|
|
94
|
+
- prompt/chat session commands: `growthub qwen-code prompt`, `growthub qwen-code session`
|
|
133
95
|
|
|
134
|
-
|
|
135
|
-
2. Preview the selected artifact.
|
|
136
|
-
3. Print it, copy it to a local workspace, or use the slug in another workflow.
|
|
96
|
+
## Extension Model
|
|
137
97
|
|
|
138
|
-
|
|
98
|
+
Content extensions:
|
|
139
99
|
|
|
140
|
-
|
|
100
|
+
- worker kits: `cli/assets/worker-kits/`
|
|
101
|
+
- shared templates: `cli/assets/shared-templates/`
|
|
141
102
|
|
|
142
|
-
|
|
143
|
-
growthub workflow
|
|
144
|
-
growthub workflow saved
|
|
145
|
-
growthub pipeline assemble
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### 5. Hosted Auth Bridge
|
|
149
|
-
|
|
150
|
-
Use this when you want the hosted Growthub account to remain the top-level identity while syncing safe local-machine metadata into the CLI runtime.
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
growthub auth login
|
|
154
|
-
growthub auth whoami
|
|
155
|
-
growthub auth logout
|
|
156
|
-
growthub profile status
|
|
157
|
-
growthub profile pull
|
|
158
|
-
growthub profile push
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
Contract:
|
|
162
|
-
|
|
163
|
-
1. Hosted Growthub auth remains the source of truth for the user identity.
|
|
164
|
-
2. Local workspace config stays local-first and is not overwritten by hosted state.
|
|
165
|
-
3. Hosted machine linkage is stored separately from `instances/<id>/config.json`.
|
|
166
|
-
4. `growthub` and `paperclipai` remain intentional side-by-side surfaces rather than auto-loading one another.
|
|
167
|
-
|
|
168
|
-
## Workflows Discovery V1
|
|
169
|
-
|
|
170
|
-
The public CLI now supports a hosted workflow discovery flow inside the interactive hub for all Growthub Auth Users:
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
growthub discover
|
|
174
|
-
growthub workflow
|
|
175
|
-
growthub workflow saved
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
Use this when you want to:
|
|
179
|
-
|
|
180
|
-
- inspect CMS node contracts from the interactive contracts browser
|
|
181
|
-
- list hosted saved workflows and inspect detail
|
|
182
|
-
- create/save hosted workflows through Dynamic Pipelines
|
|
183
|
-
- execute a hosted saved workflow from the CLI
|
|
184
|
-
- manage workflow lifecycle actions (archive/delete) from CLI
|
|
185
|
-
|
|
186
|
-
The full public usage and architecture notes live here:
|
|
103
|
+
Governance/reference docs:
|
|
187
104
|
|
|
105
|
+
- [Worker Kits](../docs/WORKER_KITS.md)
|
|
188
106
|
- [CLI Workflows Discovery V1](../docs/CLI_WORKFLOWS_DISCOVERY_V1.md)
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
The CLI has two extension surfaces for content:
|
|
193
|
-
|
|
194
|
-
- worker kits in `cli/assets/worker-kits/`
|
|
195
|
-
- shared templates in `cli/assets/shared-templates/`
|
|
196
|
-
|
|
197
|
-
Use shared templates for reusable cross-kit primitives. Use worker kits for full opinionated environments with prompts, standards, examples, and runtime assumptions.
|
|
198
|
-
|
|
199
|
-
For the agent-facing extension workflow, see [docs/CLI_TEMPLATE_CONTRIBUTION_EXTENSION_WORKFLOWS.md](../docs/CLI_TEMPLATE_CONTRIBUTION_EXTENSION_WORKFLOWS.md).
|
|
200
|
-
|
|
201
|
-
## Development Notes
|
|
202
|
-
|
|
203
|
-
- `@growthub/cli` version: `0.3.49`
|
|
204
|
-
- Node.js: `>=20`
|
|
205
|
-
- Source of truth repo: [Growthub Local](https://github.com/Growthub-ai/growthub-local)
|
|
107
|
+
- [Agent Harness Auth Primitive](../docs/AGENT_HARNESS_AUTH_PRIMITIVE.md)
|
|
108
|
+
- [Kernel Packet Registry](../docs/kernel-packets/README.md)
|
|
206
109
|
|
|
207
110
|
## Links
|
|
208
111
|
|
|
209
|
-
- [
|
|
112
|
+
- [Growthub Local Repository](https://github.com/Growthub-ai/growthub-local)
|
|
113
|
+
- [Root README](https://github.com/Growthub-ai/growthub-local#readme)
|
|
210
114
|
- [Contributing](https://github.com/Growthub-ai/growthub-local/blob/main/CONTRIBUTING.md)
|
|
211
|
-
- [Growthub Authentication Bridge](https://github.com/Growthub-ai/growthub-local/blob/main/docs/GROWTHUB_AUTH_BRIDGE.md)
|
|
212
|
-
- [CLI Workflows Discovery V1](https://github.com/Growthub-ai/growthub-local/blob/main/docs/CLI_WORKFLOWS_DISCOVERY_V1.md)
|
|
213
|
-
- [Worker Kits](https://github.com/Growthub-ai/growthub-local/blob/main/docs/WORKER_KITS.md)
|
|
214
|
-
- [CLI Template Contribution Extension Workflows](https://github.com/Growthub-ai/growthub-local/blob/main/docs/CLI_TEMPLATE_CONTRIBUTION_EXTENSION_WORKFLOWS.md)
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Growthub Zernio Social Media Studio — Quickstart
|
|
2
|
+
|
|
3
|
+
**Kit:** `growthub-zernio-social-v1`
|
|
4
|
+
**Worker:** `zernio-social-operator`
|
|
5
|
+
**Platform:** [Zernio](https://zernio.com) — unified social media REST API for developers and AI agents
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What This Kit Does
|
|
10
|
+
|
|
11
|
+
The Growthub Zernio Social Media Studio is a self-contained AI agent environment for planning, drafting, scheduling, and analyzing social media campaigns against the Zernio REST API. It produces:
|
|
12
|
+
|
|
13
|
+
- Social campaign briefs (objective, platforms, audience, KPIs)
|
|
14
|
+
- 30/60/90-day content calendars with theme pillars
|
|
15
|
+
- Platform publishing plans for 14 social networks
|
|
16
|
+
- Caption copy decks with A/B/C variants per post
|
|
17
|
+
- Zernio-shaped scheduling manifests (`POST /api/v1/posts`) + recurring queue definitions
|
|
18
|
+
- Analytics briefings (engagement, reach, growth signals)
|
|
19
|
+
- Client-ready proposals with platform mix and ROI projections
|
|
20
|
+
|
|
21
|
+
Supported platforms: X/Twitter, Instagram, Facebook, LinkedIn, TikTok, YouTube, Pinterest, Reddit, Bluesky, Threads, Google Business, Telegram, Snapchat, WhatsApp. See `docs/platform-coverage.md` for the full list.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Setup — One Command (Mac / Windows / Linux)
|
|
26
|
+
|
|
27
|
+
From the exported kit folder:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
node setup/setup.mjs
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
That single command:
|
|
34
|
+
|
|
35
|
+
1. Detects your host OS (macOS / Windows / Linux)
|
|
36
|
+
2. Checks dependencies (Node 18+ required; `curl` and `git` optional)
|
|
37
|
+
3. Ensures `.env` exists — if `.env.example` is present it copies it; otherwise prints the exact vars you need to add manually
|
|
38
|
+
4. Runs `setup/verify-env.mjs` to validate your `ZERNIO_API_KEY` format and live-reachability against `GET /api/v1/profiles`
|
|
39
|
+
5. Prints the exact next step for your OS
|
|
40
|
+
|
|
41
|
+
**No bash required on Windows.** Everything runs under Node. PowerShell, cmd, WSL, git-bash all work identically.
|
|
42
|
+
|
|
43
|
+
### After the first run
|
|
44
|
+
|
|
45
|
+
Open `.env` and fill in:
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
| Variable | Required? | What to put |
|
|
49
|
+
| ------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
50
|
+
| `ZERNIO_API_KEY` | Yes (for live mode) | `sk_` + 64 hex characters — create one at [zernio.com/signup](https://zernio.com/signup) or via `POST /api/v1/api-keys` |
|
|
51
|
+
| `ZERNIO_API_URL` | Yes | Default `https://zernio.com/api/v1` — override only for regional / proxy deployments |
|
|
52
|
+
| `ZERNIO_PROFILE_ID` | Yes (for scheduling) | The profile you'll post from — find it in the Zernio dashboard |
|
|
53
|
+
| `ZERNIO_TIMEZONE` | Optional | IANA tz name (e.g. `America/New_York`); defaults to the profile's timezone |
|
|
54
|
+
| `ANTHROPIC_API_KEY` | Optional | Only for enhanced caption drafting in hybrid mode |
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
Re-run `node setup/setup.mjs` after editing `.env` to confirm everything is valid.
|
|
58
|
+
|
|
59
|
+
### Agent-only mode (no Zernio key needed)
|
|
60
|
+
|
|
61
|
+
If you just want to plan, write captions, and produce dry-run manifests without touching the Zernio API, skip the key entirely:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
node setup/setup.mjs --skip-verify
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
The operator falls back cleanly to `agent-only` mode and produces manifests with `"dryRun": true` that you can submit manually later.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Open Your IDE
|
|
72
|
+
|
|
73
|
+
Point your IDE's Working Directory at this exported folder. The agent entrypoint is `workers/zernio-social-operator/CLAUDE.md`.
|
|
74
|
+
|
|
75
|
+
### macOS
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
open .
|
|
79
|
+
# or specifically:
|
|
80
|
+
open -a "Claude" . # Claude Desktop with this folder
|
|
81
|
+
code . # VS Code / Cursor
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Windows (PowerShell)
|
|
85
|
+
|
|
86
|
+
```powershell
|
|
87
|
+
start .
|
|
88
|
+
# or specifically:
|
|
89
|
+
code . # VS Code / Cursor
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Linux
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
xdg-open .
|
|
96
|
+
code .
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Any of these IDEs can drive the operator from this folder:
|
|
100
|
+
|
|
101
|
+
- Claude Code (CLI)
|
|
102
|
+
- Claude Desktop
|
|
103
|
+
- Codex
|
|
104
|
+
- Cursor
|
|
105
|
+
- Gemini CLI
|
|
106
|
+
- OpenCode
|
|
107
|
+
- Qwen Code CLI
|
|
108
|
+
- Open Agents
|
|
109
|
+
|
|
110
|
+
See `docs/local-adapters.md` for per-IDE setup notes + optional MCP server install.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## What the per-OS paths look like
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
| OS | Exported kit path after `growthub kit download` |
|
|
118
|
+
| ------- | ---------------------------------------------------------------------------------- |
|
|
119
|
+
| macOS | `~/paperclip/kits/exports/growthub-agent-worker-kit-zernio-social-v1/` |
|
|
120
|
+
| Linux | `~/paperclip/kits/exports/growthub-agent-worker-kit-zernio-social-v1/` |
|
|
121
|
+
| Windows | `%USERPROFILE%\paperclip\kits\exports\growthub-agent-worker-kit-zernio-social-v1\` |
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
Override the export path with `--out <path>` on `growthub kit download`.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Execution Modes
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
| Mode | Requirements | Use When |
|
|
132
|
+
| ----------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
133
|
+
| `api-live` | Valid `ZERNIO_API_KEY` + at least one connected account on a profile | You want to schedule posts and queues via the live Zernio API |
|
|
134
|
+
| `agent-only` | Nothing — Claude Code handles everything | You need campaign planning, calendars, and captions without touching the Zernio API |
|
|
135
|
+
| `hybrid` | `ANTHROPIC_API_KEY` + valid `ZERNIO_API_KEY` | Enhanced caption drafting via Anthropic plus live Zernio scheduling |
|
|
136
|
+
| `postiz-ui-shell` | `api-live` / `hybrid` + the Postiz kit (`growthub-postiz-social-v1`) running | You want Postiz's UI (calendar, compose, analytics shell) with Zernio as the transport engine. See `docs/postiz-ui-shell-integration.md` for the 7-module bridge. |
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
**Agent-only mode is always valid.** Zernio reachability never blocks campaign planning.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## First Run
|
|
144
|
+
|
|
145
|
+
1. Tell the operator: **"Plan a 30-day Instagram + LinkedIn campaign for [your brand]"**
|
|
146
|
+
2. The operator asks the 4-question gate (client, platforms, objective, cadence)
|
|
147
|
+
3. The operator runs the 10-step workflow and produces all campaign artifacts
|
|
148
|
+
4. Output is saved to `output/<client-slug>/<project-slug>/`
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## New Client Setup
|
|
153
|
+
|
|
154
|
+
See `brands/NEW-CLIENT.md` for instructions on adding a new client brand kit.
|
|
155
|
+
|
|
156
|
+
Quick version:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
cp brands/_template/brand-kit.md brands/<client-slug>/brand-kit.md
|
|
160
|
+
# Then fill in the fields in the new file
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Available Commands
|
|
166
|
+
|
|
167
|
+
Tell the operator which you need:
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
| Command | What It Does |
|
|
171
|
+
| ------------------- | -------------------------------------------------------------------- |
|
|
172
|
+
| `/zernio campaign` | Full campaign brief + content calendar + publishing plan |
|
|
173
|
+
| `/zernio calendar` | Content calendar only — existing brief provided |
|
|
174
|
+
| `/zernio captions` | Caption copy deck for a specific platform or batch |
|
|
175
|
+
| `/zernio schedule` | Generate Zernio-shaped scheduling manifest (`POST /api/v1/posts`) |
|
|
176
|
+
| `/zernio queue` | Define or update a recurring Zernio queue (time slots) |
|
|
177
|
+
| `/zernio analytics` | Analytics briefing from Zernio API metrics or provided data |
|
|
178
|
+
| `/zernio inbox` | Draft replies for DMs, comments, reviews in the Zernio unified inbox |
|
|
179
|
+
| `/zernio proposal` | Client-ready proposal with platform mix and ROI projection |
|
|
180
|
+
| `/zernio platforms` | Platform coverage report for a specific client context |
|
|
181
|
+
| `/zernio quick` | 30-second campaign snapshot for a domain or brand |
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Key Files
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
| File | Purpose |
|
|
190
|
+
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
|
|
191
|
+
| `setup/setup.mjs` | **One-command cross-platform bootstrap — start here** |
|
|
192
|
+
| `setup/verify-env.mjs` | Validates `ZERNIO_API_KEY` + live reachability |
|
|
193
|
+
| `setup/check-deps.mjs` | Cross-platform Node dependency check (Windows parity) |
|
|
194
|
+
| `setup/check-deps.sh` | Legacy Unix bash dependency check (Mac / Linux) |
|
|
195
|
+
| `setup/install-mcp.mjs` | Prints per-IDE MCP config JSON for plugging in Zernio's official MCP server |
|
|
196
|
+
| `workers/zernio-social-operator/CLAUDE.md` | Agent operating instructions |
|
|
197
|
+
| `skills.md` | Full methodology — read at every session |
|
|
198
|
+
| `brands/_template/brand-kit.md` | Blank brand kit template |
|
|
199
|
+
| `brands/growthub/brand-kit.md` | Growthub reference example |
|
|
200
|
+
| `output/README.md` | Output directory structure and naming |
|
|
201
|
+
| `docs/zernio-api-integration.md` | How this kit integrates with Zernio (REST contract + plans + capability surface) |
|
|
202
|
+
| `docs/platform-coverage.md` | All 14 supported platforms with format specs |
|
|
203
|
+
| `docs/ai-caption-layer.md` | AI caption generation methodology |
|
|
204
|
+
| `docs/posts-and-queues-layer.md` | Scheduling manifest + queue format for Zernio API |
|
|
205
|
+
| `docs/local-adapters.md` | Per-IDE setup matrix (Claude Code / Desktop / Codex / Cursor / Gemini / OpenCode / Qwen / Open Agents) |
|
|
206
|
+
| `docs/postiz-ui-shell-integration.md` | Optional — run this kit as the engine under the Postiz UI shell |
|
|
207
|
+
| `validation-checklist.md` | Pre-session checklist |
|
|
208
|
+
|
|
209
|
+
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Adding a New Client
|
|
2
|
+
|
|
3
|
+
This guide explains how to create a brand kit for a new client in the Zernio Social Media Studio.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Steps
|
|
8
|
+
|
|
9
|
+
### 1. Copy the Template
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
cp brands/_template/brand-kit.md brands/<client-slug>/brand-kit.md
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Replace `<client-slug>` with a lowercase, hyphenated version of the client name. Examples:
|
|
16
|
+
- "Urban Cycle" → `urban-cycle`
|
|
17
|
+
- "Acme SaaS Corp" → `acme-saas`
|
|
18
|
+
- "The Bloom Studio" → `bloom-studio`
|
|
19
|
+
|
|
20
|
+
### 2. Fill in the Brand Kit
|
|
21
|
+
|
|
22
|
+
Open the new file and fill in every section:
|
|
23
|
+
|
|
24
|
+
- **Client Identity** — name, slug, industry, website
|
|
25
|
+
- **Zernio Account Context** — profile id, timezone, API key scope
|
|
26
|
+
- **Social Media Presence** — existing accounts with Zernio platform ids and account ids
|
|
27
|
+
- **Target Audience** — primary and secondary audience profiles
|
|
28
|
+
- **Campaign Objectives** — metrics, targets, and timelines
|
|
29
|
+
- **Brand Voice** — tone, personality, approved/blocked words, emoji usage
|
|
30
|
+
- **Content Theme Pillars** — 3–5 recurring themes with platform assignments
|
|
31
|
+
- **Competitor Reference Accounts** — 2–3 accounts to reference for format benchmarking
|
|
32
|
+
- **Benchmark Reference** (optional) — baseline engagement rates per platform
|
|
33
|
+
- **Agency Context** — engagement stage, retainer, reporting cadence
|
|
34
|
+
|
|
35
|
+
### 3. Verify the Brand Kit
|
|
36
|
+
|
|
37
|
+
Before using the brand kit in a session, confirm:
|
|
38
|
+
|
|
39
|
+
- [ ] `client-slug` in the filename matches the `Client Slug` field in the kit
|
|
40
|
+
- [ ] At least one platform is listed in `Social Media Presence` with a Zernio platform id from `docs/platform-coverage.md`
|
|
41
|
+
- [ ] At least one campaign objective has a measurable target
|
|
42
|
+
- [ ] Brand voice section is complete — no empty `[fill in]` placeholders
|
|
43
|
+
- [ ] At least 3 content theme pillars are defined
|
|
44
|
+
- [ ] `Zernio profile id` either references a real `prof_...` or is tagged `placeholder` (agent-only mode)
|
|
45
|
+
|
|
46
|
+
### 4. Tell the Operator
|
|
47
|
+
|
|
48
|
+
Start your Claude Code session and say:
|
|
49
|
+
|
|
50
|
+
> "Load the brand kit for [client-name] and begin a [campaign objective] campaign."
|
|
51
|
+
|
|
52
|
+
The operator will read the brand kit and ask the 4-question gate before producing any output.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Brand Kit Naming Rules
|
|
57
|
+
|
|
58
|
+
| Rule | Correct | Incorrect |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| Directory name is lowercase kebab-case | `brands/urban-cycle/` | `brands/UrbanCycle/` |
|
|
61
|
+
| Filename is always `brand-kit.md` | `brands/urban-cycle/brand-kit.md` | `brands/urban-cycle/UrbanCycle.md` |
|
|
62
|
+
| Slug contains no spaces | `acme-saas` | `acme saas` |
|
|
63
|
+
| Slug contains no special chars | `bloom-studio` | `bloom/studio` |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Note on Public Brand Kits
|
|
68
|
+
|
|
69
|
+
Brand kits are **not included in kit exports by default**. The only brand kits included in exports are:
|
|
70
|
+
|
|
71
|
+
- `brands/_template/brand-kit.md` — the blank template
|
|
72
|
+
- `brands/growthub/brand-kit.md` — the public reference example
|
|
73
|
+
|
|
74
|
+
Client brand kits you create live in your local kit installation only. They are not bundled into the export zip or submitted to any external service.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Brand Kit — [Client Name]
|
|
2
|
+
|
|
3
|
+
<!-- Replace [Client Name] with the actual client name and rename this file to brands/<client-slug>/brand-kit.md -->
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Client Identity
|
|
8
|
+
|
|
9
|
+
| Field | Value |
|
|
10
|
+
|---|---|
|
|
11
|
+
| Client Name | [Client Name] |
|
|
12
|
+
| Client Slug | [client-slug] |
|
|
13
|
+
| Industry | [e.g., SaaS / E-commerce / Hospitality / Fintech] |
|
|
14
|
+
| Website | [https://...] |
|
|
15
|
+
| Primary Contact | [Name, email] |
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Zernio Account Context
|
|
20
|
+
|
|
21
|
+
| Field | Value |
|
|
22
|
+
|---|---|
|
|
23
|
+
| Zernio profile id | [prof_...] or `placeholder` in agent-only mode |
|
|
24
|
+
| Default posting timezone | [IANA tz, e.g., America/New_York] |
|
|
25
|
+
| API key scope | [read | read-write] |
|
|
26
|
+
| Profile-specific key? | [yes | no] |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Social Media Presence
|
|
31
|
+
|
|
32
|
+
| Platform | Zernio platform id | Account id / handle | Followers | Current Status |
|
|
33
|
+
|---|---|---|---|---|
|
|
34
|
+
| Instagram | `instagram` | [acc_ig_... or @handle] | [N] | [Active / Inactive / New] |
|
|
35
|
+
| LinkedIn | `linkedin` | [page id] | [N] | [Active / Inactive] |
|
|
36
|
+
| TikTok | `tiktok` | [acc_tt_...] | [N] | [Active / Inactive] |
|
|
37
|
+
| X/Twitter | `twitter` | [acc_x_...] | [N] | [Active / Inactive] |
|
|
38
|
+
| [Other] | [id] | [handle] | [N] | [Active / Inactive] |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Target Audience
|
|
43
|
+
|
|
44
|
+
### Primary Audience
|
|
45
|
+
|
|
46
|
+
| Attribute | Description |
|
|
47
|
+
|---|---|
|
|
48
|
+
| Age Range | [e.g., 25–40] |
|
|
49
|
+
| Gender | [e.g., 55% female, 45% male] |
|
|
50
|
+
| Location | [e.g., North America, English-speaking markets] |
|
|
51
|
+
| Interests | [e.g., entrepreneurship, productivity, design] |
|
|
52
|
+
| Pain Points | [e.g., too many disconnected tools, manual social media posting] |
|
|
53
|
+
| Content Preferences | [e.g., educational how-tos, success stories, data-driven insights] |
|
|
54
|
+
|
|
55
|
+
### Secondary Audience
|
|
56
|
+
|
|
57
|
+
| Attribute | Description |
|
|
58
|
+
|---|---|
|
|
59
|
+
| Age Range | [e.g., 18–25] |
|
|
60
|
+
| Interests | [e.g., tech, side projects] |
|
|
61
|
+
| Platform | [e.g., TikTok, Reddit] |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Campaign Objectives
|
|
66
|
+
|
|
67
|
+
| Objective | Metric | Target | Timeline |
|
|
68
|
+
|---|---|---|---|
|
|
69
|
+
| [Brand awareness] | [Impressions] | [50,000/month] | [Q2 2026] |
|
|
70
|
+
| [Lead generation] | [Link clicks] | [200/month] | [Q2 2026] |
|
|
71
|
+
| [Community growth] | [Follower growth] | [+500] | [Q2 2026] |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Brand Voice
|
|
76
|
+
|
|
77
|
+
| Attribute | Spec |
|
|
78
|
+
|---|---|
|
|
79
|
+
| Tone | [e.g., Professional but approachable. Data-driven without being dry. Never salesy.] |
|
|
80
|
+
| Personality | [e.g., Smart, helpful, occasionally witty] |
|
|
81
|
+
| Words to Use | [e.g., "build", "grow", "automate", "team", "results"] |
|
|
82
|
+
| Words to Avoid | [e.g., "hack", "guru", "crush it", "cheap", "amazing"] |
|
|
83
|
+
| Emoji Usage | [e.g., Minimal on LinkedIn; moderate on Instagram; more on TikTok] |
|
|
84
|
+
| CTA Style | [e.g., Direct action verbs: "Start today", "Learn more", "Join the team"] |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Content Theme Pillars
|
|
89
|
+
|
|
90
|
+
| Pillar | Description | Platforms | % of Calendar |
|
|
91
|
+
|---|---|---|---|
|
|
92
|
+
| [Industry Insights] | [What we know that others don't — data, trends, analysis] | [All] | [40%] |
|
|
93
|
+
| [Product Value] | [Feature spotlights, use cases, ROI stories] | [LinkedIn, Instagram] | [30%] |
|
|
94
|
+
| [Social Proof] | [Customer testimonials, case studies, results] | [All] | [20%] |
|
|
95
|
+
| [Community] | [Q&A, behind the scenes, team moments] | [Instagram, TikTok] | [10%] |
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Competitor Reference Accounts
|
|
100
|
+
|
|
101
|
+
| Platform | Account | Why Reference |
|
|
102
|
+
|---|---|---|
|
|
103
|
+
| [Instagram] | [@competitor] | [Strong visual brand, good engagement format] |
|
|
104
|
+
| [LinkedIn] | [competitor company page] | [Industry leader, consistent posting cadence] |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Agency Context
|
|
109
|
+
|
|
110
|
+
| Field | Value |
|
|
111
|
+
|---|---|
|
|
112
|
+
| Engagement Stage | [Prospect / Onboarding / Retained] |
|
|
113
|
+
| Monthly Retainer | [e.g., $X,XXX/month or "not established"] |
|
|
114
|
+
| Campaign Budget | [e.g., $X,XXX / campaign or "TBD"] |
|
|
115
|
+
| Reporting Cadence | [e.g., Monthly analytics brief] |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## CRM Notes
|
|
120
|
+
|
|
121
|
+
<!-- Internal notes for agency context. Not included in client-facing outputs. -->
|
|
122
|
+
|
|
123
|
+
[Add internal notes here: key contacts, relationship history, upsell opportunities, account health signals]
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## DELIVERABLES LOG
|
|
128
|
+
|
|
129
|
+
<!-- Append a line for each completed deliverable. -->
|
|
130
|
+
|
|
131
|
+
<!-- - YYYY-MM-DD | Social Media Campaign Package v1 — [Project Name] | output/<client-slug>/<project-slug>/ -->
|