thumbgate 1.23.1 ā 1.23.2
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/.claude-plugin/marketplace.json +5 -5
- package/.claude-plugin/plugin.json +2 -2
- package/.well-known/llms.txt +26 -11
- package/.well-known/mcp/server-card.json +8 -8
- package/README.md +69 -34
- package/adapters/claude/.mcp.json +2 -2
- package/adapters/mcp/server-stdio.js +1 -1
- package/adapters/opencode/opencode.json +1 -1
- package/bin/cli.js +39 -16
- package/bin/postinstall.js +11 -22
- package/config/gate-templates.json +72 -0
- package/config/github-about.json +1 -1
- package/config/post-deploy-marketing-pages.json +6 -1
- package/package.json +5 -5
- package/public/agent-manager.html +3 -3
- package/public/agents-cost-savings.html +3 -3
- package/public/ai-malpractice-prevention.html +278 -7
- package/public/blog.html +3 -3
- package/public/codex-enterprise.html +3 -3
- package/public/codex-plugin.html +4 -4
- package/public/compare.html +6 -6
- package/public/dashboard.html +211 -126
- package/public/guide.html +5 -5
- package/public/index.html +156 -47
- package/public/learn.html +24 -10
- package/public/lessons.html +2 -2
- package/public/numbers.html +6 -6
- package/public/pricing.html +6 -5
- package/public/pro.html +1 -0
- package/scripts/billing.js +17 -0
- package/scripts/commercial-offer.js +4 -1
- package/scripts/dashboard.js +53 -1
- package/scripts/gates-engine.js +3 -3
- package/scripts/plausible-server-events.js +2 -1
- package/scripts/rate-limiter.js +16 -12
- package/scripts/seo-gsd.js +167 -1
- package/scripts/telemetry-analytics.js +310 -0
- package/scripts/visitor-journey.js +172 -0
- package/src/api/server.js +65 -29
- package/adapters/chatgpt/openapi.yaml +0 -1705
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "thumbgate-marketplace",
|
|
3
|
-
"version": "1.23.
|
|
3
|
+
"version": "1.23.2",
|
|
4
4
|
"owner": {
|
|
5
5
|
"name": "Igor Ganapolsky",
|
|
6
6
|
"email": "ig5973700@gmail.com"
|
|
@@ -9,18 +9,18 @@
|
|
|
9
9
|
{
|
|
10
10
|
"name": "thumbgate",
|
|
11
11
|
"description": "One š becomes a hard rule the agent cannot bypass. Captures thumbs-down feedback, distills it into PreToolUse Pre-Action Checks, enforced across every future Claude Code session.",
|
|
12
|
-
"longDescription": "ThumbGate is a tripwire, not a memory layer. When you thumbs-down an agent action ā a force-push that overwrote a teammate's commit, a destructive SQL drop, a refactor you already rejected ā ThumbGate captures the pattern, distills a one-sentence lesson, and installs it as a PreToolUse block. The next time the agent reaches for the same tool call shape, the hook fires before execution and Claude sees your own words back as the reason.\n\nThe enforcement lives in the hook, not in the model's context, so the agent cannot bypass it by forgetting, by being prompted around it, or by switching sessions. Same rule works in Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, and OpenCode.\n\n33 pre-action checks shipped (force-push, destructive SQL, mass-delete, npm publish from wrong branch, deploy without verification). Budget enforcement (action count + time limits) prevents runaway agent sessions. NIST / SOC2 / OWASP / CWE compliance tags on every rule for enterprise teams. DPO training-pair export for teams running their own fine-tunes.\n\nFree tier:
|
|
12
|
+
"longDescription": "ThumbGate is a tripwire, not a memory layer. When you thumbs-down an agent action ā a force-push that overwrote a teammate's commit, a destructive SQL drop, a refactor you already rejected ā ThumbGate captures the pattern, distills a one-sentence lesson, and installs it as a PreToolUse block. The next time the agent reaches for the same tool call shape, the hook fires before execution and Claude sees your own words back as the reason.\n\nThe enforcement lives in the hook, not in the model's context, so the agent cannot bypass it by forgetting, by being prompted around it, or by switching sessions. Same rule works in Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, and OpenCode.\n\n33 pre-action checks shipped (force-push, destructive SQL, mass-delete, npm publish from wrong branch, deploy without verification). Budget enforcement (action count + time limits) prevents runaway agent sessions. NIST / SOC2 / OWASP / CWE compliance tags on every rule for enterprise teams. DPO training-pair export for teams running their own fine-tunes.\n\nFree tier: 5 feedback captures/day, 25 total captures, 3 active auto-promoted prevention rules, fully offline. Pro ($19/mo): hosted sync across machines and agent runtimes, dashboard, audit export.",
|
|
13
13
|
"source": {
|
|
14
14
|
"source": "npm",
|
|
15
15
|
"package": "thumbgate"
|
|
16
16
|
},
|
|
17
|
-
"version": "1.23.
|
|
17
|
+
"version": "1.23.2",
|
|
18
18
|
"author": {
|
|
19
19
|
"name": "Igor Ganapolsky",
|
|
20
20
|
"email": "ig5973700@gmail.com",
|
|
21
21
|
"url": "https://thumbgate.ai"
|
|
22
22
|
},
|
|
23
|
-
"homepage": "https://thumbgate
|
|
23
|
+
"homepage": "https://thumbgate.ai",
|
|
24
24
|
"repository": "https://github.com/IgorGanapolsky/ThumbGate",
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"category": "developer-tools",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"installCommand": "/plugin install thumbgate@claude-plugins-official",
|
|
61
61
|
"metadata": {
|
|
62
62
|
"author": "Igor Ganapolsky",
|
|
63
|
-
"homepage": "https://thumbgate
|
|
63
|
+
"homepage": "https://thumbgate.ai",
|
|
64
64
|
"license": "MIT",
|
|
65
65
|
"keywords": [
|
|
66
66
|
"guardrails",
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "thumbgate",
|
|
3
3
|
"description": "One š becomes a hard rule the agent cannot bypass. Captures thumbs-down feedback, distills it into PreToolUse Pre-Action Checks, enforced across every future Claude Code session.",
|
|
4
|
-
"version": "1.23.
|
|
4
|
+
"version": "1.23.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Igor Ganapolsky",
|
|
7
7
|
"email": "ig5973700@gmail.com",
|
|
8
8
|
"url": "https://thumbgate.ai"
|
|
9
9
|
},
|
|
10
|
-
"homepage": "https://thumbgate
|
|
10
|
+
"homepage": "https://thumbgate.ai",
|
|
11
11
|
"repository": "https://github.com/IgorGanapolsky/ThumbGate",
|
|
12
12
|
"license": "MIT",
|
|
13
13
|
"category": "developer-tools",
|
package/.well-known/llms.txt
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# ThumbGate ā Stop AI agents before they make costly mistakes.
|
|
2
|
-
# https://thumbgate
|
|
2
|
+
# https://thumbgate.ai
|
|
3
3
|
# https://github.com/IgorGanapolsky/ThumbGate
|
|
4
4
|
# https://www.npmjs.com/package/thumbgate
|
|
5
5
|
|
|
@@ -24,6 +24,15 @@
|
|
|
24
24
|
4. PreToolUse hooks block the pattern before it executes again
|
|
25
25
|
5. Thompson Sampling adapts gate confidence over time
|
|
26
26
|
|
|
27
|
+
## Agentic development cycle fit
|
|
28
|
+
|
|
29
|
+
ThumbGate maps to Guide, Generate, Verify, Solve by adding a pre-action execution gate:
|
|
30
|
+
|
|
31
|
+
- Guide: feedback and policies become concrete rules
|
|
32
|
+
- Generate: agents still produce plans, edits, and tool calls
|
|
33
|
+
- Verify: risky actions require evidence before execution
|
|
34
|
+
- Solve: blocked failures become reusable lessons and prevention gates
|
|
35
|
+
|
|
27
36
|
## Who it's for
|
|
28
37
|
|
|
29
38
|
- Developers using Claude Code, Cursor, Codex, Gemini CLI, or any MCP-compatible agent
|
|
@@ -40,22 +49,28 @@ npx thumbgate init --agent claude-code
|
|
|
40
49
|
## Pricing
|
|
41
50
|
|
|
42
51
|
- Free GPT: advice, checkpointing, and setup help in ChatGPT
|
|
43
|
-
- Free local CLI:
|
|
44
|
-
- Pro: $19/mo or $149/yr ā personal enforcement proof, local dashboard, check debugger, DPO export, and review-ready exports
|
|
52
|
+
- Free local CLI: 5 captures/day, 25 total captures, up to 3 active auto-promoted prevention rules, and local Pre-Action Checks after install (recall and lesson search are Pro-only)
|
|
53
|
+
- Pro: $19/mo or $149/yr ā personal enforcement proof, local dashboard, check debugger, DPO export, synced lessons/rules across machines, and review-ready exports
|
|
45
54
|
- Team: $49/seat/mo, 3-seat minimum after intake ā shared lessons, org visibility, approval boundaries, and rollout proof
|
|
46
55
|
|
|
47
56
|
## Links
|
|
48
57
|
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
- Agent
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
58
|
+
- Home: https://thumbgate.ai/
|
|
59
|
+
- Pricing: https://thumbgate.ai/pricing
|
|
60
|
+
- Pro checkout: https://thumbgate.ai/checkout/pro
|
|
61
|
+
- Agent discovery: https://thumbgate.ai/.well-known/mcp.json
|
|
62
|
+
- Progressive tool index: https://thumbgate.ai/.well-known/mcp/tools.json
|
|
63
|
+
- Context footprint report: https://thumbgate.ai/.well-known/mcp/footprint.json
|
|
64
|
+
- AI Mode ads and agent governance: https://thumbgate.ai/guides/ai-mode-ads-agent-governance
|
|
65
|
+
- MCP tool governance: https://thumbgate.ai/guides/mcp-tool-governance
|
|
66
|
+
- AI agent pre-action approval gates: https://thumbgate.ai/guides/ai-agent-pre-action-approval-gates
|
|
67
|
+
- Agent skills: https://thumbgate.ai/.well-known/mcp/skills.json
|
|
68
|
+
- MCP applications: https://thumbgate.ai/.well-known/mcp/applications.json
|
|
69
|
+
- Documentation: https://thumbgate.ai/guide
|
|
70
|
+
- Dashboard: https://thumbgate.ai/dashboard
|
|
56
71
|
- GitHub: https://github.com/IgorGanapolsky/ThumbGate
|
|
57
72
|
- npm: https://www.npmjs.com/package/thumbgate
|
|
58
|
-
- Full LLM context: https://thumbgate
|
|
73
|
+
- Full LLM context: https://thumbgate.ai/llm-context.md
|
|
59
74
|
|
|
60
75
|
## Compared to alternatives
|
|
61
76
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "thumbgate",
|
|
3
|
-
"version": "1.23.
|
|
3
|
+
"version": "1.23.2",
|
|
4
4
|
"description": "ThumbGate ā šš feedback that teaches your AI agent. Thumbs down a mistake, it never happens again.",
|
|
5
|
-
"homepage": "https://thumbgate
|
|
5
|
+
"homepage": "https://thumbgate.ai",
|
|
6
6
|
"transport": "stdio",
|
|
7
7
|
"discovery": {
|
|
8
|
-
"manifestUrl": "https://thumbgate
|
|
9
|
-
"toolIndexUrl": "https://thumbgate
|
|
10
|
-
"toolSchemaUrlTemplate": "https://thumbgate
|
|
11
|
-
"footprintUrl": "https://thumbgate
|
|
12
|
-
"skillsUrl": "https://thumbgate
|
|
13
|
-
"applicationsUrl": "https://thumbgate
|
|
8
|
+
"manifestUrl": "https://thumbgate.ai/.well-known/mcp.json",
|
|
9
|
+
"toolIndexUrl": "https://thumbgate.ai/.well-known/mcp/tools.json",
|
|
10
|
+
"toolSchemaUrlTemplate": "https://thumbgate.ai/.well-known/mcp/tools/{name}.json",
|
|
11
|
+
"footprintUrl": "https://thumbgate.ai/.well-known/mcp/footprint.json",
|
|
12
|
+
"skillsUrl": "https://thumbgate.ai/.well-known/mcp/skills.json",
|
|
13
|
+
"applicationsUrl": "https://thumbgate.ai/.well-known/mcp/applications.json"
|
|
14
14
|
}
|
|
15
15
|
}
|
package/README.md
CHANGED
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
</a>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
|
-
**AI agents repeat mistakes.
|
|
9
|
+
**AI agents repeat mistakes. In regulated industries, one wrong action is a liability event.**
|
|
10
10
|
|
|
11
|
-
ThumbGate
|
|
11
|
+
ThumbGate is deterministic pre-action governance for AI agents. From developer workflows to legal intake to financial compliance ā one rule blocks unauthorized actions before they execute, across every session, every agent, every model.
|
|
12
|
+
|
|
13
|
+
The product is a self-improving enforcement layer: thumbs-down feedback, prompt evaluation, and proof from prior runs become prevention rules that permanently stop repeated failures before the next tool call.
|
|
12
14
|
|
|
13
15
|
```
|
|
14
16
|
Agent tries: rm -rf tests/
|
|
@@ -22,7 +24,11 @@ ThumbGate remembers what went wrong and permanently blocks it before it happens
|
|
|
22
24
|
npx thumbgate init # auto-detects your agent, wires hooks, 30 seconds
|
|
23
25
|
```
|
|
24
26
|
|
|
25
|
-
Works with **Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode** and any MCP-compatible agent.
|
|
27
|
+
Works with **Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode** and any MCP-compatible agent.
|
|
28
|
+
|
|
29
|
+
**Free:** 5 feedback captures/day (25 total captures), 3 active auto-promoted prevention rules, all MCP integrations, local-first.
|
|
30
|
+
**[Pro ā $19/mo or $149/yr](https://thumbgate.ai/checkout/pro?utm_source=github&utm_medium=readme):** no limits on captures or rules, history-aware lessons, feedback sessions, hosted dashboard, DPO export.
|
|
31
|
+
**Team ā $49/seat/mo:** shared hosted lesson DB, org dashboard, approval boundaries.
|
|
26
32
|
|
|
27
33
|
[](https://github.com/IgorGanapolsky/ThumbGate/actions/workflows/ci.yml)
|
|
28
34
|
[](https://www.npmjs.com/package/thumbgate)
|
|
@@ -38,11 +44,24 @@ Works with **Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode** and
|
|
|
38
44
|
|
|
39
45
|
---
|
|
40
46
|
|
|
47
|
+
## Agentic development cycle fit
|
|
48
|
+
|
|
49
|
+
Agentic development is becoming a loop: **Guide ā Generate ā Verify ā Solve**. ThumbGate gives that loop a hard execution boundary.
|
|
50
|
+
|
|
51
|
+
- **Guide:** standards, prior thumbs-downs, and approval policies become concrete context.
|
|
52
|
+
- **Generate:** Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode, and MCP agents keep producing plans and tool calls.
|
|
53
|
+
- **Verify:** risky actions need evidence before execution, not just after PR review.
|
|
54
|
+
- **Solve:** blocked failures become reusable lessons, shared prevention rules, DPO exports, and audit events.
|
|
55
|
+
|
|
56
|
+
In that stack, ThumbGate is the pre-action gate between generated intent and executed action.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
41
60
|
## š¬ 90-second demo
|
|
42
61
|
|
|
43
62
|
Watch the force-push scenario: agent tries to `git push --force`, one thumbs-down, next session it's blocked ā zero tokens spent on the repeat.
|
|
44
63
|
|
|
45
|
-
[**ā¶ Watch the 90-second demo**](https://thumbgate
|
|
64
|
+
[**ā¶ Watch the 90-second demo**](https://thumbgate.ai/#demo?utm_source=github&utm_medium=readme&utm_campaign=demo_video) Ā· [Script](docs/marketing/demo-video-script.md) Ā· [ElevenLabs narration: `npm run demo:voiceover`](scripts/generate-demo-voiceover.js)
|
|
46
65
|
|
|
47
66
|
<!-- Video embed lives on the landing page and YouTube. Script + voiceover automation ship with the repo so anyone can re-record. -->
|
|
48
67
|
|
|
@@ -52,7 +71,7 @@ Watch the force-push scenario: agent tries to `git push --force`, one thumbs-dow
|
|
|
52
71
|
|
|
53
72
|
If someone is not already bought into ThumbGate, do not lead with architecture. Lead with one repeated mistake.
|
|
54
73
|
|
|
55
|
-
1. **Show the pain:** open the **[ThumbGate GPT](https://thumbgate
|
|
74
|
+
1. **Show the pain:** open the **[ThumbGate GPT](https://thumbgate.ai/go/gpt?utm_source=github&utm_medium=readme&utm_campaign=first_dollar_activation&cta_id=readme_first_dollar_open_gpt&cta_placement=readme_first_dollar)** and paste the bad answer, risky command, deploy, PR action, or agent plan before it runs again.
|
|
56
75
|
2. **Capture the lesson:** type `thumbs down:` or `thumbs up:` with one concrete sentence. Native ChatGPT rating buttons are not the ThumbGate capture path; typed feedback is.
|
|
57
76
|
3. **Enforce the repeat:** run `npx thumbgate init` where the agent executes so the lesson can become one of your Pre-Action Checks instead of another reminder.
|
|
58
77
|
4. **Upgrade only after proof:** Solo Pro is for the dashboard, DPO export, proof-ready evidence, and higher capture limits after one real blocked repeat. Team starts with the Workflow Hardening Sprint around one repeated failure, one owner, and one proof review.
|
|
@@ -210,7 +229,7 @@ Claude renders the live ThumbGate footer today. `npx thumbgate init --agent code
|
|
|
210
229
|
|
|
211
230
|
Open the Codex plugin install page or download the standalone bundle from GitHub Releases. The Codex launcher resolves `thumbgate@latest` when MCP and hooks start, so published npm fixes reach active Codex installs without hand-editing `~/.codex/config.toml`.
|
|
212
231
|
|
|
213
|
-
1. Install page: [thumbgate
|
|
232
|
+
1. Install page: [thumbgate.ai/codex-plugin](https://thumbgate.ai/codex-plugin)
|
|
214
233
|
2. Direct zip: [thumbgate-codex-plugin.zip](https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip)
|
|
215
234
|
3. Follow: [plugins/codex-profile/INSTALL.md](plugins/codex-profile/INSTALL.md)
|
|
216
235
|
|
|
@@ -246,6 +265,7 @@ ThumbGate sells three concrete outcomes:
|
|
|
246
265
|
|
|
247
266
|
## Use Cases
|
|
248
267
|
|
|
268
|
+
### Developer Workflows
|
|
249
269
|
- **Stop force-push to main** ā Check blocks `git push --force` on protected branches before it runs
|
|
250
270
|
- **Prevent repeated migration failures** ā Each mistake becomes a searchable lesson that fires before the next attempt
|
|
251
271
|
- **Block unauthorized file edits** ā Control which files agents can touch with path-based rules
|
|
@@ -253,6 +273,14 @@ ThumbGate sells three concrete outcomes:
|
|
|
253
273
|
- **Shared team safety** ā One developer's thumbs-down protects the whole team
|
|
254
274
|
- **Auto-improving without feedback** ā Self-improvement mode evaluates outcomes and generates rules automatically
|
|
255
275
|
|
|
276
|
+
### Enterprise & Regulated Industries
|
|
277
|
+
- **Legal AI intake governance** ā Block unauthorized practice of law (ABA Rule 5.5), require conflict-of-interest clearance before fact collection (Rules 1.7/1.9/1.10), prevent privileged content from leaving firm boundaries (Rule 1.6)
|
|
278
|
+
- **Financial compliance** ā Gate AI-generated trade recommendations, block unauthorized disclosures, enforce approval chains before customer-facing outputs
|
|
279
|
+
- **Healthcare** ā Prevent AI agents from providing medical diagnoses, enforce HIPAA-compliant data routing, require clinician review before patient-facing content
|
|
280
|
+
- **Audit trail** ā Every gate decision (block, allow, reroute) is preserved with rule version, timestamp, and reviewer path for compliance review
|
|
281
|
+
|
|
282
|
+
[See the legal-intake demo ā](https://thumbgate.ai/dashboard)
|
|
283
|
+
|
|
256
284
|
---
|
|
257
285
|
|
|
258
286
|
## Built-in Checks
|
|
@@ -290,30 +318,34 @@ npx thumbgate bench --programbench-smoke # include cleanroom whole-repo proof l
|
|
|
290
318
|
|
|
291
319
|
## Pricing
|
|
292
320
|
|
|
293
|
-
| | Free | Pro ($19/mo) | Team ($49/seat/mo) |
|
|
294
|
-
|
|
295
|
-
| Local CLI + enforced checks | ā
| ā
| ā
|
|
|
296
|
-
| Feedback captures
|
|
297
|
-
| Auto-promoted prevention rules |
|
|
298
|
-
| MCP agent integrations | All | All | All |
|
|
299
|
-
| Personal dashboard | ā | ā
| ā
|
|
|
300
|
-
| DPO export (model fine-tuning) | ā | ā
| ā
|
|
|
301
|
-
| Team lesson export/import | ā | ā
| ā
|
|
|
302
|
-
| Shared hosted lesson DB | ā | ā | ā
|
|
|
303
|
-
| Org-wide dashboard | ā | ā | ā
|
|
|
304
|
-
| Approval + audit proof | ā | ā | ā
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
321
|
+
| | Free | Pro ($19/mo) | Team ($49/seat/mo) | Enterprise |
|
|
322
|
+
|---|---|---|---|---|
|
|
323
|
+
| Local CLI + enforced checks | ā
| ā
| ā
| ā
|
|
|
324
|
+
| Feedback captures | 5/day, 25 total | Unlimited | Unlimited | Unlimited |
|
|
325
|
+
| Auto-promoted prevention rules | 3 active | Unlimited | Unlimited | Unlimited |
|
|
326
|
+
| MCP agent integrations | All | All | All | All |
|
|
327
|
+
| Personal dashboard | ā | ā
| ā
| ā
|
|
|
328
|
+
| DPO export (model fine-tuning) | ā | ā
| ā
| ā
|
|
|
329
|
+
| Team lesson export/import | ā | ā
| ā
| ā
|
|
|
330
|
+
| Shared hosted lesson DB | ā | ā | ā
| ā
|
|
|
331
|
+
| Org-wide dashboard | ā | ā | ā
| ā
|
|
|
332
|
+
| Approval + audit proof | ā | ā | ā
| ā
|
|
|
333
|
+
| Regulatory gate templates | ā | ā | ā | ā
|
|
|
334
|
+
| Custom policy layers (firm/practice-area) | ā | ā | ā | ā
|
|
|
335
|
+
| Compliance audit export | ā | ā | ā | ā
|
|
|
336
|
+
| Dedicated onboarding + SLA | ā | ā | ā | ā
|
|
|
337
|
+
|
|
338
|
+
The free tier gives you 5 feedback captures/day, 25 total captures, and up to 3 active auto-promoted prevention rules ā enough to prove value without replacing Pro for daily operators. MCP integrations for all agents (Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode) ship free.
|
|
339
|
+
|
|
340
|
+
Pro ($19/mo or $149/yr) removes the capture/rule caps and adds history-aware lesson recall, lesson search, DPO export, hosted sync, and a personal dashboard. Team ($49/seat/mo) adds a shared hosted lesson DB, org dashboard, and shared enforcement across the org. Enterprise adds regulatory gate templates (legal intake, financial compliance, healthcare), custom policy layers scoped to firm/practice-area, compliance audit export, and dedicated onboarding with SLA.
|
|
341
|
+
|
|
342
|
+
**Best first paid motion for teams:** the **Workflow Hardening Sprint** ā qualify one repeated failure before committing to a full rollout. **[Start intake ā](https://thumbgate.ai/?utm_source=github&utm_medium=readme&utm_campaign=team_rollout#workflow-sprint-intake)**
|
|
311
343
|
|
|
312
344
|
**Best first technical motion:** install the CLI-first and let `init` wire hooks for the agent you already use.
|
|
313
345
|
|
|
314
|
-
**Paid path for individual operators:** [ThumbGate Pro](https://thumbgate
|
|
346
|
+
**Paid path for individual operators:** [ThumbGate Pro](https://thumbgate.ai/checkout/pro?utm_source=github&utm_medium=readme&utm_campaign=pro_page) is the self-serve side lane for a personal dashboard and export-ready evidence.
|
|
315
347
|
|
|
316
|
-
**[Start free](https://thumbgate
|
|
348
|
+
**[Start free](https://thumbgate.ai/?utm_source=github&utm_medium=readme)** Ā· **[See Pro](https://thumbgate.ai/checkout/pro?utm_source=github&utm_medium=readme)** Ā· **[Team Sprint intake](https://thumbgate.ai/?utm_source=github&utm_medium=readme#workflow-sprint-intake)**
|
|
317
349
|
|
|
318
350
|
---
|
|
319
351
|
|
|
@@ -394,7 +426,7 @@ curl -X POST http://localhost:3456/v1/dpo/export \
|
|
|
394
426
|
| Layer | Technology |
|
|
395
427
|
|-------|-----------|
|
|
396
428
|
| **Storage** | SQLite + FTS5, LanceDB vectors, JSONL logs |
|
|
397
|
-
| **Capture** |
|
|
429
|
+
| **Capture** | 10/day on Free; unlimited on Pro/Team |
|
|
398
430
|
| **Intelligence** | MemAlign dual recall, Thompson Sampling |
|
|
399
431
|
| **Enforcement** | PreToolUse hook engine, Checks config |
|
|
400
432
|
| **Interfaces** | MCP stdio, HTTP API, CLI (Node.js >=18) |
|
|
@@ -406,17 +438,19 @@ Every Changeset is tied to the exact `main` merge commit and generates Verificat
|
|
|
406
438
|
|
|
407
439
|
---
|
|
408
440
|
|
|
409
|
-
**Popular buyer questions:** **[AI search topical presence](https://thumbgate
|
|
441
|
+
**Popular buyer questions:** **[AI search topical presence](https://thumbgate.ai/guides/ai-search-topical-presence?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Relational knowledge and AI recommendations](https://thumbgate.ai/guides/relational-knowledge-ai-recommendations?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Background agent governance](https://thumbgate.ai/guides/background-agent-governance?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[GPT-5.5 model evaluation](https://thumbgate.ai/guides/gpt-5-5-model-evaluation?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Stop repeated AI agent mistakes](https://thumbgate.ai/guides/stop-repeated-ai-agent-mistakes?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Browser automation safety](https://thumbgate.ai/guides/browser-automation-safety?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Native messaging host security](https://thumbgate.ai/guides/native-messaging-host-security?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Autoresearch agent safety](https://thumbgate.ai/guides/autoresearch-agent-safety?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Cursor guardrails](https://thumbgate.ai/guides/cursor-agent-guardrails?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Codex CLI guardrails](https://thumbgate.ai/guides/codex-cli-guardrails?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Gemini CLI memory + enforcement](https://thumbgate.ai/guides/gemini-cli-feedback-memory?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Google Cloud MCP guardrails](https://thumbgate.ai/guides/gcp-mcp-guardrails?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[Roo Code alternative: migrate to Cline](https://thumbgate.ai/guides/roo-code-alternative-cline?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)**
|
|
442
|
+
|
|
443
|
+
**Conversational ad / AI-search answer assets:** **[AI Mode ads for agent governance](https://thumbgate.ai/guides/ai-mode-ads-agent-governance?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[MCP tool governance](https://thumbgate.ai/guides/mcp-tool-governance?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** Ā· **[AI agent pre-action approval gates](https://thumbgate.ai/guides/ai-agent-pre-action-approval-gates?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)**
|
|
410
444
|
|
|
411
|
-
**[Workflow Hardening Sprint](https://thumbgate
|
|
445
|
+
**[Workflow Hardening Sprint](https://thumbgate.ai/?utm_source=github&utm_medium=readme&utm_campaign=top_cta#workflow-sprint-intake)** Ā· **[Live Dashboard](https://thumbgate.ai/dashboard?utm_source=github&utm_medium=readme&utm_campaign=top_cta)**
|
|
412
446
|
|
|
413
447
|
---
|
|
414
448
|
|
|
415
449
|
## Integrations
|
|
416
450
|
|
|
417
|
-
- **[Open ThumbGate GPT](https://thumbgate
|
|
451
|
+
- **[Open ThumbGate GPT](https://thumbgate.ai/go/gpt?utm_source=github&utm_medium=readme&utm_campaign=readme_gpt)** ā ThumbGate GPT: start here. Paste agent actions, get advice + checkpointing. No, users do not have to keep chatting inside the ThumbGate GPT to use ThumbGate ā the hard enforcement layer still runs where the work happens.
|
|
418
452
|
- **[Claude Desktop Extension](https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-claude-desktop.mcpb)** ā One-click install for Claude Desktop
|
|
419
|
-
- **[Codex Plugin](https://thumbgate
|
|
453
|
+
- **[Codex Plugin](https://thumbgate.ai/codex-plugin)** ā Auto-updating standalone bundle and install page for Codex CLI
|
|
420
454
|
- **[VS Code / Open VSX Extension](plugins/vscode-extension/README.md)** ā Marketplace-ready MCP provider and `.vscode/mcp.json` fallback for VS Code-compatible IDEs
|
|
421
455
|
- **[Antigravity-compatible VSIX](plugins/antigravity-extension/INSTALL.md)** ā Open VSX/direct VSIX install path while Antigravity-specific marketplace support is still unproven
|
|
422
456
|
- **[JetBrains Plugin Scaffold](plugins/jetbrains-plugin/README.md)** ā IntelliJ/PyCharm Marketplace path for the same `thumbgate@latest` runtime
|
|
@@ -455,15 +489,15 @@ Those are suggestions the agent can ignore. ThumbGate checks are enforced ā th
|
|
|
455
489
|
If it supports MCP or pre-action hooks, yes. Claude Code, Claude Desktop, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode all work out of the box.
|
|
456
490
|
|
|
457
491
|
**Is it free?**
|
|
458
|
-
The free tier gives you
|
|
492
|
+
The free tier gives you 5 feedback captures/day, 25 total captures, and up to 3 active auto-promoted prevention rules. MCP integrations ship free for every agent.
|
|
459
493
|
|
|
460
|
-
Pro ($19/mo or $149/yr) removes the rule
|
|
494
|
+
Pro ($19/mo or $149/yr) removes the capture/rule caps and adds history-aware lesson recall, lesson search, hosted sync, and a personal dashboard. Team ($49/seat/mo) adds a shared hosted lesson DB, org dashboard, and shared enforcement.
|
|
461
495
|
|
|
462
496
|
---
|
|
463
497
|
|
|
464
498
|
## Docs
|
|
465
499
|
|
|
466
|
-
- [**ThumbGate for Federal Agencies**](docs/FEDERAL.md) ā pilot-ready posture, NIST 800-53 control mapping, OMB M-24-10 / EO 14110 alignment, ThumbGate-Core gov deployment mode, public/Core boundary invariants. Landing page: [thumbgate.ai/federal](https://thumbgate
|
|
500
|
+
- [**ThumbGate for Federal Agencies**](docs/FEDERAL.md) ā pilot-ready posture, NIST 800-53 control mapping, OMB M-24-10 / EO 14110 alignment, ThumbGate-Core gov deployment mode, public/Core boundary invariants. Landing page: [thumbgate.ai/federal](https://thumbgate.ai/federal).
|
|
467
501
|
- [First Dollar Playbook](docs/FIRST_DOLLAR_PLAYBOOK.md) ā turning one painful workflow into the next booked pilot
|
|
468
502
|
- [Commercial Truth](docs/COMMERCIAL_TRUTH.md) ā pricing, claims, what we don't say
|
|
469
503
|
- [Goal Contracts](docs/GOAL_CONTRACTS.md) ā evidence-before-done contracts for multi-agent handoffs
|
|
@@ -476,6 +510,7 @@ Pro ($19/mo or $149/yr) removes the rule cap and adds history-aware lesson recal
|
|
|
476
510
|
- [SEO Guide: Claude Code Guardrails](docs/learn/claude-code-guardrails.md)
|
|
477
511
|
- [Unsupervised Learning Signals](docs/UL.md) ā silent-failure clustering (experimental, behind `THUMBGATE_SILENT_FAILURE_CLUSTERING=1`; only useful on workspaces with ā„ 50 tool calls/day)
|
|
478
512
|
- [ThumbGate-Core](https://github.com/IgorGanapolsky/ThumbGate-Core) ā private core for hosted overlays, ranking, policy synthesis, billing intelligence, and org/team workflows
|
|
513
|
+
- [mac-yolo-safeguards](https://github.com/IgorGanapolsky/mac-yolo-safeguards?utm_source=thumbgate&utm_medium=readme&utm_campaign=companion_kit) ā OS-level companion kit (macOS). ThumbGate stops the agent from billing you for repeated mistakes (token-layer governance). mac-yolo-safeguards stops the agent from freezing your Mac when it spawns runaway processes (OS-layer blast-radius containment). Same author, MIT, no telemetry.
|
|
479
514
|
|
|
480
515
|
---
|
|
481
516
|
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"thumbgate": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--yes", "--package", "thumbgate@1.23.
|
|
5
|
+
"args": ["--yes", "--package", "thumbgate@1.23.2", "thumbgate", "serve"]
|
|
6
6
|
}
|
|
7
7
|
},
|
|
8
8
|
"hooks": {
|
|
9
9
|
"preToolUse": {
|
|
10
10
|
"command": "npx",
|
|
11
|
-
"args": ["--yes", "--package", "thumbgate@1.23.
|
|
11
|
+
"args": ["--yes", "--package", "thumbgate@1.23.2", "thumbgate", "gate-check"]
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -216,7 +216,7 @@ const {
|
|
|
216
216
|
finalizeSession: finalizeFeedbackSession,
|
|
217
217
|
} = require('../../scripts/feedback-session');
|
|
218
218
|
|
|
219
|
-
const SERVER_INFO = { name: 'thumbgate-mcp', version: '1.23.
|
|
219
|
+
const SERVER_INFO = { name: 'thumbgate-mcp', version: '1.23.2' };
|
|
220
220
|
const COMMERCE_CATEGORIES = [
|
|
221
221
|
'product_recommendation',
|
|
222
222
|
'brand_compliance',
|
package/bin/cli.js
CHANGED
|
@@ -50,9 +50,12 @@ const COMMAND = process.argv[2];
|
|
|
50
50
|
const CWD = process.cwd();
|
|
51
51
|
const PKG_ROOT = path.join(__dirname, '..');
|
|
52
52
|
|
|
53
|
-
const PRO_URL = 'https://thumbgate
|
|
53
|
+
const PRO_URL = 'https://thumbgate.ai';
|
|
54
54
|
const PRO_CHECKOUT_URL = PRO_MONTHLY_PAYMENT_LINK;
|
|
55
|
-
|
|
55
|
+
// Mirrors scripts/rate-limiter.js TRIAL_DAYS ā must stay in sync. Gitar
|
|
56
|
+
// caught a 14-vs-7 mismatch on PR #2337 (banner said "7-day trial" but
|
|
57
|
+
// the date label was computed 14 days out).
|
|
58
|
+
const TRIAL_DAYS = 7;
|
|
56
59
|
|
|
57
60
|
function checkoutUrlFor(source, content) {
|
|
58
61
|
try {
|
|
@@ -67,6 +70,19 @@ function checkoutUrlFor(source, content) {
|
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
|
|
73
|
+
function pricingUrlFor(source, content) {
|
|
74
|
+
try {
|
|
75
|
+
const url = new URL('/pricing', PRO_URL);
|
|
76
|
+
url.searchParams.set('utm_source', source || 'cli');
|
|
77
|
+
url.searchParams.set('utm_medium', 'cli');
|
|
78
|
+
url.searchParams.set('utm_campaign', 'pro_education');
|
|
79
|
+
if (content) url.searchParams.set('utm_content', content);
|
|
80
|
+
return url.toString();
|
|
81
|
+
} catch (_) {
|
|
82
|
+
return `${PRO_URL}/pricing`;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
70
86
|
function trialDeadlineLabel(now = new Date()) {
|
|
71
87
|
const deadline = new Date(now.getTime() + (TRIAL_DAYS * 24 * 60 * 60 * 1000));
|
|
72
88
|
return deadline.toISOString().slice(0, 10);
|
|
@@ -78,11 +94,13 @@ function upgradeNudge() {
|
|
|
78
94
|
const { isProTier } = require(path.join(PKG_ROOT, 'scripts', 'rate-limiter'));
|
|
79
95
|
if (isProTier()) return;
|
|
80
96
|
} catch (_) { return; }
|
|
97
|
+
const pricingUrl = pricingUrlFor('cli_upgrade_nudge', COMMAND || 'general');
|
|
81
98
|
process.stderr.write(
|
|
82
99
|
'\n Team rollout: start with the Workflow Hardening Sprint\n' +
|
|
83
|
-
' https://thumbgate
|
|
100
|
+
' https://thumbgate.ai/#workflow-sprint-intake\n' +
|
|
84
101
|
`\n Solo side lane: Pro ā ${PRO_PRICE_LABEL}\n` +
|
|
85
|
-
|
|
102
|
+
' Keeps lessons, rules, and the dashboard synced across machines and agent runtimes.\n' +
|
|
103
|
+
` ${pricingUrl}\n\n`
|
|
86
104
|
);
|
|
87
105
|
}
|
|
88
106
|
|
|
@@ -139,7 +157,7 @@ function telemetryPing(installId) {
|
|
|
139
157
|
timestamp: new Date().toISOString(),
|
|
140
158
|
};
|
|
141
159
|
appendLocalTelemetry(payloadObject);
|
|
142
|
-
const apiUrl = process.env.THUMBGATE_API_URL || 'https://thumbgate
|
|
160
|
+
const apiUrl = process.env.THUMBGATE_API_URL || 'https://thumbgate.ai';
|
|
143
161
|
const payload = JSON.stringify(payloadObject);
|
|
144
162
|
try {
|
|
145
163
|
const url = new URL('/v1/telemetry/ping', apiUrl);
|
|
@@ -159,10 +177,11 @@ function proNudge(context) {
|
|
|
159
177
|
if (isProTier()) return;
|
|
160
178
|
} catch (_) { /* if rate-limiter is unavailable, fall through and nudge */ }
|
|
161
179
|
const checkoutUrl = checkoutUrlFor('cli_nudge', context || COMMAND || 'general');
|
|
180
|
+
const pricingUrl = pricingUrlFor('cli_nudge', context || COMMAND || 'general');
|
|
162
181
|
const messages = [
|
|
163
|
-
`\n š”
|
|
164
|
-
`\n š” Pro
|
|
165
|
-
`\n š” ThumbGate Pro
|
|
182
|
+
`\n š” Pro (${PRO_PRICE_LABEL}): keep lessons, rules, and dashboard state synced across machines and agent runtimes.\n See pricing: ${pricingUrl}\n`,
|
|
183
|
+
`\n š” You just taught ThumbGate something locally. Pro keeps that lesson alive on every laptop, CI box, and agent runtime.\n See pricing: ${pricingUrl}\n`,
|
|
184
|
+
`\n š” ThumbGate Pro syncs lessons/rules across Claude, Codex, Cursor, containers, and CI. ${PRO_PRICE_LABEL}.\n Start Pro: ${checkoutUrl}\n`,
|
|
166
185
|
];
|
|
167
186
|
// Rotate message daily ā no Math.random (security policy)
|
|
168
187
|
const msg = messages[Math.floor(Date.now() / 86400000) % messages.length];
|
|
@@ -191,8 +210,8 @@ function printInitConversionPrompt(email) {
|
|
|
191
210
|
const checkoutUrl = checkoutUrlFor('cli_init', email ? 'init_email' : 'init_no_email');
|
|
192
211
|
console.log('');
|
|
193
212
|
console.log(' āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
194
|
-
console.log(` ā
|
|
195
|
-
console.log(' ā Pro
|
|
213
|
+
console.log(` ā 7-day Pro trial active through ${trialDeadlineLabel()}. ā`);
|
|
214
|
+
console.log(' ā Pro keeps lessons/rules/dashboard synced everywhere. ā');
|
|
196
215
|
console.log(' ā Add onboarding: npx thumbgate init --email you@company.com ā');
|
|
197
216
|
console.log(` ā Upgrade: ${checkoutUrl}`);
|
|
198
217
|
console.log(' āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
@@ -757,8 +776,11 @@ function init(cliArgs = parseArgs(process.argv.slice(3))) {
|
|
|
757
776
|
}
|
|
758
777
|
|
|
759
778
|
// ChatGPT ā cannot be automated
|
|
760
|
-
const chatgptSpec =
|
|
761
|
-
|
|
779
|
+
const chatgptSpec = [
|
|
780
|
+
path.join(PKG_ROOT, 'openapi', 'openapi.yaml'),
|
|
781
|
+
path.join(PKG_ROOT, 'adapters', 'chatgpt', 'openapi.yaml'),
|
|
782
|
+
].find((candidate) => fs.existsSync(candidate));
|
|
783
|
+
if (chatgptSpec) {
|
|
762
784
|
const projectChatgptSpec = path.join(thumbgateDir, 'chatgpt-openapi.yaml');
|
|
763
785
|
fs.copyFileSync(chatgptSpec, projectChatgptSpec);
|
|
764
786
|
console.log(` ChatGPT: import ${path.relative(CWD, projectChatgptSpec)} in GPT Builder > Actions`);
|
|
@@ -935,7 +957,7 @@ function capture() {
|
|
|
935
957
|
const pct = Math.round((capLimit.used / capLimit.limit) * 100);
|
|
936
958
|
console.log(` Usage : ${capLimit.used}/${capLimit.limit} captures today (${pct}%)`);
|
|
937
959
|
if (capLimit.remaining <= 1) {
|
|
938
|
-
console.log(` ā ļø Free tier limit reached. Upgrade to Pro for unlimited: https://thumbgate
|
|
960
|
+
console.log(` ā ļø Free tier limit reached. Upgrade to Pro for unlimited: https://thumbgate.ai/pro`);
|
|
939
961
|
}
|
|
940
962
|
}
|
|
941
963
|
console.log('');
|
|
@@ -1028,7 +1050,7 @@ function stats() {
|
|
|
1028
1050
|
console.log(` Estimated Operational Loss: $${payload.revenueAtRisk}`);
|
|
1029
1051
|
console.log(' Action Required: Run "npx thumbgate rules" to generate guardrails.');
|
|
1030
1052
|
console.log(' Strategic Recommendation: if this is a shared workflow problem, start the Workflow Hardening Sprint.');
|
|
1031
|
-
console.log(' Team intake: https://thumbgate
|
|
1053
|
+
console.log(' Team intake: https://thumbgate.ai/#workflow-sprint-intake');
|
|
1032
1054
|
console.log(' Solo side lane: npx thumbgate pro');
|
|
1033
1055
|
} else {
|
|
1034
1056
|
console.log('\nā
System is currently high-reliability. No immediate revenue loss detected.');
|
|
@@ -1145,13 +1167,14 @@ function pro() {
|
|
|
1145
1167
|
} = require(path.join(PKG_ROOT, 'scripts', 'pro-local-dashboard'));
|
|
1146
1168
|
|
|
1147
1169
|
function printProInfo() {
|
|
1148
|
-
const hostedUrl = 'https://thumbgate
|
|
1170
|
+
const hostedUrl = 'https://thumbgate.ai';
|
|
1149
1171
|
const truthUrl = 'https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/COMMERCIAL_TRUTH.md';
|
|
1150
1172
|
console.log('\nThumbGate Pro ā Local Dashboard');
|
|
1151
1173
|
console.log('ā'.repeat(50));
|
|
1152
1174
|
console.log('Self-serve side lane today: Pro ($19/mo or $149/yr).');
|
|
1153
1175
|
console.log('Every licensed Pro user gets a personal local dashboard on localhost.');
|
|
1154
1176
|
console.log('\nWhat is available:');
|
|
1177
|
+
console.log(' - Hosted sync: keep lessons, rules, and dashboard state aligned across laptops, CI, containers, and agent runtimes');
|
|
1155
1178
|
console.log(' - Local Pro dashboard: your own browser dashboard for search, gates, and DPO export');
|
|
1156
1179
|
console.log(' - Team rollout path: shared hosted lessons, org visibility, and workflow proof');
|
|
1157
1180
|
console.log(' - Commercial truth doc: source of truth for traction, pricing, and proof claims');
|
|
@@ -2112,7 +2135,7 @@ function backgroundGovernance() {
|
|
|
2112
2135
|
console.log(' - Run --check before dispatching an unattended PR job.');
|
|
2113
2136
|
console.log(' - Route protected branches and large blast-radius jobs to human review.');
|
|
2114
2137
|
console.log(' - Convert CI failures into thumbs-down lessons so repeats become Pre-Action Checks.');
|
|
2115
|
-
console.log('\nGuide: https://thumbgate
|
|
2138
|
+
console.log('\nGuide: https://thumbgate.ai/guides/background-agent-governance\n');
|
|
2116
2139
|
}
|
|
2117
2140
|
|
|
2118
2141
|
function optimize() {
|
package/bin/postinstall.js
CHANGED
|
@@ -26,32 +26,21 @@ const DASHBOARD_URL = 'https://thumbgate.ai/dashboard?utm_source=npm&utm_medium=
|
|
|
26
26
|
|
|
27
27
|
process.stderr.write(`
|
|
28
28
|
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā®
|
|
29
|
-
ā ThumbGate installed ā
|
|
29
|
+
ā ThumbGate installed ā 7-day Pro trial is live. ā
|
|
30
30
|
ā ā
|
|
31
|
-
ā
|
|
32
|
-
ā
|
|
33
|
-
ā unlimited captures) or upgrade to keep Pro. ā
|
|
31
|
+
ā Start now: npx thumbgate init ā
|
|
32
|
+
ā Updates: npx thumbgate subscribe you@company.comā
|
|
34
33
|
ā ā
|
|
35
|
-
ā
|
|
36
|
-
ā
|
|
37
|
-
ā npx thumbgate stats ā
|
|
38
|
-
ā ā
|
|
39
|
-
ā Get the 5-min setup guide + weekly tips: ā
|
|
40
|
-
ā npx thumbgate subscribe you@company.com ā
|
|
41
|
-
ā ā
|
|
42
|
-
ā See your gates firing live: ā
|
|
43
|
-
ā ${DASHBOARD_URL.slice(0, 47).padEnd(47, ' ')} ā
|
|
34
|
+
ā Free after trial: 3 rules, 5 captures/day. ā
|
|
35
|
+
ā Pro ($19/mo): unlimited everything. ā
|
|
44
36
|
ā°āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāÆ
|
|
45
37
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
Hosted dashboard ā no self-hosting needed
|
|
51
|
-
|
|
52
|
-
After the trial: ${PRO_PRICE_LABEL}
|
|
53
|
-
Upgrade: ${PRO_CTA_URL}
|
|
38
|
+
Trial unlocks: unlimited rules, lesson search, DPO export,
|
|
39
|
+
hosted dashboard. After 7 days, free tier limits apply.
|
|
40
|
+
Subscribe for the 5-min setup guide + weekly tips:
|
|
41
|
+
npx thumbgate subscribe you@company.com
|
|
54
42
|
|
|
55
|
-
|
|
43
|
+
Dashboard: ${DASHBOARD_URL}
|
|
44
|
+
Keep Pro: ${PRO_CTA_URL}
|
|
56
45
|
|
|
57
46
|
`);
|