thumbgate 1.2.0 → 1.4.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 (160) hide show
  1. package/.claude-plugin/README.md +4 -4
  2. package/.claude-plugin/marketplace.json +32 -13
  3. package/.claude-plugin/plugin.json +15 -2
  4. package/.well-known/llms.txt +60 -0
  5. package/.well-known/mcp/server-card.json +1 -1
  6. package/README.md +133 -23
  7. package/adapters/README.md +1 -1
  8. package/adapters/chatgpt/openapi.yaml +168 -0
  9. package/adapters/claude/.mcp.json +2 -2
  10. package/adapters/codex/config.toml +2 -2
  11. package/adapters/mcp/server-stdio.js +85 -2
  12. package/adapters/opencode/opencode.json +1 -1
  13. package/bin/cli.js +215 -19
  14. package/bin/postinstall.js +8 -2
  15. package/config/budget.json +18 -0
  16. package/config/gates/code-edit.json +61 -0
  17. package/config/gates/db-write.json +61 -0
  18. package/config/gates/default.json +154 -3
  19. package/config/gates/deploy.json +61 -0
  20. package/config/github-about.json +2 -1
  21. package/config/merge-quality-checks.json +23 -0
  22. package/config/model-tiers.json +11 -0
  23. package/openapi/openapi.yaml +168 -0
  24. package/package.json +47 -13
  25. package/plugins/claude-codex-bridge/.claude-plugin/plugin.json +1 -1
  26. package/plugins/claude-codex-bridge/.mcp.json +1 -1
  27. package/plugins/claude-codex-bridge/scripts/codex-bridge.js +1 -3
  28. package/plugins/codex-profile/.codex-plugin/plugin.json +1 -1
  29. package/plugins/codex-profile/.mcp.json +1 -1
  30. package/plugins/codex-profile/INSTALL.md +27 -4
  31. package/plugins/codex-profile/README.md +33 -9
  32. package/plugins/cursor-marketplace/.cursor-plugin/plugin.json +1 -1
  33. package/plugins/cursor-marketplace/README.md +2 -2
  34. package/plugins/cursor-marketplace/commands/capture-feedback.md +2 -2
  35. package/plugins/cursor-marketplace/rules/feedback-capture.mdc +3 -3
  36. package/plugins/cursor-marketplace/skills/capture-feedback/SKILL.md +3 -2
  37. package/plugins/opencode-profile/INSTALL.md +1 -1
  38. package/public/blog.html +73 -0
  39. package/public/compare/mem0.html +189 -0
  40. package/public/compare/speclock.html +180 -0
  41. package/public/compare.html +12 -4
  42. package/public/guide.html +5 -5
  43. package/public/guides/claude-code-prevent-repeated-mistakes.html +161 -0
  44. package/public/guides/codex-cli-guardrails.html +158 -0
  45. package/public/guides/cursor-prevent-repeated-mistakes.html +161 -0
  46. package/public/guides/pre-action-gates.html +162 -0
  47. package/public/guides/stop-repeated-ai-agent-mistakes.html +159 -0
  48. package/public/index.html +169 -70
  49. package/public/learn/ai-agent-persistent-memory.html +1 -0
  50. package/public/lessons.html +334 -17
  51. package/public/llm-context.md +140 -0
  52. package/public/pro.html +24 -22
  53. package/scripts/__pycache__/train_from_feedback.cpython-312.pyc +0 -0
  54. package/scripts/access-anomaly-detector.js +1 -1
  55. package/scripts/adk-consolidator.js +1 -5
  56. package/scripts/agent-security-hardening.js +4 -6
  57. package/scripts/agentic-data-pipeline.js +1 -3
  58. package/scripts/async-job-runner.js +1 -5
  59. package/scripts/audit-trail.js +7 -5
  60. package/scripts/background-agent-governance.js +2 -10
  61. package/scripts/billing.js +2 -16
  62. package/scripts/budget-enforcer.js +173 -0
  63. package/scripts/build-codex-plugin.js +152 -0
  64. package/scripts/capture-railway-diagnostics.sh +97 -0
  65. package/scripts/check-congruence.js +133 -15
  66. package/scripts/claude-feedback-sync.js +320 -0
  67. package/scripts/cli-telemetry.js +4 -1
  68. package/scripts/commercial-offer.js +5 -7
  69. package/scripts/content-engine/linkedin-content-generator.js +154 -0
  70. package/scripts/content-engine/output/linkedin-memento-validation.md +17 -0
  71. package/scripts/content-engine/output/linkedin-posts-2026-04-09.md +175 -0
  72. package/scripts/content-engine/reddit-thread-finder.js +154 -0
  73. package/scripts/context-engine.js +21 -6
  74. package/scripts/contextfs.js +33 -44
  75. package/scripts/dashboard.js +104 -0
  76. package/scripts/decision-journal.js +341 -0
  77. package/scripts/delegation-runtime.js +1 -5
  78. package/scripts/distribution-surfaces.js +26 -0
  79. package/scripts/document-intake.js +927 -0
  80. package/scripts/ephemeral-agent-store.js +1 -8
  81. package/scripts/evolution-state.js +1 -5
  82. package/scripts/experiment-tracker.js +1 -5
  83. package/scripts/export-databricks-bundle.js +1 -5
  84. package/scripts/export-hf-dataset.js +1 -5
  85. package/scripts/export-training.js +1 -5
  86. package/scripts/feedback-attribution.js +1 -16
  87. package/scripts/feedback-history-distiller.js +1 -16
  88. package/scripts/feedback-loop.js +17 -5
  89. package/scripts/feedback-root-consolidator.js +2 -21
  90. package/scripts/feedback-session.js +49 -0
  91. package/scripts/feedback-to-rules.js +188 -28
  92. package/scripts/filesystem-search.js +1 -9
  93. package/scripts/fs-utils.js +104 -0
  94. package/scripts/gates-engine.js +149 -4
  95. package/scripts/github-about.js +32 -8
  96. package/scripts/gtm-revenue-loop.js +1 -5
  97. package/scripts/harness-selector.js +148 -0
  98. package/scripts/hosted-job-launcher.js +1 -5
  99. package/scripts/hybrid-feedback-context.js +7 -33
  100. package/scripts/intervention-policy.js +753 -0
  101. package/scripts/lesson-db.js +3 -18
  102. package/scripts/lesson-inference.js +194 -16
  103. package/scripts/lesson-retrieval.js +60 -24
  104. package/scripts/llm-client.js +59 -0
  105. package/scripts/local-model-profile.js +18 -2
  106. package/scripts/managed-lesson-agent.js +183 -0
  107. package/scripts/marketing-experiment.js +8 -22
  108. package/scripts/meta-agent-loop.js +624 -0
  109. package/scripts/metered-billing.js +1 -1
  110. package/scripts/model-tier-router.js +10 -1
  111. package/scripts/money-watcher.js +1 -4
  112. package/scripts/obsidian-export.js +1 -5
  113. package/scripts/operational-integrity.js +369 -34
  114. package/scripts/org-dashboard.js +6 -1
  115. package/scripts/per-step-scoring.js +2 -4
  116. package/scripts/pr-manager.js +201 -19
  117. package/scripts/pro-features.js +3 -2
  118. package/scripts/prompt-dlp.js +3 -3
  119. package/scripts/prove-adapters.js +2 -5
  120. package/scripts/prove-attribution.js +1 -5
  121. package/scripts/prove-automation.js +3 -5
  122. package/scripts/prove-cloudflare-sandbox.js +1 -3
  123. package/scripts/prove-data-pipeline.js +1 -3
  124. package/scripts/prove-intelligence.js +1 -3
  125. package/scripts/prove-lancedb.js +1 -5
  126. package/scripts/prove-local-intelligence.js +1 -3
  127. package/scripts/prove-packaged-runtime.js +326 -0
  128. package/scripts/prove-predictive-insights.js +1 -3
  129. package/scripts/prove-runtime.js +13 -0
  130. package/scripts/prove-training-export.js +1 -3
  131. package/scripts/prove-workflow-contract.js +1 -5
  132. package/scripts/rate-limiter.js +6 -4
  133. package/scripts/reddit-dm-outreach.js +14 -4
  134. package/scripts/schedule-manager.js +3 -5
  135. package/scripts/security-scanner.js +448 -0
  136. package/scripts/self-distill-agent.js +579 -0
  137. package/scripts/semantic-dedup.js +115 -0
  138. package/scripts/skill-exporter.js +1 -3
  139. package/scripts/skill-generator.js +1 -5
  140. package/scripts/social-analytics/engagement-audit.js +1 -18
  141. package/scripts/social-analytics/pollers/linkedin.js +26 -16
  142. package/scripts/social-analytics/publishers/linkedin.js +1 -1
  143. package/scripts/social-analytics/publishers/zernio.js +51 -0
  144. package/scripts/social-pipeline.js +1 -3
  145. package/scripts/social-post-hourly.js +47 -4
  146. package/scripts/statusline-links.js +6 -5
  147. package/scripts/statusline-local-stats.js +2 -0
  148. package/scripts/statusline.sh +38 -7
  149. package/scripts/sync-branch-protection.js +340 -0
  150. package/scripts/tessl-export.js +1 -3
  151. package/scripts/thumbgate-search.js +32 -1
  152. package/scripts/tool-kpi-tracker.js +1 -1
  153. package/scripts/tool-registry.js +108 -4
  154. package/scripts/vector-store.js +1 -5
  155. package/scripts/weekly-auto-post.js +1 -1
  156. package/scripts/workflow-sentinel.js +205 -4
  157. package/skills/thumbgate/SKILL.md +2 -2
  158. package/src/api/server.js +273 -4
  159. package/scripts/social-analytics/db/social-analytics.db-shm +0 -0
  160. /package/scripts/social-analytics/db/{social-analytics.db-wal → analytics.sqlite} +0 -0
@@ -0,0 +1,189 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>ThumbGate vs Mem0 | Enforcement vs Memory for AI Agents</title>
7
+ <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
8
+ <meta name="description" content="Mem0 is memory. ThumbGate is memory plus enforcement. It captures thumbs-up/down feedback, promotes the signal into rules, and blocks repeat failures with pre-action gates.">
9
+ <meta name="keywords" content="ThumbGate vs Mem0, Mem0 alternative, AI agent memory enforcement, pre-action gates, feedback loop, AI coding agent guardrails">
10
+ <meta property="og:title" content="ThumbGate vs Mem0">
11
+ <meta property="og:description" content="Mem0 is memory. ThumbGate is memory plus enforcement. It captures thumbs-up/down feedback, promotes the signal into rules, and blocks repeat failures with pre-action gates.">
12
+ <meta property="og:type" content="article">
13
+ <meta property="og:url" content="https://thumbgate-production.up.railway.app/compare/mem0">
14
+ <link rel="canonical" href="https://thumbgate-production.up.railway.app/compare/mem0">
15
+ <link rel="llm-context" href="/public/llm-context.md" type="text/markdown">
16
+
17
+ <script type="application/ld+json">
18
+ {
19
+ "@context": "https://schema.org",
20
+ "@type": "TechArticle",
21
+ "headline": "ThumbGate vs Mem0 — Enforcement vs Memory for AI Agents",
22
+ "description": "Mem0 is memory. ThumbGate is memory plus enforcement. It captures thumbs-up/down feedback, promotes the signal into rules, and blocks repeat failures with pre-action gates.",
23
+ "author": {
24
+ "@type": "Person",
25
+ "name": "Igor Ganapolsky",
26
+ "url": "https://github.com/IgorGanapolsky"
27
+ },
28
+ "publisher": {
29
+ "@type": "Organization",
30
+ "name": "ThumbGate",
31
+ "url": "https://thumbgate-production.up.railway.app"
32
+ },
33
+ "datePublished": "2026-04-09",
34
+ "dateModified": "2026-04-09",
35
+ "mainEntityOfPage": "https://thumbgate-production.up.railway.app/compare/mem0",
36
+ "about": [
37
+ {"@type": "Thing", "name": "ThumbGate vs Mem0"},
38
+ {"@type": "Thing", "name": "AI agent memory enforcement"},
39
+ {"@type": "Thing", "name": "pre-action gates"}
40
+ ]
41
+ }
42
+ </script>
43
+
44
+ <script type="application/ld+json">
45
+ {
46
+ "@context": "https://schema.org",
47
+ "@type": "FAQPage",
48
+ "mainEntity": [
49
+ {
50
+ "@type": "Question",
51
+ "name": "Does ThumbGate still include memory?",
52
+ "acceptedAnswer": {
53
+ "@type": "Answer",
54
+ "text": "Yes. ThumbGate keeps local-first memory, ContextFS packs, lesson search, and recall, but adds pre-action enforcement when memory alone is insufficient."
55
+ }
56
+ },
57
+ {
58
+ "@type": "Question",
59
+ "name": "Why compare Mem0 at all?",
60
+ "acceptedAnswer": {
61
+ "@type": "Answer",
62
+ "text": "Because buyers often start with memory tooling and only later realize they also need enforcement. This page makes that upgrade path explicit."
63
+ }
64
+ },
65
+ {
66
+ "@type": "Question",
67
+ "name": "Is Mem0 bad?",
68
+ "acceptedAnswer": {
69
+ "@type": "Answer",
70
+ "text": "No. Mem0 is useful when you mainly need retrieval and cross-session context. ThumbGate is useful when retrieval alone is not enough and the system has to stop the same mistake before execution."
71
+ }
72
+ },
73
+ {
74
+ "@type": "Question",
75
+ "name": "Can I migrate from Mem0 to ThumbGate?",
76
+ "acceptedAnswer": {
77
+ "@type": "Answer",
78
+ "text": "ThumbGate does not require migrating away from Mem0. You can add ThumbGate as the enforcement layer while keeping any existing memory system for retrieval."
79
+ }
80
+ },
81
+ {
82
+ "@type": "Question",
83
+ "name": "Does ThumbGate require a cloud account?",
84
+ "acceptedAnswer": {
85
+ "@type": "Answer",
86
+ "text": "No. ThumbGate is local-first with SQLite+FTS5 storage. No cloud account, no API keys needed to capture feedback and enforce pre-action gates."
87
+ }
88
+ }
89
+ ]
90
+ }
91
+ </script>
92
+
93
+ <link rel="stylesheet" href="/learn/learn.css">
94
+ </head>
95
+ <body>
96
+
97
+ <nav>
98
+ <a href="/" class="brand">ThumbGate</a>
99
+ <a href="/guide">Setup Guide</a>
100
+ <a href="/learn">Learn</a>
101
+ <a href="/dashboard">Dashboard</a>
102
+ <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub</a>
103
+ </nav>
104
+
105
+ <div class="container">
106
+ <div class="breadcrumb"><a href="/learn">Learn</a> / <a href="/compare/mem0">Compare</a> / ThumbGate vs Mem0</div>
107
+ <h1>ThumbGate vs Mem0</h1>
108
+ <p style="color:var(--muted);">3 min read &middot; Bottom-of-funnel comparison for buyers choosing between memory and enforcement</p>
109
+
110
+ <div class="tldr"><strong>TL;DR:</strong> Mem0 is memory. ThumbGate is memory plus enforcement. It captures thumbs-up/down feedback, promotes the signal into rules, and blocks repeat failures with pre-action gates.</div>
111
+
112
+ <h2>Where Mem0 fits</h2>
113
+ <p>Mem0 is designed as a cloud memory layer. It helps the model remember context and past interactions, but memory alone does not guarantee that the next action is safe.</p>
114
+
115
+ <h2>Where ThumbGate fits</h2>
116
+ <p>ThumbGate begins with the same need to remember, but it goes further. A thumbs down can become a prevention rule, and that rule can become a pre-action gate that blocks a repeated tool call.</p>
117
+ <ul>
118
+ <li>Thumbs up reinforces good behavior.</li>
119
+ <li>Thumbs down blocks repeated mistakes.</li>
120
+ <li>Verification evidence and automation reports back up the reliability claim.</li>
121
+ </ul>
122
+
123
+ <table style="width:100%;border-collapse:collapse;margin:1.5rem 0;">
124
+ <thead>
125
+ <tr style="border-bottom:2px solid var(--border, #333);">
126
+ <th style="text-align:left;padding:8px;">Capability</th>
127
+ <th style="text-align:center;padding:8px;">ThumbGate</th>
128
+ <th style="text-align:center;padding:8px;">Mem0</th>
129
+ </tr>
130
+ </thead>
131
+ <tbody>
132
+ <tr><td style="padding:8px;">Cross-session memory</td><td style="text-align:center;">Yes (local-first)</td><td style="text-align:center;">Yes (cloud)</td></tr>
133
+ <tr><td style="padding:8px;">Pre-action gate enforcement</td><td style="text-align:center;">Yes</td><td style="text-align:center;">No</td></tr>
134
+ <tr><td style="padding:8px;">Thumbs-up/down feedback</td><td style="text-align:center;">Yes</td><td style="text-align:center;">No</td></tr>
135
+ <tr><td style="padding:8px;">Prevention rule generation</td><td style="text-align:center;">Automatic</td><td style="text-align:center;">No</td></tr>
136
+ <tr><td style="padding:8px;">Multi-agent support</td><td style="text-align:center;">6 agents</td><td style="text-align:center;">API-based</td></tr>
137
+ <tr><td style="padding:8px;">Local-first / no cloud required</td><td style="text-align:center;">Yes</td><td style="text-align:center;">No</td></tr>
138
+ <tr><td style="padding:8px;">Thompson Sampling scoring</td><td style="text-align:center;">Yes</td><td style="text-align:center;">No</td></tr>
139
+ <tr><td style="padding:8px;">Verification evidence</td><td style="text-align:center;">Yes</td><td style="text-align:center;">No</td></tr>
140
+ </tbody>
141
+ </table>
142
+
143
+ <div class="callout">
144
+ <strong>The upgrade path:</strong> Buyers often start with memory tooling and only later realize they also need enforcement. ThumbGate makes that upgrade path explicit: keep memory, add gates.
145
+ </div>
146
+
147
+ <h2>Install ThumbGate</h2>
148
+ <pre><code>npx thumbgate init --agent claude-code</code></pre>
149
+ <p>Works with Claude Code, Cursor, Codex, Gemini, Amp, and OpenCode.</p>
150
+
151
+ <h2>Frequently Asked Questions</h2>
152
+ <h3>Does ThumbGate still include memory?</h3>
153
+ <p>Yes. ThumbGate keeps local-first memory, ContextFS packs, lesson search, and recall, but adds pre-action enforcement when memory alone is insufficient.</p>
154
+
155
+ <h3>Why compare Mem0 at all?</h3>
156
+ <p>Because buyers often start with memory tooling and only later realize they also need enforcement. This page makes that upgrade path explicit.</p>
157
+
158
+ <h3>Is Mem0 bad?</h3>
159
+ <p>No. Mem0 is useful when you mainly need retrieval and cross-session context. ThumbGate is useful when retrieval alone is not enough and the system has to stop the same mistake before execution.</p>
160
+
161
+ <h3>Can I migrate from Mem0 to ThumbGate?</h3>
162
+ <p>ThumbGate does not require migrating away from Mem0. You can add ThumbGate as the enforcement layer while keeping any existing memory system for retrieval.</p>
163
+
164
+ <h3>Does ThumbGate require a cloud account?</h3>
165
+ <p>No. ThumbGate is local-first with SQLite+FTS5 storage. No cloud account, no API keys needed to capture feedback and enforce pre-action gates.</p>
166
+
167
+ <div class="cta-box">
168
+ <h2 style="color:var(--text);font-size:1.3rem;margin:0 0 8px;">Pro for operators, Team for governance</h2>
169
+ <p>Start free with local gates. Pro is $19/mo or $149/yr for the personal dashboard and exports. Team rollout anchors at $99/seat/mo when shared lessons and org visibility matter.</p>
170
+ <div class="cta-install">$ npx thumbgate init</div>
171
+ <p style="margin-top:8px;"><a href="/pro">See Pro and Team pricing &rarr;</a></p>
172
+ </div>
173
+
174
+ <div class="related">
175
+ <h3>Related</h3>
176
+ <a href="/compare/speclock">ThumbGate vs SpecLock &rarr;</a>
177
+ <a href="/guides/claude-code-prevent-repeated-mistakes">Claude Code Feedback Memory &rarr;</a>
178
+ <a href="/guides/pre-action-gates">What Are Pre-Action Gates? &rarr;</a>
179
+ <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub &rarr;</a>
180
+ </div>
181
+ </div>
182
+
183
+ <div class="sticky-cta">
184
+ <span style="color:var(--muted)">Try it now:</span>
185
+ <code>npx thumbgate init</code>
186
+ <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub &rarr;</a>
187
+ </div>
188
+ </body>
189
+ </html>
@@ -0,0 +1,180 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>ThumbGate vs SpecLock | Thumbs Feedback vs Manual Specs</title>
7
+ <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
8
+ <meta name="description" content="SpecLock starts from manually written constraints. ThumbGate starts from thumbs-up/down feedback and turns it into pre-action gates that block repeated mistakes.">
9
+ <meta name="keywords" content="ThumbGate vs SpecLock, SpecLock alternative, AI agent guardrails comparison, pre-action gates, feedback enforcement">
10
+ <meta property="og:title" content="ThumbGate vs SpecLock">
11
+ <meta property="og:description" content="SpecLock starts from manually written constraints. ThumbGate starts from thumbs-up/down feedback and turns it into pre-action gates that block repeated mistakes.">
12
+ <meta property="og:type" content="article">
13
+ <meta property="og:url" content="https://thumbgate-production.up.railway.app/compare/speclock">
14
+ <link rel="canonical" href="https://thumbgate-production.up.railway.app/compare/speclock">
15
+ <link rel="llm-context" href="/public/llm-context.md" type="text/markdown">
16
+
17
+ <script type="application/ld+json">
18
+ {
19
+ "@context": "https://schema.org",
20
+ "@type": "TechArticle",
21
+ "headline": "ThumbGate vs SpecLock — Thumbs Feedback vs Manual Specs",
22
+ "description": "SpecLock starts from manually written constraints. ThumbGate starts from thumbs-up/down feedback and turns it into pre-action gates that block repeated mistakes.",
23
+ "author": {
24
+ "@type": "Person",
25
+ "name": "Igor Ganapolsky",
26
+ "url": "https://github.com/IgorGanapolsky"
27
+ },
28
+ "publisher": {
29
+ "@type": "Organization",
30
+ "name": "ThumbGate",
31
+ "url": "https://thumbgate-production.up.railway.app"
32
+ },
33
+ "datePublished": "2026-04-09",
34
+ "dateModified": "2026-04-09",
35
+ "mainEntityOfPage": "https://thumbgate-production.up.railway.app/compare/speclock",
36
+ "about": [
37
+ {"@type": "Thing", "name": "ThumbGate vs SpecLock"},
38
+ {"@type": "Thing", "name": "AI agent guardrails comparison"},
39
+ {"@type": "Thing", "name": "pre-action gates"}
40
+ ]
41
+ }
42
+ </script>
43
+
44
+ <script type="application/ld+json">
45
+ {
46
+ "@context": "https://schema.org",
47
+ "@type": "FAQPage",
48
+ "mainEntity": [
49
+ {
50
+ "@type": "Question",
51
+ "name": "Is ThumbGate trying to replace specs?",
52
+ "acceptedAnswer": {
53
+ "@type": "Answer",
54
+ "text": "No. ThumbGate complements specs by capturing thumbs-up/down feedback from live agent behavior and enforcing the learned rules as pre-action gates."
55
+ }
56
+ },
57
+ {
58
+ "@type": "Question",
59
+ "name": "What does ThumbGate do that SpecLock does not?",
60
+ "acceptedAnswer": {
61
+ "@type": "Answer",
62
+ "text": "ThumbGate turns explicit feedback into searchable memory, auto-generated prevention rules, and runtime gates that block repeated mistakes before the next tool call executes."
63
+ }
64
+ },
65
+ {
66
+ "@type": "Question",
67
+ "name": "Can I use ThumbGate and SpecLock together?",
68
+ "acceptedAnswer": {
69
+ "@type": "Answer",
70
+ "text": "Yes. SpecLock can handle upfront spec enforcement while ThumbGate handles the emergent failures that specs did not anticipate, using thumbs-up/down feedback to learn and enforce new rules."
71
+ }
72
+ },
73
+ {
74
+ "@type": "Question",
75
+ "name": "Which tool is better for fast-moving teams?",
76
+ "acceptedAnswer": {
77
+ "@type": "Answer",
78
+ "text": "ThumbGate is better for fast-moving agent workflows where the problem is not writing more specs, but preventing the same mistake from happening again tomorrow."
79
+ }
80
+ }
81
+ ]
82
+ }
83
+ </script>
84
+
85
+ <link rel="stylesheet" href="/learn/learn.css">
86
+ </head>
87
+ <body>
88
+
89
+ <nav>
90
+ <a href="/" class="brand">ThumbGate</a>
91
+ <a href="/guide">Setup Guide</a>
92
+ <a href="/learn">Learn</a>
93
+ <a href="/dashboard">Dashboard</a>
94
+ <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub</a>
95
+ </nav>
96
+
97
+ <div class="container">
98
+ <div class="breadcrumb"><a href="/learn">Learn</a> / <a href="/compare/speclock">Compare</a> / ThumbGate vs SpecLock</div>
99
+ <h1>ThumbGate vs SpecLock</h1>
100
+ <p style="color:var(--muted);">3 min read &middot; Bottom-of-funnel comparison for buyers choosing between feedback enforcement and manual specs</p>
101
+
102
+ <div class="tldr"><strong>TL;DR:</strong> SpecLock starts from manually written constraints. ThumbGate starts from thumbs-up/down feedback and turns it into pre-action gates that block repeated mistakes.</div>
103
+
104
+ <h2>The product difference in one sentence</h2>
105
+ <p>SpecLock helps a team codify rules before the work begins. ThumbGate helps a team convert real thumbs-up/down feedback into live pre-action gates after the work reveals what actually breaks.</p>
106
+ <p>That means ThumbGate is better for fast-moving agent workflows where the problem is not writing more specs, but preventing the same mistake from happening again tomorrow.</p>
107
+
108
+ <table style="width:100%;border-collapse:collapse;margin:1.5rem 0;">
109
+ <thead>
110
+ <tr style="border-bottom:2px solid var(--border, #333);">
111
+ <th style="text-align:left;padding:8px;">Capability</th>
112
+ <th style="text-align:center;padding:8px;">ThumbGate</th>
113
+ <th style="text-align:center;padding:8px;">SpecLock</th>
114
+ </tr>
115
+ </thead>
116
+ <tbody>
117
+ <tr><td style="padding:8px;">Feedback-driven learning</td><td style="text-align:center;">Yes</td><td style="text-align:center;">No</td></tr>
118
+ <tr><td style="padding:8px;">Pre-action gate enforcement</td><td style="text-align:center;">Yes</td><td style="text-align:center;">Spec-based only</td></tr>
119
+ <tr><td style="padding:8px;">Thumbs-up/down capture</td><td style="text-align:center;">Yes</td><td style="text-align:center;">No</td></tr>
120
+ <tr><td style="padding:8px;">Multi-agent support</td><td style="text-align:center;">6 agents</td><td style="text-align:center;">Varies</td></tr>
121
+ <tr><td style="padding:8px;">Requires upfront spec writing</td><td style="text-align:center;">No</td><td style="text-align:center;">Yes</td></tr>
122
+ <tr><td style="padding:8px;">Thompson Sampling scoring</td><td style="text-align:center;">Yes</td><td style="text-align:center;">No</td></tr>
123
+ <tr><td style="padding:8px;">Verification evidence</td><td style="text-align:center;">Yes</td><td style="text-align:center;">Varies</td></tr>
124
+ </tbody>
125
+ </table>
126
+
127
+ <h2>Choose ThumbGate when</h2>
128
+ <ul>
129
+ <li>Your agent already repeats known mistakes and you need the block to happen before tool execution.</li>
130
+ <li>You want one feedback loop that supports both reinforcement from thumbs up and prevention from thumbs down.</li>
131
+ <li>You need proof assets, automation reports, and compatibility across multiple coding agents.</li>
132
+ </ul>
133
+
134
+ <h2>Choose SpecLock when</h2>
135
+ <ul>
136
+ <li>Your team already maintains strong PRDs or system specs and wants the model constrained against those artifacts.</li>
137
+ <li>Your primary problem is uncontrolled file edits, not a missing feedback-to-enforcement loop.</li>
138
+ <li>You are willing to invest in manual constraint authoring as part of the workflow.</li>
139
+ </ul>
140
+
141
+ <h2>Install ThumbGate</h2>
142
+ <pre><code>npx thumbgate init --agent claude-code</code></pre>
143
+ <p>Works with Claude Code, Cursor, Codex, Gemini, Amp, and OpenCode.</p>
144
+
145
+ <h2>Frequently Asked Questions</h2>
146
+ <h3>Is ThumbGate trying to replace specs?</h3>
147
+ <p>No. ThumbGate complements specs by capturing thumbs-up/down feedback from live agent behavior and enforcing the learned rules as pre-action gates.</p>
148
+
149
+ <h3>What does ThumbGate do that SpecLock does not?</h3>
150
+ <p>ThumbGate turns explicit feedback into searchable memory, auto-generated prevention rules, and runtime gates that block repeated mistakes before the next tool call executes.</p>
151
+
152
+ <h3>Can I use ThumbGate and SpecLock together?</h3>
153
+ <p>Yes. SpecLock can handle upfront spec enforcement while ThumbGate handles the emergent failures that specs did not anticipate, using thumbs-up/down feedback to learn and enforce new rules.</p>
154
+
155
+ <h3>Which tool is better for fast-moving teams?</h3>
156
+ <p>ThumbGate is better for fast-moving agent workflows where the problem is not writing more specs, but preventing the same mistake from happening again tomorrow.</p>
157
+
158
+ <div class="cta-box">
159
+ <h2 style="color:var(--text);font-size:1.3rem;margin:0 0 8px;">Pro for operators, Team for governance</h2>
160
+ <p>Start free with local gates. Pro is $19/mo or $149/yr for the personal dashboard and exports. Team rollout anchors at $99/seat/mo when shared lessons and org visibility matter.</p>
161
+ <div class="cta-install">$ npx thumbgate init</div>
162
+ <p style="margin-top:8px;"><a href="/pro">See Pro and Team pricing &rarr;</a></p>
163
+ </div>
164
+
165
+ <div class="related">
166
+ <h3>Related</h3>
167
+ <a href="/compare/mem0">ThumbGate vs Mem0 &rarr;</a>
168
+ <a href="/guides/pre-action-gates">What Are Pre-Action Gates? &rarr;</a>
169
+ <a href="/guides/stop-repeated-ai-agent-mistakes">Stop Repeated AI Agent Mistakes &rarr;</a>
170
+ <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub &rarr;</a>
171
+ </div>
172
+ </div>
173
+
174
+ <div class="sticky-cta">
175
+ <span style="color:var(--muted)">Try it now:</span>
176
+ <code>npx thumbgate init</code>
177
+ <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub &rarr;</a>
178
+ </div>
179
+ </body>
180
+ </html>
@@ -62,7 +62,7 @@
62
62
  "name": "Is ThumbGate free?",
63
63
  "acceptedAnswer": {
64
64
  "@type": "Answer",
65
- "text": "ThumbGate has a free tier that includes local enforcement with 5 daily feedback captures, 10 lesson searches, unlimited recall, blocking, and history-aware lesson distillation. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($12/seat/mo) adds a shared lesson database and org dashboard."
65
+ "text": "ThumbGate has a free tier that includes local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, blocking, and history-aware lesson distillation. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($99/seat/mo) adds a shared lesson database and org dashboard."
66
66
  }
67
67
  },
68
68
  {
@@ -224,6 +224,14 @@
224
224
  <td>Free</td>
225
225
  <td>Free (open source)</td>
226
226
  </tr>
227
+ <tr>
228
+ <td>Academic validation</td>
229
+ <td class="yes">Memento-Skills architecture (arXiv 2603.18743)</td>
230
+ <td class="no">—</td>
231
+ <td class="no">—</td>
232
+ <td class="no">—</td>
233
+ <td class="no">—</td>
234
+ </tr>
227
235
  </table>
228
236
  </div>
229
237
 
@@ -250,7 +258,7 @@
250
258
  <div class="step-card">
251
259
  <div class="step-number">3</div>
252
260
  <h3>Learn</h3>
253
- <p>When your agent makes a mistake, give it a thumbs-down. ThumbGate captures the feedback and auto-generates prevention rules from repeated failures.</p>
261
+ <p>When your agent makes a mistake, give it a thumbs-down. In the current Claude auto-capture path, vague negative signals can reuse up to 8 prior recorded entries plus the failed tool call, then stay linked to a 60-second follow-up session before repeated failures harden into prevention rules.</p>
254
262
  </div>
255
263
  </div>
256
264
 
@@ -279,7 +287,7 @@
279
287
 
280
288
  <div class="card">
281
289
  <h3>Is ThumbGate free?</h3>
282
- <p>ThumbGate has a free tier that includes local enforcement with 5 daily feedback captures, 10 lesson searches, unlimited recall, and pre-action gate blocking. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($12/seat/mo) adds a shared lesson database and org dashboard.</p>
290
+ <p>ThumbGate has a free tier that includes local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, and pre-action gate blocking. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($99/seat/mo) adds a shared lesson database and org dashboard.</p>
283
291
  </div>
284
292
 
285
293
  <div class="card">
@@ -289,7 +297,7 @@
289
297
 
290
298
  <div class="card">
291
299
  <h3>Can ThumbGate learn from mistakes automatically?</h3>
292
- <p>Yes. When your AI agent makes a mistake, give a thumbs-down with context. After repeated failures with the same pattern, ThumbGate auto-generates a prevention rule and wires it as a pre-action gate. Gates adapt over time using Thompson Sampling, a Bayesian multi-armed bandit algorithm.</p>
300
+ <p>Yes. When your AI agent makes a mistake, give a thumbs-down with context. In the current Claude auto-capture path, vague negative signals can reuse up to 8 prior recorded entries plus the failed tool call, then stay linked to a 60-second follow-up session. After repeated failures with the same pattern, ThumbGate auto-generates a prevention rule and wires it as a pre-action gate. Gates adapt over time using Thompson Sampling, a Bayesian multi-armed bandit algorithm.</p>
293
301
  </div>
294
302
 
295
303
  </div>
package/public/guide.html CHANGED
@@ -58,7 +58,7 @@
58
58
  "@type": "HowToStep",
59
59
  "position": 2,
60
60
  "name": "Give feedback when your agent makes a mistake",
61
- "text": "Say thumbs down with context about what went wrong. ThumbGate captures it as structured feedback."
61
+ "text": "Say thumbs down with context about what went wrong. In the current Claude auto-capture path, vague negative signals can reuse up to 8 prior recorded entries and stay linked to a 60-second feedback session."
62
62
  },
63
63
  {
64
64
  "@type": "HowToStep",
@@ -234,7 +234,7 @@ npx thumbgate init --agent gemini</code></pre>
234
234
  <h2>How It Works</h2>
235
235
 
236
236
  <h3>1. You give feedback</h3>
237
- <p>When your agent makes a mistake, tell it. ThumbGate captures the feedback as structured data with context, tags, and domain. If the signal is vague, it can reuse the recent conversation window and failed tool call to propose a better lesson instead of discarding the feedback.</p>
237
+ <p>When your agent makes a mistake, tell it. ThumbGate captures the feedback as structured data with context, tags, and domain. In the current Claude auto-capture path, if the thumbs-down is vague, it can reuse up to 8 prior recorded entries and the failed tool call to propose a better lesson instead of discarding the feedback.</p>
238
238
  <pre><code># Your agent force-pushed. You say:
239
239
  "thumbs down — force-pushed to main, lost commits"
240
240
 
@@ -265,7 +265,7 @@ npx thumbgate init --agent gemini</code></pre>
265
265
  </ul>
266
266
 
267
267
  <h2>History-Aware Feedback Sessions</h2>
268
- <p>ThumbGate supports linked feedback sessions for the messy reality of AI debugging. You can start one correction thread, append more context, and finalize it once the lesson is clear.</p>
268
+ <p>ThumbGate supports linked feedback sessions for the messy reality of AI debugging. In the current Claude flow, accepted feedback opens a 60-second follow-up session. You can append more context, reset the timer, and finalize once the lesson is clear.</p>
269
269
  <ul>
270
270
  <li><code>open_feedback_session</code> starts a linked correction thread.</li>
271
271
  <li><code>append_feedback_context</code> adds later notes, failed tool output, or user corrections to the same thread.</li>
@@ -292,7 +292,7 @@ npx thumbgate init --agent gemini</code></pre>
292
292
  <tr><td>Auto-generates rules</td><td>Yes — from repeated failures</td><td>No</td><td>No</td></tr>
293
293
  <tr><td>Agent support</td><td>Claude Code, Codex, Gemini, Amp, Cursor, OpenCode</td><td>Claude Code, Cursor, Windsurf, Cline</td><td>Claude, Cursor</td></tr>
294
294
  <tr><td>Install</td><td><code>npx thumbgate init</code></td><td><code>npx speclock setup</code></td><td>Cloud signup</td></tr>
295
- <tr><td>Cost</td><td>Free (Pro $19/mo or $149/yr, Team rollout $12/seat/mo)</td><td>Free</td><td>Free tier + paid</td></tr>
295
+ <tr><td>Cost</td><td>Free (Pro $19/mo or $149/yr, Team rollout $99/seat/mo)</td><td>Free</td><td>Free tier + paid</td></tr>
296
296
  </table>
297
297
 
298
298
  <h2>Common Scenarios</h2>
@@ -310,7 +310,7 @@ npx thumbgate init --agent gemini</code></pre>
310
310
  <pre><code>npx thumbgate init</code></pre>
311
311
  <p>One command. Works with Claude Code, Cursor, Codex, Gemini, Amp, and OpenCode. Claude Code can also call Codex for review, adversarial review, and second-pass handoffs through the repo-local bridge plugin.</p>
312
312
  <a href="https://thumbgate-production.up.railway.app/checkout/pro?utm_source=guide&utm_medium=cta_button&utm_campaign=pro_pack" class="cta">Get Pro — $19/mo or $149/yr</a>
313
- <p style="color:var(--muted); font-size:0.85rem;">Free keeps local enforcement with 5 daily feedback captures, 10 lesson searches, unlimited recall, blocking, and history-aware lesson distillation. Pro adds a personal local dashboard and DPO export. Team rollout adds the hosted shared lesson DB, org dashboard, and generated review views. <a href="https://buy.stripe.com/aFa4gz1M84r419v7mb3sI05" style="color:inherit;text-decoration:underline;">Founder $49 one-time link</a> stays preserved.</p>
313
+ <p style="color:var(--muted); font-size:0.85rem;">Free keeps local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, blocking, and history-aware lesson distillation. Pro is $19/mo or $149/yr for a personal local dashboard and DPO export. Team rollout starts intake-first at $99/seat/mo with a 3-seat minimum for the hosted shared lesson DB, org dashboard, and generated review views.</p>
314
314
 
315
315
  </div>
316
316
  </body>
@@ -0,0 +1,161 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Claude Code Feedback Memory with Thumbs Up and Thumbs Down | ThumbGate</title>
7
+ <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
8
+ <meta name="description" content="Claude Code can remember more when the memory is structured, but reliability improves when thumbs-up/down feedback also becomes enforceable behavior. That is ThumbGate.">
9
+ <meta name="keywords" content="Claude Code feedback, Claude Code memory, prevent repeated mistakes, ThumbGate, pre-action gates, Claude Code guardrails">
10
+ <meta property="og:title" content="Claude Code Feedback Memory That Actually Enforces">
11
+ <meta property="og:description" content="Claude Code can remember more when the memory is structured, but reliability improves when thumbs-up/down feedback also becomes enforceable behavior.">
12
+ <meta property="og:type" content="article">
13
+ <meta property="og:url" content="https://thumbgate-production.up.railway.app/guides/claude-code-prevent-repeated-mistakes">
14
+ <link rel="canonical" href="https://thumbgate-production.up.railway.app/guides/claude-code-prevent-repeated-mistakes">
15
+ <link rel="llm-context" href="/public/llm-context.md" type="text/markdown">
16
+
17
+ <script type="application/ld+json">
18
+ {
19
+ "@context": "https://schema.org",
20
+ "@type": "TechArticle",
21
+ "headline": "Claude Code Feedback Memory That Actually Enforces",
22
+ "description": "Claude Code can remember more when the memory is structured, but reliability improves when thumbs-up/down feedback also becomes enforceable behavior via ThumbGate pre-action gates.",
23
+ "author": {
24
+ "@type": "Person",
25
+ "name": "Igor Ganapolsky",
26
+ "url": "https://github.com/IgorGanapolsky"
27
+ },
28
+ "publisher": {
29
+ "@type": "Organization",
30
+ "name": "ThumbGate",
31
+ "url": "https://thumbgate-production.up.railway.app"
32
+ },
33
+ "datePublished": "2026-04-09",
34
+ "dateModified": "2026-04-09",
35
+ "mainEntityOfPage": "https://thumbgate-production.up.railway.app/guides/claude-code-prevent-repeated-mistakes",
36
+ "about": [
37
+ {"@type": "Thing", "name": "Claude Code memory"},
38
+ {"@type": "Thing", "name": "feedback enforcement"},
39
+ {"@type": "Thing", "name": "pre-action gates"}
40
+ ]
41
+ }
42
+ </script>
43
+
44
+ <script type="application/ld+json">
45
+ {
46
+ "@context": "https://schema.org",
47
+ "@type": "FAQPage",
48
+ "mainEntity": [
49
+ {
50
+ "@type": "Question",
51
+ "name": "Does this only work with Claude Code?",
52
+ "acceptedAnswer": {
53
+ "@type": "Answer",
54
+ "text": "No. Claude Code is a strong entry point, but the same thumbs-up/down feedback loop and pre-action gates work across other MCP-compatible coding agents too."
55
+ }
56
+ },
57
+ {
58
+ "@type": "Question",
59
+ "name": "Why mention thumbs up as well as thumbs down?",
60
+ "acceptedAnswer": {
61
+ "@type": "Answer",
62
+ "text": "Because reinforcement matters. Good behavior should become easier to repeat, not only bad behavior harder to repeat."
63
+ }
64
+ },
65
+ {
66
+ "@type": "Question",
67
+ "name": "How does ThumbGate differ from Claude Code CLAUDE.md rules?",
68
+ "acceptedAnswer": {
69
+ "@type": "Answer",
70
+ "text": "CLAUDE.md rules are advisory and can be overridden by context overflow or chain-of-thought reasoning. ThumbGate pre-action gates intercept tool calls at the hook layer and physically block them before execution."
71
+ }
72
+ },
73
+ {
74
+ "@type": "Question",
75
+ "name": "Can ThumbGate prevent Claude Code from repeating the same mistake across sessions?",
76
+ "acceptedAnswer": {
77
+ "@type": "Answer",
78
+ "text": "Yes. ThumbGate persists lessons and prevention rules in a local SQLite+FTS5 database, so gates survive across sessions and prevent repeat failures even when the conversation context resets."
79
+ }
80
+ }
81
+ ]
82
+ }
83
+ </script>
84
+
85
+ <link rel="stylesheet" href="/learn/learn.css">
86
+ </head>
87
+ <body>
88
+
89
+ <nav>
90
+ <a href="/" class="brand">ThumbGate</a>
91
+ <a href="/guide">Setup Guide</a>
92
+ <a href="/learn">Learn</a>
93
+ <a href="/dashboard">Dashboard</a>
94
+ <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub</a>
95
+ </nav>
96
+
97
+ <div class="container">
98
+ <div class="breadcrumb"><a href="/learn">Learn</a> / <a href="/guides/claude-code-prevent-repeated-mistakes">Guides</a> / Claude Code Feedback</div>
99
+ <h1>Claude Code Feedback Memory That Actually Enforces</h1>
100
+ <p style="color:var(--muted);">3 min read &middot; Designed for Claude Code, works across all MCP agents</p>
101
+
102
+ <div class="tldr"><strong>TL;DR:</strong> Claude Code can remember more when the memory is structured, but reliability improves when thumbs-up/down feedback also becomes enforceable behavior. That is ThumbGate's angle.</div>
103
+
104
+ <h2>The Claude Code problem</h2>
105
+ <p>Claude Code is strongest when the context is fresh, but teams still hit repeated mistakes, compaction drift, and re-explaining constraints. A memory file alone helps, but it does not physically stop the next bad move.</p>
106
+
107
+ <div class="callout callout-red">
108
+ <strong>Common pattern:</strong> You add a rule to CLAUDE.md. The agent follows it for two sessions. Then context fills up, the rule gets compressed, and the same mistake happens again. Memory without enforcement is a suggestion, not a guarantee.
109
+ </div>
110
+
111
+ <h2>The ThumbGate angle</h2>
112
+ <ul>
113
+ <li>Thumbs up reinforces good behavior.</li>
114
+ <li>Thumbs down becomes a prevention rule.</li>
115
+ <li>Pre-action gates stop the repeated mistake before the next command executes.</li>
116
+ <li>The same flow works across Cursor, Codex, Gemini, Amp, and OpenCode.</li>
117
+ </ul>
118
+
119
+ <h2>Install for Claude Code</h2>
120
+ <pre><code>npx thumbgate init --agent claude-code</code></pre>
121
+ <p>Auto-detects Claude Code and configures the PreToolUse hook. No build step, no cloud account.</p>
122
+
123
+ <h2>What to expect</h2>
124
+ <p>Compatibility proof, install speed, and verification evidence matter more than generic "memory" copy. ThumbGate is the enforcement layer for Claude Code, not just another notebook of past context.</p>
125
+
126
+ <h2>Frequently Asked Questions</h2>
127
+ <h3>Does this only work with Claude Code?</h3>
128
+ <p>No. Claude Code is a strong entry point, but the same thumbs-up/down feedback loop and pre-action gates work across other MCP-compatible coding agents too.</p>
129
+
130
+ <h3>Why mention thumbs up as well as thumbs down?</h3>
131
+ <p>Because reinforcement matters. Good behavior should become easier to repeat, not only bad behavior harder to repeat.</p>
132
+
133
+ <h3>How does ThumbGate differ from Claude Code CLAUDE.md rules?</h3>
134
+ <p>CLAUDE.md rules are advisory and can be overridden by context overflow or chain-of-thought reasoning. ThumbGate pre-action gates intercept tool calls at the hook layer and physically block them before execution.</p>
135
+
136
+ <h3>Can ThumbGate prevent Claude Code from repeating the same mistake across sessions?</h3>
137
+ <p>Yes. ThumbGate persists lessons and prevention rules in a local SQLite+FTS5 database, so gates survive across sessions and prevent repeat failures even when the conversation context resets.</p>
138
+
139
+ <div class="cta-box">
140
+ <h2 style="color:var(--text);font-size:1.3rem;margin:0 0 8px;">Pro for operators, Team for governance</h2>
141
+ <p>Start free with local gates. Pro is $19/mo or $149/yr for the personal dashboard and exports. Team rollout anchors at $99/seat/mo when shared lessons and org visibility matter.</p>
142
+ <div class="cta-install">$ npx thumbgate init --agent claude-code</div>
143
+ <p style="margin-top:8px;"><a href="/pro">See Pro and Team pricing &rarr;</a></p>
144
+ </div>
145
+
146
+ <div class="related">
147
+ <h3>Related</h3>
148
+ <a href="/guides/pre-action-gates">What Are Pre-Action Gates? &rarr;</a>
149
+ <a href="/compare/mem0">ThumbGate vs Mem0 &rarr;</a>
150
+ <a href="/guides/stop-repeated-ai-agent-mistakes">Stop Repeated AI Agent Mistakes &rarr;</a>
151
+ <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub &rarr;</a>
152
+ </div>
153
+ </div>
154
+
155
+ <div class="sticky-cta">
156
+ <span style="color:var(--muted)">Try it now:</span>
157
+ <code>npx thumbgate init --agent claude-code</code>
158
+ <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub &rarr;</a>
159
+ </div>
160
+ </body>
161
+ </html>