thumbgate 1.4.3 → 1.4.4

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 (266) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.well-known/mcp/server-card.json +1 -1
  4. package/adapters/README.md +1 -1
  5. package/adapters/claude/.mcp.json +2 -2
  6. package/adapters/codex/config.toml +2 -2
  7. package/adapters/mcp/server-stdio.js +1 -1
  8. package/adapters/opencode/opencode.json +1 -1
  9. package/package.json +157 -9
  10. package/scripts/statusline.sh +1 -0
  11. package/src/api/server.js +113 -16
  12. package/src/index.js +3 -0
  13. package/.claude-plugin/bundle/icon.png +0 -0
  14. package/.claude-plugin/bundle/icon.svg +0 -18
  15. package/.claude-plugin/bundle/server/index.js +0 -24
  16. package/adapters/chatgpt/INSTALL.md +0 -158
  17. package/adapters/perplexity/.mcp.json +0 -36
  18. package/adapters/perplexity/config.toml +0 -16
  19. package/adapters/perplexity/opencode.json +0 -29
  20. package/bin/memory.sh +0 -64
  21. package/bin/obsidian-sync.sh +0 -20
  22. package/plugins/amp-skill/INSTALL.md +0 -52
  23. package/plugins/amp-skill/SKILL.md +0 -64
  24. package/plugins/claude-codex-bridge/.claude-plugin/plugin.json +0 -22
  25. package/plugins/claude-codex-bridge/.mcp.json +0 -14
  26. package/plugins/claude-codex-bridge/INSTALL.md +0 -43
  27. package/plugins/claude-codex-bridge/README.md +0 -46
  28. package/plugins/claude-codex-bridge/scripts/codex-bridge.js +0 -286
  29. package/plugins/claude-codex-bridge/skills/adversarial-review/SKILL.md +0 -24
  30. package/plugins/claude-codex-bridge/skills/result/SKILL.md +0 -22
  31. package/plugins/claude-codex-bridge/skills/review/SKILL.md +0 -28
  32. package/plugins/claude-codex-bridge/skills/second-pass/SKILL.md +0 -27
  33. package/plugins/claude-codex-bridge/skills/setup/SKILL.md +0 -21
  34. package/plugins/claude-codex-bridge/skills/status/SKILL.md +0 -19
  35. package/plugins/claude-skill/INSTALL.md +0 -55
  36. package/plugins/claude-skill/SKILL.md +0 -46
  37. package/plugins/codex-profile/.codex-plugin/plugin.json +0 -43
  38. package/plugins/codex-profile/.mcp.json +0 -14
  39. package/plugins/codex-profile/AGENTS.md +0 -20
  40. package/plugins/codex-profile/INSTALL.md +0 -89
  41. package/plugins/codex-profile/README.md +0 -61
  42. package/plugins/cursor-marketplace/.cursor-plugin/plugin.json +0 -23
  43. package/plugins/cursor-marketplace/CHANGELOG.md +0 -30
  44. package/plugins/cursor-marketplace/LICENSE +0 -21
  45. package/plugins/cursor-marketplace/README.md +0 -124
  46. package/plugins/cursor-marketplace/agents/reliability-reviewer.md +0 -31
  47. package/plugins/cursor-marketplace/assets/logo-400x400.png +0 -0
  48. package/plugins/cursor-marketplace/commands/capture-feedback.md +0 -33
  49. package/plugins/cursor-marketplace/commands/check-gates.md +0 -25
  50. package/plugins/cursor-marketplace/commands/show-lessons.md +0 -27
  51. package/plugins/cursor-marketplace/hooks/hooks.json +0 -10
  52. package/plugins/cursor-marketplace/mcp.json +0 -14
  53. package/plugins/cursor-marketplace/rules/feedback-capture.mdc +0 -34
  54. package/plugins/cursor-marketplace/rules/pre-action-gates.mdc +0 -30
  55. package/plugins/cursor-marketplace/rules/session-continuity.mdc +0 -28
  56. package/plugins/cursor-marketplace/scripts/gate-check.sh +0 -21
  57. package/plugins/cursor-marketplace/skills/capture-feedback/SKILL.md +0 -48
  58. package/plugins/cursor-marketplace/skills/prevention-rules/SKILL.md +0 -31
  59. package/plugins/cursor-marketplace/skills/recall-context/SKILL.md +0 -30
  60. package/plugins/cursor-marketplace/skills/search-lessons/SKILL.md +0 -33
  61. package/plugins/gemini-extension/INSTALL.md +0 -92
  62. package/plugins/gemini-extension/gemini_prompt.txt +0 -14
  63. package/plugins/gemini-extension/tool_contract.json +0 -45
  64. package/plugins/opencode-profile/INSTALL.md +0 -57
  65. package/public/assets/instagram-card.png +0 -0
  66. package/public/assets/tiktok-agent-memory.mp4 +0 -0
  67. package/public/blog.html +0 -474
  68. package/public/compare/mem0.html +0 -189
  69. package/public/compare/speclock.html +0 -180
  70. package/public/compare.html +0 -310
  71. package/public/dashboard.html +0 -1100
  72. package/public/guide.html +0 -317
  73. package/public/guides/claude-code-prevent-repeated-mistakes.html +0 -161
  74. package/public/guides/codex-cli-guardrails.html +0 -158
  75. package/public/guides/cursor-prevent-repeated-mistakes.html +0 -161
  76. package/public/guides/pre-action-gates.html +0 -162
  77. package/public/guides/stop-repeated-ai-agent-mistakes.html +0 -159
  78. package/public/index.html +0 -1225
  79. package/public/js/buyer-intent.js +0 -252
  80. package/public/learn/agent-harness-pattern.html +0 -180
  81. package/public/learn/ai-agent-persistent-memory.html +0 -203
  82. package/public/learn/learn.css +0 -45
  83. package/public/learn/mcp-pre-action-gates-explained.html +0 -172
  84. package/public/learn/stop-ai-agent-force-push.html +0 -134
  85. package/public/learn/vibe-coding-safety-net.html +0 -142
  86. package/public/learn.html +0 -274
  87. package/public/lessons.html +0 -967
  88. package/public/llm-context.md +0 -156
  89. package/public/pro.html +0 -1087
  90. package/public/vercel.json +0 -8
  91. package/scripts/a2ui-engine.js +0 -73
  92. package/scripts/adk-consolidator.js +0 -274
  93. package/scripts/agent-security-hardening.js +0 -225
  94. package/scripts/ai-search-visibility.js +0 -116
  95. package/scripts/autonomous-sales-agent.js +0 -39
  96. package/scripts/autoresearch-runner.js +0 -216
  97. package/scripts/background-agent-governance.js +0 -229
  98. package/scripts/behavioral-extraction.js +0 -93
  99. package/scripts/budget-enforcer.js +0 -173
  100. package/scripts/budget-guard.js +0 -173
  101. package/scripts/build-claude-mcpb.js +0 -255
  102. package/scripts/build-codex-plugin.js +0 -152
  103. package/scripts/capture-railway-diagnostics.sh +0 -97
  104. package/scripts/changeset-check.js +0 -372
  105. package/scripts/check-congruence.js +0 -443
  106. package/scripts/computer-use-firewall.js +0 -280
  107. package/scripts/content-engine/linkedin-content-generator.js +0 -154
  108. package/scripts/content-engine/output/linkedin-memento-validation.md +0 -17
  109. package/scripts/content-engine/output/linkedin-posts-2026-04-09.md +0 -175
  110. package/scripts/content-engine/reddit-thread-finder.js +0 -154
  111. package/scripts/context-engine.js +0 -710
  112. package/scripts/daily-digest.js +0 -11
  113. package/scripts/data-governance.js +0 -173
  114. package/scripts/deploy-gcp.sh +0 -44
  115. package/scripts/deploy-policy.js +0 -249
  116. package/scripts/disagreement-mining.js +0 -315
  117. package/scripts/dpo-optimizer.js +0 -206
  118. package/scripts/ensure-repo-bootstrap.js +0 -130
  119. package/scripts/ephemeral-agent-store.js +0 -212
  120. package/scripts/eval-harness.js +0 -56
  121. package/scripts/export-kto-pairs.js +0 -309
  122. package/scripts/export-training.js +0 -446
  123. package/scripts/feedback-fallback.js +0 -111
  124. package/scripts/feedback-inbox-read.js +0 -162
  125. package/scripts/feedback-root-consolidator.js +0 -233
  126. package/scripts/feedback-to-memory.js +0 -185
  127. package/scripts/gate-satisfy.js +0 -42
  128. package/scripts/generate-paperbanana-diagrams.sh +0 -99
  129. package/scripts/generate-pretool-hook.sh +0 -40
  130. package/scripts/github-about.js +0 -430
  131. package/scripts/github-outreach.js +0 -65
  132. package/scripts/gtm-revenue-loop.js +0 -535
  133. package/scripts/hallucination-detector.js +0 -226
  134. package/scripts/hf-papers.js +0 -317
  135. package/scripts/hook-auto-capture.sh +0 -100
  136. package/scripts/hook-stop-pr-thread-check.sh +0 -68
  137. package/scripts/hook-stop-self-score.sh +0 -51
  138. package/scripts/hook-stop-verify-deploy.sh +0 -31
  139. package/scripts/hook-verify-before-done.sh +0 -20
  140. package/scripts/managed-dpo-export.js +0 -91
  141. package/scripts/markdown-escape.js +0 -12
  142. package/scripts/marketing-experiment.js +0 -657
  143. package/scripts/memalign-recall.js +0 -111
  144. package/scripts/memory-migration.js +0 -296
  145. package/scripts/meta-policy.js +0 -190
  146. package/scripts/metered-billing.js +0 -16
  147. package/scripts/model-tier-router.js +0 -310
  148. package/scripts/money-watcher.js +0 -218
  149. package/scripts/multi-hop-recall.js +0 -240
  150. package/scripts/per-step-scoring.js +0 -163
  151. package/scripts/perplexity-command-center.js +0 -644
  152. package/scripts/perplexity-marketing.js +0 -454
  153. package/scripts/pii-scanner.js +0 -153
  154. package/scripts/plan-gate.js +0 -154
  155. package/scripts/post-everywhere.js +0 -341
  156. package/scripts/post-to-x-retry.sh +0 -22
  157. package/scripts/post-to-x.js +0 -369
  158. package/scripts/pr-manager.js +0 -421
  159. package/scripts/principle-extractor.js +0 -162
  160. package/scripts/pro-features.js +0 -41
  161. package/scripts/prompt-dlp.js +0 -222
  162. package/scripts/prove-adapters.js +0 -860
  163. package/scripts/prove-attribution.js +0 -361
  164. package/scripts/prove-automation.js +0 -651
  165. package/scripts/prove-autoresearch.js +0 -304
  166. package/scripts/prove-claim-verification.js +0 -277
  167. package/scripts/prove-cloudflare-sandbox.js +0 -161
  168. package/scripts/prove-data-pipeline.js +0 -408
  169. package/scripts/prove-data-quality.js +0 -227
  170. package/scripts/prove-evolution.js +0 -352
  171. package/scripts/prove-harnesses.js +0 -287
  172. package/scripts/prove-intelligence.js +0 -257
  173. package/scripts/prove-lancedb.js +0 -425
  174. package/scripts/prove-local-intelligence.js +0 -340
  175. package/scripts/prove-loop-closure.js +0 -263
  176. package/scripts/prove-packaged-runtime.js +0 -327
  177. package/scripts/prove-predictive-insights.js +0 -355
  178. package/scripts/prove-runtime.js +0 -363
  179. package/scripts/prove-seo-gsd.js +0 -234
  180. package/scripts/prove-settings.js +0 -279
  181. package/scripts/prove-subway-upgrades.js +0 -277
  182. package/scripts/prove-tessl.js +0 -229
  183. package/scripts/prove-training-export.js +0 -325
  184. package/scripts/prove-workflow-contract.js +0 -112
  185. package/scripts/prove-xmemory.js +0 -332
  186. package/scripts/publish-decision.js +0 -159
  187. package/scripts/ralph-loop.js +0 -376
  188. package/scripts/ralph-mode-ci.js +0 -434
  189. package/scripts/reddit-dm-outreach.js +0 -192
  190. package/scripts/reddit-monitor-cron.sh +0 -26
  191. package/scripts/reminder-engine.js +0 -132
  192. package/scripts/revenue-status.js +0 -472
  193. package/scripts/rotate-stripe-webhook-secret.js +0 -314
  194. package/scripts/schedule-manager.js +0 -249
  195. package/scripts/self-healing-check.js +0 -193
  196. package/scripts/session-analyzer.js +0 -533
  197. package/scripts/shieldcortex-memory-firewall-runner.mjs +0 -53
  198. package/scripts/skill-exporter.js +0 -260
  199. package/scripts/skill-materializer.js +0 -134
  200. package/scripts/skill-packs.js +0 -136
  201. package/scripts/skill-proposer.js +0 -99
  202. package/scripts/skill-quality-tracker.js +0 -282
  203. package/scripts/slow-loop.js +0 -72
  204. package/scripts/social-analytics/db/marketing-db.js +0 -179
  205. package/scripts/social-analytics/db/schema.sql +0 -55
  206. package/scripts/social-analytics/digest.js +0 -256
  207. package/scripts/social-analytics/engagement-audit.js +0 -185
  208. package/scripts/social-analytics/generate-instagram-card.js +0 -123
  209. package/scripts/social-analytics/generate-slides.js +0 -268
  210. package/scripts/social-analytics/instagram-thumbgate-post.js +0 -111
  211. package/scripts/social-analytics/install-growth-automation.js +0 -114
  212. package/scripts/social-analytics/load-env.js +0 -77
  213. package/scripts/social-analytics/mcp-server.js +0 -289
  214. package/scripts/social-analytics/normalizer.js +0 -580
  215. package/scripts/social-analytics/notify.js +0 -162
  216. package/scripts/social-analytics/poll-all.js +0 -107
  217. package/scripts/social-analytics/pollers/github.js +0 -195
  218. package/scripts/social-analytics/pollers/instagram.js +0 -253
  219. package/scripts/social-analytics/pollers/linkedin.js +0 -340
  220. package/scripts/social-analytics/pollers/plausible.js +0 -245
  221. package/scripts/social-analytics/pollers/reddit.js +0 -306
  222. package/scripts/social-analytics/pollers/threads.js +0 -233
  223. package/scripts/social-analytics/pollers/tiktok.js +0 -203
  224. package/scripts/social-analytics/pollers/x.js +0 -227
  225. package/scripts/social-analytics/pollers/youtube.js +0 -304
  226. package/scripts/social-analytics/pollers/zernio.js +0 -183
  227. package/scripts/social-analytics/post-video.js +0 -316
  228. package/scripts/social-analytics/publish-instagram-thumbgate.js +0 -104
  229. package/scripts/social-analytics/publish-thumbgate-launch.js +0 -322
  230. package/scripts/social-analytics/publishers/devto.js +0 -122
  231. package/scripts/social-analytics/publishers/instagram.js +0 -317
  232. package/scripts/social-analytics/publishers/linkedin.js +0 -294
  233. package/scripts/social-analytics/publishers/reddit.js +0 -385
  234. package/scripts/social-analytics/publishers/threads.js +0 -275
  235. package/scripts/social-analytics/publishers/tiktok.js +0 -217
  236. package/scripts/social-analytics/publishers/x.js +0 -259
  237. package/scripts/social-analytics/publishers/youtube.js +0 -223
  238. package/scripts/social-analytics/publishers/zernio.js +0 -568
  239. package/scripts/social-analytics/reconcile-thumbgate-campaign.js +0 -165
  240. package/scripts/social-analytics/run-digest.js +0 -34
  241. package/scripts/social-analytics/schedule-thumbgate-campaign.js +0 -275
  242. package/scripts/social-analytics/store.js +0 -455
  243. package/scripts/social-analytics/sync-launch-assets.js +0 -185
  244. package/scripts/social-analytics/utm.js +0 -143
  245. package/scripts/social-pipeline.js +0 -2626
  246. package/scripts/social-post-hourly.js +0 -228
  247. package/scripts/social-quality-gate.js +0 -134
  248. package/scripts/social-reply-monitor.js +0 -592
  249. package/scripts/status-dashboard.js +0 -155
  250. package/scripts/stripe-live-status.js +0 -115
  251. package/scripts/subagent-profiles.js +0 -79
  252. package/scripts/sync-branch-protection.js +0 -340
  253. package/scripts/sync-gh-secrets-from-env.sh +0 -70
  254. package/scripts/sync-github-about.js +0 -55
  255. package/scripts/sync-version.js +0 -479
  256. package/scripts/synthetic-dpo.js +0 -234
  257. package/scripts/tessl-export.js +0 -369
  258. package/scripts/test-coverage.js +0 -128
  259. package/scripts/thumbgate-bench.js +0 -494
  260. package/scripts/thumbgate_session_start.sh +0 -32
  261. package/scripts/train_from_feedback.py +0 -929
  262. package/scripts/validate-feedback.js +0 -581
  263. package/scripts/verify-obsidian-setup.sh +0 -269
  264. package/scripts/verify-run.js +0 -269
  265. package/scripts/weekly-auto-post.js +0 -124
  266. package/scripts/x-autonomous-marketing.js +0 -139
package/public/guide.html DELETED
@@ -1,317 +0,0 @@
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>How to Stop AI Coding Agents From Repeating Mistakes — ThumbGate Guide</title>
7
- <!-- Privacy-friendly analytics by Plausible -->
8
- <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
9
- <meta name="description" content="The complete guide to preventing AI coding agent mistakes with pre-action gates, history-aware lesson distillation, and automatic prevention rules.">
10
- <meta name="keywords" content="AI agent mistakes, Claude Code force push, AI coding agent memory, MCP server guardrails, pre-action gates, vibe coding safety, PreToolUse hooks, ThumbGate, SpecLock alternative, Mem0 alternative">
11
- <meta property="og:title" content="How to Stop AI Coding Agents From Repeating Mistakes">
12
- <meta property="og:description" content="Pre-action gates that physically block AI agents from repeating known mistakes. The complete guide.">
13
- <meta property="og:type" content="article">
14
- <meta property="og:url" content="https://thumbgate-production.up.railway.app/guide">
15
- <link rel="canonical" href="https://thumbgate-production.up.railway.app/guide">
16
-
17
- <script type="application/ld+json">
18
- {
19
- "@context": "https://schema.org",
20
- "@type": "TechArticle",
21
- "headline": "How to Stop AI Coding Agents From Repeating Mistakes",
22
- "description": "Complete guide to preventing AI agent mistakes with pre-action gates, feedback capture, history-aware lesson distillation, and automatic prevention rule generation.",
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-03-27",
34
- "dateModified": "2026-03-27",
35
- "mainEntityOfPage": "https://thumbgate-production.up.railway.app/guide",
36
- "about": [
37
- {"@type": "Thing", "name": "AI coding agents"},
38
- {"@type": "Thing", "name": "Model Context Protocol"},
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": "HowTo",
48
- "name": "How to install ThumbGate and prevent AI agent mistakes",
49
- "description": "Install ThumbGate in one command to stop your AI coding agent from repeating known mistakes.",
50
- "step": [
51
- {
52
- "@type": "HowToStep",
53
- "position": 1,
54
- "name": "Install ThumbGate",
55
- "text": "Run npx thumbgate init to auto-detect your agent and configure hooks."
56
- },
57
- {
58
- "@type": "HowToStep",
59
- "position": 2,
60
- "name": "Give feedback when your agent makes a mistake",
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
- },
63
- {
64
- "@type": "HowToStep",
65
- "position": 3,
66
- "name": "Feedback auto-promotes to prevention rules",
67
- "text": "After repeated failures, ThumbGate generates a prevention rule and wires it as a pre-action gate."
68
- },
69
- {
70
- "@type": "HowToStep",
71
- "position": 4,
72
- "name": "Gates block mistakes before they happen",
73
- "text": "PreToolUse hooks intercept tool calls and check them against known failure patterns. Bad actions are blocked before execution."
74
- }
75
- ]
76
- }
77
- </script>
78
-
79
- <script type="application/ld+json">
80
- {
81
- "@context": "https://schema.org",
82
- "@type": "FAQPage",
83
- "mainEntity": [
84
- {
85
- "@type": "Question",
86
- "name": "How do I stop my AI coding agent from repeating mistakes?",
87
- "acceptedAnswer": {
88
- "@type": "Answer",
89
- "text": "Install ThumbGate (npx thumbgate init). When your agent makes a mistake, give it a thumbs-down with context. ThumbGate captures the feedback, and after repeated failures, auto-generates a prevention rule. Pre-action gates then block the same mistake before it executes in future sessions."
90
- }
91
- },
92
- {
93
- "@type": "Question",
94
- "name": "Why does my Claude Code agent keep force-pushing to main?",
95
- "acceptedAnswer": {
96
- "@type": "Answer",
97
- "text": "Because prompt rules are suggestions the agent can ignore. ThumbGate solves this with enforcement: a PreToolUse hook fires before every tool call and checks it against known failure patterns. If the action matches a gate (like git push --force to main), it is physically blocked before execution."
98
- }
99
- },
100
- {
101
- "@type": "Question",
102
- "name": "What is the difference between pre-action gates and prompt rules?",
103
- "acceptedAnswer": {
104
- "@type": "Answer",
105
- "text": "Prompt rules (like CLAUDE.md or .cursorrules) are instructions the agent may ignore. Pre-action gates are enforcement: they intercept the tool call at the PreToolUse hook level and block it before execution. Gates are auto-generated from feedback and use Thompson Sampling to adapt their sensitivity."
106
- }
107
- },
108
- {
109
- "@type": "Question",
110
- "name": "How does ThumbGate compare to SpecLock?",
111
- "acceptedAnswer": {
112
- "@type": "Answer",
113
- "text": "SpecLock requires manually writing constraints or compiling them from a PRD. ThumbGate learns automatically from thumbs-up/down feedback and auto-generates prevention rules from repeated failures. SpecLock locks files from modification; ThumbGate blocks specific actions before they execute."
114
- }
115
- },
116
- {
117
- "@type": "Question",
118
- "name": "How does ThumbGate compare to Mem0?",
119
- "acceptedAnswer": {
120
- "@type": "Answer",
121
- "text": "Mem0 is cloud-hosted memory for AI apps. ThumbGate is local-first enforcement. Mem0 remembers context but cannot block actions. ThumbGate captures feedback, promotes it to prevention rules, and physically blocks tool calls that match known failure patterns."
122
- }
123
- },
124
- {
125
- "@type": "Question",
126
- "name": "Does AI agent memory persist across sessions?",
127
- "acceptedAnswer": {
128
- "@type": "Answer",
129
- "text": "With ThumbGate, yes. Feedback is stored in a local SQLite database with FTS5 indexing. Prevention rules and gates persist across sessions. The recall tool injects relevant context at session start, and session handoff preserves continuity."
130
- }
131
- },
132
- {
133
- "@type": "Question",
134
- "name": "How do I set up PreToolUse hooks in Claude Code?",
135
- "acceptedAnswer": {
136
- "@type": "Answer",
137
- "text": "Run npx thumbgate init --agent claude-code. This auto-configures PreToolUse hooks in your .claude/settings.json. The hooks fire before every tool call and check it against your prevention rules and gates."
138
- }
139
- },
140
- {
141
- "@type": "Question",
142
- "name": "What AI coding agents does ThumbGate work with?",
143
- "acceptedAnswer": {
144
- "@type": "Answer",
145
- "text": "ThumbGate works with Claude Code, Cursor, Codex, Gemini CLI, Amp, OpenCode, and any MCP-compatible agent. Install with npx thumbgate init to auto-detect your agent."
146
- }
147
- }
148
- ]
149
- }
150
- </script>
151
-
152
- <style>
153
- *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
154
- :root {
155
- --bg: #0a0a0b;
156
- --bg-card: #161618;
157
- --border: #222225;
158
- --text: #e8e8ec;
159
- --muted: #8b8b94;
160
- --cyan: #22d3ee;
161
- --green: #34d399;
162
- --red: #f87171;
163
- }
164
- body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg); color: var(--text); line-height: 1.7; }
165
- .container { max-width: 780px; margin: 0 auto; padding: 2rem 1.5rem 4rem; }
166
- nav { padding: 1rem 2rem; border-bottom: 1px solid var(--border); display: flex; gap: 1.5rem; align-items: center; }
167
- nav a { color: var(--muted); text-decoration: none; font-size: 0.9rem; }
168
- nav a:hover { color: var(--cyan); }
169
- nav .brand { color: var(--text); font-weight: 700; font-size: 1.1rem; }
170
- h1 { font-size: 2.2rem; line-height: 1.2; margin: 2rem 0 1rem; }
171
- h2 { font-size: 1.5rem; margin: 2.5rem 0 1rem; color: var(--cyan); }
172
- h3 { font-size: 1.15rem; margin: 1.5rem 0 0.5rem; }
173
- p, li { color: var(--text); margin-bottom: 0.75rem; }
174
- ul { padding-left: 1.5rem; }
175
- li { margin-bottom: 0.5rem; }
176
- code { background: #1a1a1e; padding: 0.15em 0.4em; border-radius: 4px; font-size: 0.9em; color: var(--cyan); }
177
- pre { background: #111113; border: 1px solid var(--border); border-radius: 8px; padding: 1rem; overflow-x: auto; margin: 1rem 0; }
178
- pre code { background: none; padding: 0; color: var(--text); }
179
- .highlight { color: var(--cyan); }
180
- .card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 1.5rem; margin: 1.5rem 0; }
181
- .comparison-table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.9rem; }
182
- .comparison-table th, .comparison-table td { padding: 0.75rem; border: 1px solid var(--border); text-align: left; }
183
- .comparison-table th { background: #111113; color: var(--cyan); }
184
- .comparison-table td:first-child { font-weight: 600; }
185
- .cta { display: inline-block; background: var(--cyan); color: #000; padding: 0.75rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: 600; margin: 1rem 0; }
186
- .cta:hover { opacity: 0.9; }
187
- .breadcrumb { color: var(--muted); font-size: 0.85rem; margin-bottom: 0.5rem; }
188
- .breadcrumb a { color: var(--muted); }
189
- @media (max-width: 600px) { h1 { font-size: 1.6rem; } .container { padding: 1rem; } }
190
- </style>
191
- </head>
192
- <body>
193
- <nav>
194
- <a href="/" class="brand">ThumbGate</a>
195
- <a href="/guide">Guide</a>
196
- <a href="/dashboard">Dashboard</a>
197
- <a href="https://github.com/IgorGanapolsky/ThumbGate">GitHub</a>
198
- </nav>
199
-
200
- <div class="container">
201
- <p class="breadcrumb"><a href="/">Home</a> / Guide</p>
202
-
203
- <h1>How to Stop AI Coding Agents From Repeating Mistakes</h1>
204
- <p style="color:var(--muted);">The complete guide to pre-action gates, feedback capture, history-aware lesson distillation, and automatic prevention rules.</p>
205
-
206
- <h2>The Problem</h2>
207
- <p>Your AI coding agent force-pushes to main. You correct it. Next session, it force-pushes again. You add a rule to CLAUDE.md. It ignores it. You lose an afternoon reverting.</p>
208
- <p>This happens because <strong>prompt rules are suggestions</strong>. The agent can read them, forget them, or override them. There is no enforcement at the tool-call level.</p>
209
-
210
- <h2>The Fix: Pre-Action Gates</h2>
211
- <p>ThumbGate adds an enforcement layer between your agent and its tools. When the agent tries to execute a tool call, a <code>PreToolUse</code> hook fires <em>before</em> the action runs. The hook checks the call against known failure patterns. If it matches a gate, the action is blocked.</p>
212
-
213
- <div class="card">
214
- <h3>Before ThumbGate</h3>
215
- <pre><code>Agent: git push --force origin main
216
- Result: Force-pushed. You lose 3 commits. Again.</code></pre>
217
- <h3>After ThumbGate</h3>
218
- <pre><code>Agent: git push --force origin main
219
- [gate] Blocked: no-force-push (confidence: 0.94)
220
- Agent: git push origin feature-branch
221
- [gate] Passed</code></pre>
222
- </div>
223
-
224
- <h2>Install (One Command)</h2>
225
- <pre><code># Auto-detect your agent and configure hooks
226
- npx thumbgate init
227
-
228
- # Or specify your agent directly
229
- npx thumbgate init --agent claude-code
230
- npx thumbgate init --agent codex
231
- npx thumbgate init --agent cursor
232
- npx thumbgate init --agent gemini</code></pre>
233
-
234
- <h2>How It Works</h2>
235
-
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. 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
- <pre><code># Your agent force-pushed. You say:
239
- "thumbs down — force-pushed to main, lost commits"
240
-
241
- # ThumbGate captures:
242
- {
243
- signal: "negative",
244
- context: "force-pushed to main, lost commits",
245
- tags: ["git", "force-push", "destructive"],
246
- domain: "version-control"
247
- }</code></pre>
248
-
249
- <h3>2. Feedback auto-promotes to prevention rules</h3>
250
- <p>After repeated failures with the same pattern, ThumbGate generates a prevention rule automatically. No manual rule writing needed.</p>
251
-
252
- <h3>3. Rules become gates</h3>
253
- <p>Prevention rules are enforced as pre-action gates. The gate fires at the <code>PreToolUse</code> hook level — inside the agent's runtime, before the tool call executes.</p>
254
-
255
- <h3>4. Gates adapt via Thompson Sampling</h3>
256
- <p>Gates that block too aggressively (high false-positive rate) get their confidence reduced automatically. Gates that catch real mistakes get reinforced. This is Bayesian multi-armed bandit optimization, not static rules.</p>
257
-
258
- <h2>Memory That Persists Across Sessions</h2>
259
- <p>ThumbGate stores feedback in a local SQLite database with FTS5 full-text indexing. Lookups are sub-millisecond even at tens of thousands of entries. Old entries that contradict newer evidence are auto-pruned via Bayesian belief decay.</p>
260
- <ul>
261
- <li><code>recall</code> — injects relevant context at session start</li>
262
- <li><code>search_lessons</code> — finds promoted lessons with corrective actions</li>
263
- <li><code>retrieve_lessons</code> — surfaces lessons for the tool or action you are about to run</li>
264
- <li><code>session_handoff</code> — preserves continuity across sessions</li>
265
- </ul>
266
-
267
- <h2>History-Aware Feedback Sessions</h2>
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
- <ul>
270
- <li><code>open_feedback_session</code> starts a linked correction thread.</li>
271
- <li><code>append_feedback_context</code> adds later notes, failed tool output, or user corrections to the same thread.</li>
272
- <li><code>finalize_feedback_session</code> promotes the combined evidence into one reusable lesson.</li>
273
- <li><code>reflect_on_feedback</code> proposes a reusable rule from the same transcript when the failure pattern is obvious.</li>
274
- </ul>
275
-
276
- <h2>Pre-Action Gates vs Prompt Rules</h2>
277
- <table class="comparison-table">
278
- <tr><th>Feature</th><th>Prompt Rules</th><th>Pre-Action Gates</th></tr>
279
- <tr><td>Where they live</td><td>CLAUDE.md, .cursorrules</td><td>PreToolUse hooks</td></tr>
280
- <tr><td>Enforcement</td><td>Suggestion (can be ignored)</td><td>Blocks execution</td></tr>
281
- <tr><td>When they fire</td><td>At prompt load</td><td>Before every tool call</td></tr>
282
- <tr><td>Auto-generated</td><td>No — hand-written</td><td>Yes — from feedback</td></tr>
283
- <tr><td>Adaptive</td><td>No</td><td>Yes — Thompson Sampling</td></tr>
284
- <tr><td>Persist across sessions</td><td>Only if in a file</td><td>SQLite + JSONL</td></tr>
285
- </table>
286
-
287
- <h2>ThumbGate vs Alternatives</h2>
288
- <table class="comparison-table">
289
- <tr><th>Feature</th><th>ThumbGate</th><th>SpecLock</th><th>Mem0</th></tr>
290
- <tr><td>Blocks mistakes before execution</td><td>Yes — PreToolUse gates</td><td>Yes — Patch Firewall</td><td>No</td></tr>
291
- <tr><td>Learns from feedback</td><td>Yes — thumbs up/down</td><td>No — manual specs</td><td>Yes — auto-capture</td></tr>
292
- <tr><td>Auto-generates rules</td><td>Yes — from repeated failures</td><td>No</td><td>No</td></tr>
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
- <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 $99/seat/mo)</td><td>Free</td><td>Free tier + paid</td></tr>
296
- </table>
297
-
298
- <h2>Common Scenarios</h2>
299
-
300
- <h3>Agent keeps deleting files</h3>
301
- <p>Give a thumbs-down: "deleted production config file." After 2-3 occurrences, ThumbGate generates a gate that blocks <code>rm</code> commands targeting config files.</p>
302
-
303
- <h3>Agent ignores test failures</h3>
304
- <p>Give a thumbs-down: "committed code with failing tests." ThumbGate learns the pattern and gates future commits when test results show failures.</p>
305
-
306
- <h3>Agent uses wrong API endpoint</h3>
307
- <p>Give a thumbs-down: "called staging API in production code." The gate blocks tool calls that reference staging URLs in production contexts.</p>
308
-
309
- <h2>Get Started</h2>
310
- <pre><code>npx thumbgate init</code></pre>
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
- <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 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
-
315
- </div>
316
- </body>
317
- </html>
@@ -1,161 +0,0 @@
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>
@@ -1,158 +0,0 @@
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>Codex CLI Guardrails | Prevent Repeated Mistakes with 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="Codex CLI can move quickly through repo tasks, but buyers need more than good intentions. ThumbGate adds a reliability gateway with pre-action enforcement.">
9
- <meta name="keywords" content="Codex CLI guardrails, Codex CLI safety, prevent Codex mistakes, ThumbGate, pre-action gates, AI coding agent feedback">
10
- <meta property="og:title" content="Codex CLI Guardrails That Actually Enforce">
11
- <meta property="og:description" content="Codex CLI can move quickly through repo tasks, but buyers need more than good intentions. ThumbGate adds a reliability gateway with pre-action enforcement.">
12
- <meta property="og:type" content="article">
13
- <meta property="og:url" content="https://thumbgate-production.up.railway.app/guides/codex-cli-guardrails">
14
- <link rel="canonical" href="https://thumbgate-production.up.railway.app/guides/codex-cli-guardrails">
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": "Codex CLI Guardrails That Actually Enforce",
22
- "description": "Codex CLI can move quickly through repo tasks, but buyers need more than good intentions. ThumbGate adds a reliability gateway with pre-action enforcement.",
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/codex-cli-guardrails",
36
- "about": [
37
- {"@type": "Thing", "name": "Codex CLI guardrails"},
38
- {"@type": "Thing", "name": "AI coding agent safety"},
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 only for Codex CLI?",
52
- "acceptedAnswer": {
53
- "@type": "Answer",
54
- "text": "No. Codex CLI is one supported workflow, but the same feedback and enforcement loop also works across Claude Code, Cursor, Gemini, Amp, and OpenCode."
55
- }
56
- },
57
- {
58
- "@type": "Question",
59
- "name": "How are Codex CLI guardrails different from prompt instructions?",
60
- "acceptedAnswer": {
61
- "@type": "Answer",
62
- "text": "Prompt instructions are advisory. ThumbGate pre-action gates intercept the tool call itself and block the known-bad pattern before execution."
63
- }
64
- },
65
- {
66
- "@type": "Question",
67
- "name": "Can ThumbGate work with Codex CLI sandbox mode?",
68
- "acceptedAnswer": {
69
- "@type": "Answer",
70
- "text": "Yes. ThumbGate adds an additional layer of enforcement on top of any existing sandbox or permission model, so guardrails apply even when sandbox restrictions are relaxed."
71
- }
72
- },
73
- {
74
- "@type": "Question",
75
- "name": "What happens when a gate blocks a Codex CLI command?",
76
- "acceptedAnswer": {
77
- "@type": "Answer",
78
- "text": "The agent receives a rejection with the reason and the linked prevention rule, then adapts its approach. The blocked command never executes."
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/codex-cli-guardrails">Guides</a> / Codex CLI Guardrails</div>
99
- <h1>Codex CLI Guardrails That Actually Enforce</h1>
100
- <p style="color:var(--muted);">3 min read &middot; Designed for Codex CLI, works across all MCP agents</p>
101
-
102
- <div class="tldr"><strong>TL;DR:</strong> Codex CLI can move quickly through repo tasks, but buyers need more than good intentions. ThumbGate adds a reliability gateway so repeated mistakes become searchable lessons, linked rules, and pre-action enforcement.</div>
103
-
104
- <h2>What Codex CLI users usually need</h2>
105
- <p>The problem is rarely a single bad command. It is the cost of the same failure pattern showing up across branches, sessions, or rushed workflows. Once that pattern is obvious, the buyer wants a durable control point.</p>
106
-
107
- <h2>What ThumbGate adds</h2>
108
- <ul>
109
- <li>Feedback capture with explicit thumbs-up/down signals.</li>
110
- <li>Searchable lessons and linked prevention rules.</li>
111
- <li>Pre-action gates that block repeated bad commands before they run.</li>
112
- <li>Verification evidence that gives teams something concrete to audit.</li>
113
- </ul>
114
-
115
- <div class="callout">
116
- <strong>Why this matters:</strong> Guardrails are easier to buy when the outcome is obvious: less rework, fewer repeated failures, and a visible chain from operator feedback to enforced behavior.
117
- </div>
118
-
119
- <h2>Install for Codex CLI</h2>
120
- <pre><code>npx thumbgate init --agent codex</code></pre>
121
- <p>Auto-detects Codex CLI and configures the PreToolUse hook. No build step, no cloud account.</p>
122
-
123
- <h2>Frequently Asked Questions</h2>
124
- <h3>Is ThumbGate only for Codex CLI?</h3>
125
- <p>No. Codex CLI is one supported workflow, but the same feedback and enforcement loop also works across Claude Code, Cursor, Gemini, Amp, and OpenCode.</p>
126
-
127
- <h3>How are Codex CLI guardrails different from prompt instructions?</h3>
128
- <p>Prompt instructions are advisory. ThumbGate pre-action gates intercept the tool call itself and block the known-bad pattern before execution.</p>
129
-
130
- <h3>Can ThumbGate work with Codex CLI sandbox mode?</h3>
131
- <p>Yes. ThumbGate adds an additional layer of enforcement on top of any existing sandbox or permission model, so guardrails apply even when sandbox restrictions are relaxed.</p>
132
-
133
- <h3>What happens when a gate blocks a Codex CLI command?</h3>
134
- <p>The agent receives a rejection with the reason and the linked prevention rule, then adapts its approach. The blocked command never executes.</p>
135
-
136
- <div class="cta-box">
137
- <h2 style="color:var(--text);font-size:1.3rem;margin:0 0 8px;">Pro for operators, Team for governance</h2>
138
- <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>
139
- <div class="cta-install">$ npx thumbgate init --agent codex</div>
140
- <p style="margin-top:8px;"><a href="/pro">See Pro and Team pricing &rarr;</a></p>
141
- </div>
142
-
143
- <div class="related">
144
- <h3>Related</h3>
145
- <a href="/guides/pre-action-gates">What Are Pre-Action Gates? &rarr;</a>
146
- <a href="/compare/mem0">ThumbGate vs Mem0 &rarr;</a>
147
- <a href="/guides/stop-repeated-ai-agent-mistakes">Stop Repeated AI Agent Mistakes &rarr;</a>
148
- <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub &rarr;</a>
149
- </div>
150
- </div>
151
-
152
- <div class="sticky-cta">
153
- <span style="color:var(--muted)">Try it now:</span>
154
- <code>npx thumbgate init --agent codex</code>
155
- <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub &rarr;</a>
156
- </div>
157
- </body>
158
- </html>