@veleads/gtm 0.2.1 → 0.3.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 (43) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +16 -16
  3. package/dist/cli.js +143 -93
  4. package/kit/AGENTS.md +63 -63
  5. package/kit/providers/_template.md +1 -1
  6. package/kit/schemas/account.schema.json +2 -2
  7. package/kit/schemas/campaign-config.schema.json +3 -3
  8. package/kit/schemas/contact.schema.json +2 -2
  9. package/kit/schemas/icp.schema.json +3 -3
  10. package/kit/schemas/lead.schema.json +2 -2
  11. package/kit/schemas/{client.schema.json → project.schema.json} +7 -7
  12. package/kit/schemas/signal.schema.json +2 -2
  13. package/kit/schemas/signals.schema.json +3 -3
  14. package/kit/skills/00-intake/SKILL.md +12 -12
  15. package/kit/skills/01-icp/SKILL.md +9 -9
  16. package/kit/skills/02-tam/SKILL.md +5 -5
  17. package/kit/skills/03-enrich/SKILL.md +1 -1
  18. package/kit/skills/04-qualify/SKILL.md +4 -4
  19. package/kit/skills/05-copy/SKILL.md +6 -6
  20. package/kit/skills/06-qa/SKILL.md +2 -2
  21. package/kit/skills/07-launch/SKILL.md +3 -3
  22. package/kit/skills/08-results/SKILL.md +4 -4
  23. package/kit/templates/campaign/brief.md +1 -1
  24. package/kit/templates/campaign/config.yaml +3 -3
  25. package/kit/templates/outputs/qa-report.md +1 -1
  26. package/kit/templates/outputs/run-log.md +1 -1
  27. package/kit/templates/outputs/weekly-report.md +1 -1
  28. package/kit/templates/{client → project}/icp.md +1 -1
  29. package/kit/templates/{client → project}/icp.yaml +2 -2
  30. package/kit/templates/{client → project}/intake.md +11 -11
  31. package/kit/templates/{client → project}/offer.md +1 -1
  32. package/kit/templates/{client → project}/personas.md +1 -1
  33. package/kit/templates/project/project.yaml +12 -0
  34. package/kit/templates/{client → project}/proof.md +1 -1
  35. package/kit/templates/{client → project}/signals.yaml +2 -2
  36. package/kit/templates/{client → project}/voice.md +1 -1
  37. package/kit/templates/repo/{CLIENT.md → PROJECT.md} +5 -5
  38. package/kit/templates/repo/README.md +9 -9
  39. package/kit/templates/repo/github/workflows/gtm-upgrade.yml +10 -12
  40. package/kit/templates/repo/github/workflows/gtm.yml +14 -8
  41. package/kit/templates/repo/package.json +1 -2
  42. package/package.json +1 -1
  43. package/kit/templates/client/client.yaml +0 -12
package/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to `@veleads/gtm`. Each entry is tagged: **no action**, **op
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.3.0] - 2026-10-24
9
+ - **migration** "Clients" are now **projects**: one private repo = one project.
10
+ `client.yaml` → `project.yaml`, `CLIENT.md` → `PROJECT.md`, `client_id` → `project_id` in every YAML
11
+ file (all kinds now version 2), `owners.client_approver` → `owners.approver`, project status
12
+ `churned` → `closed`. `gtm migrate` (run by `gtm upgrade`) renames the files and keys in place,
13
+ keeping comments; existing ICP/copy approvals stay valid. New repos are named `gtm-project-<slug>`.
14
+ - **action** Approvals are recorded as name and role, e.g. `--by "Maria Chen (VP Marketing)"`.
15
+ - **action** Project repos no longer require pnpm. New repos default to npm (no `packageManager` pin),
16
+ and every command is `npx gtm <command>`. CI and `gtm upgrade` use whichever package manager the
17
+ repo's committed lockfile belongs to (npm, pnpm or yarn). Existing repos: copy the CI workflows from
18
+ `.gtm/templates/repo/github/workflows/` after upgrading.
19
+
8
20
  ## [0.2.1] - 2026-10-24
9
21
  - **no action** The npm package now has a README (what it is, quick start, commands, guidance for
10
22
  coding agents).
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @veleads/gtm
2
2
 
3
- CLI and process kit for **gtm-brain**: run outbound for many clients with one standard,
4
- agent-agnostic process. Each client gets its own **private** git repo; this package scaffolds it,
3
+ CLI and process kit for **gtm-brain**: run outbound for many projects with one standard,
4
+ agent-agnostic process. Each project gets its own **private** git repo; this package scaffolds it,
5
5
  keeps its playbooks in sync with the core, validates it, and upgrades it safely.
6
6
 
7
7
  Works with Claude Code, Codex, or any coding agent that can read files and run shell commands.
@@ -9,41 +9,41 @@ Source: [Veleads/gtm-core](https://github.com/Veleads/gtm-core) · MIT
9
9
 
10
10
  ## Quick start
11
11
 
12
- Requires Node.js 22+ and pnpm (`corepack enable`, or use `npx pnpm@10`).
12
+ Requires Node.js 22+. npm is enough; pnpm or yarn work too (the repo follows whichever lockfile you commit).
13
13
 
14
14
  ```bash
15
15
  npx @veleads/gtm init acme --name "Acme Corp"
16
- cd gtm-client-acme
17
- pnpm install
18
- pnpm gtm status
19
- pnpm gtm validate
16
+ cd gtm-project-acme
17
+ npm install
18
+ npx gtm status
19
+ npx gtm validate
20
20
  ```
21
21
 
22
22
  Push the new folder to a **private** repository, then open it in your coding agent. The generated
23
23
  `AGENTS.md` tells the agent how to work in the repo, starting at stage `00-intake`.
24
24
 
25
- ## What you get in a client repo
25
+ ## What you get in a project repo
26
26
 
27
27
  | Path | What | Edit? |
28
28
  |---|---|---|
29
29
  | `AGENTS.md` | operator manual: session start, 9-stage routing, hard stops, data rules | no, generated by `gtm sync` |
30
30
  | `.gtm/` | stage playbooks (Agent Skills), templates, JSON schemas, provider docs | no, generated by `gtm sync` |
31
- | `CLIENT.md` | client-specific rules that add to the process | yes |
32
- | `client.yaml`, `context/` | owners, ICP (md + yaml), signals, personas, offer, proof, voice | yes |
31
+ | `PROJECT.md` | project-specific rules that add to the process | yes |
32
+ | `project.yaml`, `context/` | owners, ICP (md + yaml), signals, personas, offer, proof, voice | yes |
33
33
  | `campaigns/<id>/` | brief, config, copy, QA report, run logs | yes |
34
34
 
35
- Stages: intake → ICP (**client sign-off**) → TAM → enrich → qualify → copy (**client sign-off**) →
35
+ Stages: intake → ICP (**sign-off**) → TAM → enrich → qualify → copy (**sign-off**) →
36
36
  QA → launch (**go/no-go**) → results. ICP and copy approvals are pinned to the approved content:
37
37
  editing either afterwards makes `gtm validate` fail until it's re-approved.
38
38
 
39
39
  ## Commands
40
40
 
41
- Run inside a client repo as `pnpm gtm <command>`. `gtm <command> --help` shows usage, **what the
41
+ Run inside a project repo as `npx gtm <command>` (whichever package manager installed it). `gtm <command> --help` shows usage, **what the
42
42
  command writes**, and examples, without running it.
43
43
 
44
44
  | Command | What it does | Writes |
45
45
  |---|---|---|
46
- | `init <slug> --name "<Name>"` | scaffold a new client repo | new folder |
46
+ | `init <slug> --name "<Name>"` | scaffold a new project repo | new folder |
47
47
  | `new-campaign <slug>` | scaffold `campaigns/<slug>/` | that folder |
48
48
  | `validate [campaign]` | schemas, gates, cross-references, no lead data, core sync | nothing |
49
49
  | `status` | campaigns, stages, gates | nothing |
@@ -58,7 +58,7 @@ Exit codes: `0` success, `1` failure or validation errors.
58
58
 
59
59
  ## For coding agents
60
60
 
61
- - Inside a client repo, **read `AGENTS.md` first** and follow it; then `CLIENT.md`.
61
+ - Inside a project repo, **read `AGENTS.md` first** and follow it; then `PROJECT.md`.
62
62
  - Read-only commands are always safe: `validate`, `status`, `sync --check`, `migrate --dry-run`,
63
63
  and any `--help`.
64
64
  - Never edit `AGENTS.md` or `.gtm/`. Never run `gtm approve` unless a named human explicitly approved
@@ -67,6 +67,6 @@ Exit codes: `0` success, `1` failure or validation errors.
67
67
 
68
68
  ## Upgrades
69
69
 
70
- Client repos pin an exact version. New releases arrive as a pull request from the repo's weekly
71
- `gtm-upgrade` workflow, or via `pnpm gtm upgrade`. Breaking YAML changes ship with automatic
70
+ Project repos pin an exact version. New releases arrive as a pull request from the repo's weekly
71
+ `gtm-upgrade` workflow, or via `npx gtm upgrade`. Breaking YAML changes ship with automatic
72
72
  migrations; see [CHANGELOG.md](https://github.com/Veleads/gtm-core/blob/main/CHANGELOG.md).