thumbgate 1.4.2 → 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 (279) hide show
  1. package/.claude-plugin/README.md +45 -34
  2. package/.claude-plugin/marketplace.json +3 -3
  3. package/.claude-plugin/plugin.json +3 -3
  4. package/.well-known/llms.txt +1 -1
  5. package/.well-known/mcp/server-card.json +1 -1
  6. package/README.md +26 -2
  7. package/adapters/README.md +4 -1
  8. package/adapters/claude/.mcp.json +2 -2
  9. package/adapters/codex/config.toml +2 -2
  10. package/adapters/mcp/server-stdio.js +10 -4
  11. package/adapters/opencode/opencode.json +1 -1
  12. package/bin/cli.js +246 -90
  13. package/config/mcp-allowlists.json +11 -3
  14. package/package.json +184 -21
  15. package/scripts/audit-trail.js +25 -15
  16. package/scripts/auto-wire-hooks.js +127 -0
  17. package/scripts/cli-demo.js +102 -0
  18. package/scripts/cli-schema.js +285 -0
  19. package/scripts/cli-status.js +166 -0
  20. package/scripts/cross-encoder-reranker.js +235 -0
  21. package/scripts/explore-subcommands.js +277 -0
  22. package/scripts/explore.js +569 -0
  23. package/scripts/feedback-loop.js +20 -6
  24. package/scripts/lesson-inference.js +7 -1
  25. package/scripts/lesson-reranker.js +263 -0
  26. package/scripts/lesson-retrieval.js +34 -17
  27. package/scripts/lesson-search.js +69 -0
  28. package/scripts/perplexity-client.js +210 -0
  29. package/scripts/reflector-agent.js +2 -2
  30. package/scripts/statusline-local-stats.js +3 -1
  31. package/scripts/statusline.sh +12 -11
  32. package/src/api/server.js +178 -17
  33. package/src/index.js +3 -0
  34. package/.claude-plugin/bundle/icon.png +0 -0
  35. package/.claude-plugin/bundle/icon.svg +0 -18
  36. package/.claude-plugin/bundle/server/index.js +0 -24
  37. package/adapters/chatgpt/INSTALL.md +0 -138
  38. package/bin/memory.sh +0 -64
  39. package/bin/obsidian-sync.sh +0 -20
  40. package/plugins/amp-skill/INSTALL.md +0 -52
  41. package/plugins/amp-skill/SKILL.md +0 -64
  42. package/plugins/claude-codex-bridge/.claude-plugin/plugin.json +0 -22
  43. package/plugins/claude-codex-bridge/.mcp.json +0 -14
  44. package/plugins/claude-codex-bridge/INSTALL.md +0 -43
  45. package/plugins/claude-codex-bridge/README.md +0 -46
  46. package/plugins/claude-codex-bridge/scripts/codex-bridge.js +0 -286
  47. package/plugins/claude-codex-bridge/skills/adversarial-review/SKILL.md +0 -24
  48. package/plugins/claude-codex-bridge/skills/result/SKILL.md +0 -22
  49. package/plugins/claude-codex-bridge/skills/review/SKILL.md +0 -28
  50. package/plugins/claude-codex-bridge/skills/second-pass/SKILL.md +0 -27
  51. package/plugins/claude-codex-bridge/skills/setup/SKILL.md +0 -21
  52. package/plugins/claude-codex-bridge/skills/status/SKILL.md +0 -19
  53. package/plugins/claude-skill/INSTALL.md +0 -55
  54. package/plugins/claude-skill/SKILL.md +0 -46
  55. package/plugins/codex-profile/.codex-plugin/plugin.json +0 -43
  56. package/plugins/codex-profile/.mcp.json +0 -14
  57. package/plugins/codex-profile/AGENTS.md +0 -20
  58. package/plugins/codex-profile/INSTALL.md +0 -89
  59. package/plugins/codex-profile/README.md +0 -61
  60. package/plugins/cursor-marketplace/.cursor-plugin/plugin.json +0 -23
  61. package/plugins/cursor-marketplace/CHANGELOG.md +0 -30
  62. package/plugins/cursor-marketplace/LICENSE +0 -21
  63. package/plugins/cursor-marketplace/README.md +0 -124
  64. package/plugins/cursor-marketplace/agents/reliability-reviewer.md +0 -31
  65. package/plugins/cursor-marketplace/assets/logo-400x400.png +0 -0
  66. package/plugins/cursor-marketplace/commands/capture-feedback.md +0 -33
  67. package/plugins/cursor-marketplace/commands/check-gates.md +0 -25
  68. package/plugins/cursor-marketplace/commands/show-lessons.md +0 -27
  69. package/plugins/cursor-marketplace/hooks/hooks.json +0 -10
  70. package/plugins/cursor-marketplace/mcp.json +0 -14
  71. package/plugins/cursor-marketplace/rules/feedback-capture.mdc +0 -34
  72. package/plugins/cursor-marketplace/rules/pre-action-gates.mdc +0 -30
  73. package/plugins/cursor-marketplace/rules/session-continuity.mdc +0 -28
  74. package/plugins/cursor-marketplace/scripts/gate-check.sh +0 -21
  75. package/plugins/cursor-marketplace/skills/capture-feedback/SKILL.md +0 -48
  76. package/plugins/cursor-marketplace/skills/prevention-rules/SKILL.md +0 -31
  77. package/plugins/cursor-marketplace/skills/recall-context/SKILL.md +0 -30
  78. package/plugins/cursor-marketplace/skills/search-lessons/SKILL.md +0 -33
  79. package/plugins/gemini-extension/INSTALL.md +0 -92
  80. package/plugins/gemini-extension/gemini_prompt.txt +0 -14
  81. package/plugins/gemini-extension/tool_contract.json +0 -45
  82. package/plugins/opencode-profile/INSTALL.md +0 -57
  83. package/public/assets/instagram-card.png +0 -0
  84. package/public/assets/tiktok-agent-memory.mp4 +0 -0
  85. package/public/blog.html +0 -474
  86. package/public/compare/mem0.html +0 -189
  87. package/public/compare/speclock.html +0 -180
  88. package/public/compare.html +0 -310
  89. package/public/dashboard.html +0 -1100
  90. package/public/guide.html +0 -317
  91. package/public/guides/claude-code-prevent-repeated-mistakes.html +0 -161
  92. package/public/guides/codex-cli-guardrails.html +0 -158
  93. package/public/guides/cursor-prevent-repeated-mistakes.html +0 -161
  94. package/public/guides/pre-action-gates.html +0 -162
  95. package/public/guides/stop-repeated-ai-agent-mistakes.html +0 -159
  96. package/public/index.html +0 -1128
  97. package/public/js/buyer-intent.js +0 -252
  98. package/public/learn/agent-harness-pattern.html +0 -180
  99. package/public/learn/ai-agent-persistent-memory.html +0 -203
  100. package/public/learn/learn.css +0 -45
  101. package/public/learn/mcp-pre-action-gates-explained.html +0 -172
  102. package/public/learn/stop-ai-agent-force-push.html +0 -134
  103. package/public/learn/vibe-coding-safety-net.html +0 -142
  104. package/public/learn.html +0 -274
  105. package/public/lessons.html +0 -967
  106. package/public/llm-context.md +0 -140
  107. package/public/pro.html +0 -1087
  108. package/public/vercel.json +0 -8
  109. package/scripts/a2ui-engine.js +0 -73
  110. package/scripts/adk-consolidator.js +0 -274
  111. package/scripts/agent-security-hardening.js +0 -225
  112. package/scripts/ai-search-visibility.js +0 -142
  113. package/scripts/autonomous-sales-agent.js +0 -39
  114. package/scripts/autoresearch-runner.js +0 -216
  115. package/scripts/background-agent-governance.js +0 -229
  116. package/scripts/behavioral-extraction.js +0 -93
  117. package/scripts/budget-enforcer.js +0 -173
  118. package/scripts/budget-guard.js +0 -173
  119. package/scripts/build-claude-mcpb.js +0 -255
  120. package/scripts/build-codex-plugin.js +0 -152
  121. package/scripts/capture-railway-diagnostics.sh +0 -97
  122. package/scripts/changeset-check.js +0 -372
  123. package/scripts/check-congruence.js +0 -443
  124. package/scripts/computer-use-firewall.js +0 -280
  125. package/scripts/content-engine/linkedin-content-generator.js +0 -154
  126. package/scripts/content-engine/output/linkedin-memento-validation.md +0 -17
  127. package/scripts/content-engine/output/linkedin-posts-2026-04-09.md +0 -175
  128. package/scripts/content-engine/reddit-thread-finder.js +0 -154
  129. package/scripts/context-engine.js +0 -710
  130. package/scripts/daily-digest.js +0 -11
  131. package/scripts/data-governance.js +0 -173
  132. package/scripts/deploy-gcp.sh +0 -44
  133. package/scripts/deploy-policy.js +0 -249
  134. package/scripts/disagreement-mining.js +0 -315
  135. package/scripts/dpo-optimizer.js +0 -206
  136. package/scripts/ensure-repo-bootstrap.js +0 -130
  137. package/scripts/ephemeral-agent-store.js +0 -212
  138. package/scripts/eval-harness.js +0 -56
  139. package/scripts/export-kto-pairs.js +0 -309
  140. package/scripts/export-training.js +0 -446
  141. package/scripts/feedback-fallback.js +0 -111
  142. package/scripts/feedback-inbox-read.js +0 -162
  143. package/scripts/feedback-root-consolidator.js +0 -233
  144. package/scripts/feedback-to-memory.js +0 -185
  145. package/scripts/gate-satisfy.js +0 -42
  146. package/scripts/generate-paperbanana-diagrams.sh +0 -99
  147. package/scripts/generate-pretool-hook.sh +0 -40
  148. package/scripts/github-about.js +0 -430
  149. package/scripts/github-outreach.js +0 -65
  150. package/scripts/gtm-revenue-loop.js +0 -535
  151. package/scripts/hallucination-detector.js +0 -226
  152. package/scripts/hf-papers.js +0 -317
  153. package/scripts/hook-auto-capture.sh +0 -100
  154. package/scripts/hook-stop-pr-thread-check.sh +0 -68
  155. package/scripts/hook-stop-self-score.sh +0 -51
  156. package/scripts/hook-stop-verify-deploy.sh +0 -31
  157. package/scripts/hook-verify-before-done.sh +0 -20
  158. package/scripts/managed-dpo-export.js +0 -91
  159. package/scripts/markdown-escape.js +0 -12
  160. package/scripts/marketing-experiment.js +0 -657
  161. package/scripts/memalign-recall.js +0 -111
  162. package/scripts/memory-migration.js +0 -296
  163. package/scripts/meta-policy.js +0 -190
  164. package/scripts/metered-billing.js +0 -16
  165. package/scripts/model-tier-router.js +0 -310
  166. package/scripts/money-watcher.js +0 -218
  167. package/scripts/multi-hop-recall.js +0 -240
  168. package/scripts/per-step-scoring.js +0 -163
  169. package/scripts/perplexity-marketing.js +0 -466
  170. package/scripts/pii-scanner.js +0 -153
  171. package/scripts/plan-gate.js +0 -154
  172. package/scripts/post-everywhere.js +0 -341
  173. package/scripts/post-to-x-retry.sh +0 -22
  174. package/scripts/post-to-x.js +0 -369
  175. package/scripts/pr-manager.js +0 -421
  176. package/scripts/principle-extractor.js +0 -162
  177. package/scripts/pro-features.js +0 -41
  178. package/scripts/prompt-dlp.js +0 -222
  179. package/scripts/prove-adapters.js +0 -860
  180. package/scripts/prove-attribution.js +0 -361
  181. package/scripts/prove-automation.js +0 -651
  182. package/scripts/prove-autoresearch.js +0 -304
  183. package/scripts/prove-claim-verification.js +0 -277
  184. package/scripts/prove-cloudflare-sandbox.js +0 -161
  185. package/scripts/prove-data-pipeline.js +0 -408
  186. package/scripts/prove-data-quality.js +0 -227
  187. package/scripts/prove-evolution.js +0 -352
  188. package/scripts/prove-harnesses.js +0 -287
  189. package/scripts/prove-intelligence.js +0 -257
  190. package/scripts/prove-lancedb.js +0 -425
  191. package/scripts/prove-local-intelligence.js +0 -340
  192. package/scripts/prove-loop-closure.js +0 -263
  193. package/scripts/prove-packaged-runtime.js +0 -326
  194. package/scripts/prove-predictive-insights.js +0 -355
  195. package/scripts/prove-runtime.js +0 -363
  196. package/scripts/prove-seo-gsd.js +0 -234
  197. package/scripts/prove-settings.js +0 -279
  198. package/scripts/prove-subway-upgrades.js +0 -277
  199. package/scripts/prove-tessl.js +0 -229
  200. package/scripts/prove-training-export.js +0 -325
  201. package/scripts/prove-workflow-contract.js +0 -112
  202. package/scripts/prove-xmemory.js +0 -332
  203. package/scripts/publish-decision.js +0 -159
  204. package/scripts/ralph-loop.js +0 -376
  205. package/scripts/ralph-mode-ci.js +0 -331
  206. package/scripts/reddit-dm-outreach.js +0 -192
  207. package/scripts/reddit-monitor-cron.sh +0 -26
  208. package/scripts/reminder-engine.js +0 -132
  209. package/scripts/revenue-status.js +0 -472
  210. package/scripts/rotate-stripe-webhook-secret.js +0 -314
  211. package/scripts/schedule-manager.js +0 -249
  212. package/scripts/self-healing-check.js +0 -193
  213. package/scripts/shieldcortex-memory-firewall-runner.mjs +0 -53
  214. package/scripts/skill-exporter.js +0 -260
  215. package/scripts/skill-materializer.js +0 -134
  216. package/scripts/skill-packs.js +0 -136
  217. package/scripts/skill-proposer.js +0 -99
  218. package/scripts/skill-quality-tracker.js +0 -282
  219. package/scripts/slow-loop.js +0 -72
  220. package/scripts/social-analytics/db/analytics.sqlite +0 -0
  221. package/scripts/social-analytics/db/schema.sql +0 -32
  222. package/scripts/social-analytics/digest.js +0 -256
  223. package/scripts/social-analytics/engagement-audit.js +0 -185
  224. package/scripts/social-analytics/generate-instagram-card.js +0 -97
  225. package/scripts/social-analytics/instagram-thumbgate-post.js +0 -111
  226. package/scripts/social-analytics/install-growth-automation.js +0 -114
  227. package/scripts/social-analytics/load-env.js +0 -77
  228. package/scripts/social-analytics/mcp-server.js +0 -289
  229. package/scripts/social-analytics/normalizer.js +0 -580
  230. package/scripts/social-analytics/notify.js +0 -162
  231. package/scripts/social-analytics/poll-all.js +0 -107
  232. package/scripts/social-analytics/pollers/github.js +0 -195
  233. package/scripts/social-analytics/pollers/instagram.js +0 -253
  234. package/scripts/social-analytics/pollers/linkedin.js +0 -340
  235. package/scripts/social-analytics/pollers/plausible.js +0 -245
  236. package/scripts/social-analytics/pollers/reddit.js +0 -306
  237. package/scripts/social-analytics/pollers/threads.js +0 -233
  238. package/scripts/social-analytics/pollers/tiktok.js +0 -203
  239. package/scripts/social-analytics/pollers/x.js +0 -227
  240. package/scripts/social-analytics/pollers/youtube.js +0 -304
  241. package/scripts/social-analytics/pollers/zernio.js +0 -183
  242. package/scripts/social-analytics/publish-instagram-thumbgate.js +0 -104
  243. package/scripts/social-analytics/publish-thumbgate-launch.js +0 -322
  244. package/scripts/social-analytics/publishers/devto.js +0 -122
  245. package/scripts/social-analytics/publishers/instagram.js +0 -317
  246. package/scripts/social-analytics/publishers/linkedin.js +0 -294
  247. package/scripts/social-analytics/publishers/reddit.js +0 -385
  248. package/scripts/social-analytics/publishers/threads.js +0 -275
  249. package/scripts/social-analytics/publishers/tiktok.js +0 -217
  250. package/scripts/social-analytics/publishers/x.js +0 -259
  251. package/scripts/social-analytics/publishers/youtube.js +0 -223
  252. package/scripts/social-analytics/publishers/zernio.js +0 -539
  253. package/scripts/social-analytics/reconcile-thumbgate-campaign.js +0 -165
  254. package/scripts/social-analytics/run-digest.js +0 -34
  255. package/scripts/social-analytics/schedule-thumbgate-campaign.js +0 -275
  256. package/scripts/social-analytics/store.js +0 -455
  257. package/scripts/social-analytics/sync-launch-assets.js +0 -185
  258. package/scripts/social-analytics/utm.js +0 -143
  259. package/scripts/social-pipeline.js +0 -2626
  260. package/scripts/social-post-hourly.js +0 -228
  261. package/scripts/social-quality-gate.js +0 -134
  262. package/scripts/social-reply-monitor.js +0 -592
  263. package/scripts/status-dashboard.js +0 -155
  264. package/scripts/stripe-live-status.js +0 -115
  265. package/scripts/subagent-profiles.js +0 -79
  266. package/scripts/sync-branch-protection.js +0 -340
  267. package/scripts/sync-gh-secrets-from-env.sh +0 -70
  268. package/scripts/sync-github-about.js +0 -55
  269. package/scripts/sync-version.js +0 -479
  270. package/scripts/synthetic-dpo.js +0 -234
  271. package/scripts/tessl-export.js +0 -369
  272. package/scripts/test-coverage.js +0 -128
  273. package/scripts/thumbgate_session_start.sh +0 -32
  274. package/scripts/train_from_feedback.py +0 -929
  275. package/scripts/validate-feedback.js +0 -581
  276. package/scripts/verify-obsidian-setup.sh +0 -269
  277. package/scripts/verify-run.js +0 -269
  278. package/scripts/weekly-auto-post.js +0 -124
  279. package/scripts/x-autonomous-marketing.js +0 -139
@@ -1,46 +0,0 @@
1
- ---
2
- name: thumbgate-feedback
3
- description: >
4
- Capture thumbs up/down feedback into structured memories and prevention rules.
5
- Use when user gives explicit quality signals about agent work (e.g. "that worked",
6
- "that failed", "thumbs up/down"). Do NOT use for general questions, code generation,
7
- file operations, or any task that is not explicit feedback on prior agent output.
8
- triggers:
9
- - thumbs up
10
- - thumbs down
11
- - that worked
12
- - that failed
13
- negative_triggers:
14
- - generate code
15
- - search files
16
- - explain this
17
- - run tests
18
- ---
19
-
20
- # ThumbGate Feedback Skill
21
-
22
- When user provides feedback, execute:
23
-
24
- ```bash
25
- # negative
26
- node .claude/scripts/feedback/capture-feedback.js \
27
- --feedback=down \
28
- --context="<what failed>" \
29
- --what-went-wrong="<specific failure>" \
30
- --what-to-change="<prevention action>" \
31
- --tags="<domain>,regression"
32
-
33
- # positive
34
- node .claude/scripts/feedback/capture-feedback.js \
35
- --feedback=up \
36
- --context="<what succeeded>" \
37
- --what-worked="<repeatable pattern>" \
38
- --tags="<domain>,fix"
39
- ```
40
-
41
- At session start, run:
42
-
43
- ```bash
44
- npm run feedback:summary
45
- npm run feedback:rules
46
- ```
@@ -1,43 +0,0 @@
1
- {
2
- "name": "codex-profile",
3
- "version": "1.4.0",
4
- "description": "ThumbGate for Codex: pre-action gates, skill packs, hallucination detection, PII scanning, progressive disclosure (82% token savings), and MCP-backed reliability memory.",
5
- "author": {
6
- "name": "Igor Ganapolsky",
7
- "url": "https://github.com/IgorGanapolsky"
8
- },
9
- "homepage": "https://thumbgate-production.up.railway.app",
10
- "repository": "https://github.com/IgorGanapolsky/ThumbGate",
11
- "license": "MIT",
12
- "keywords": [
13
- "codex",
14
- "codex-plugin",
15
- "thumbgate",
16
- "pre-action-gates",
17
- "feedback",
18
- "mcp",
19
- "agent-reliability"
20
- ],
21
- "mcpServers": "./.mcp.json",
22
- "interface": {
23
- "displayName": "ThumbGate for Codex",
24
- "shortDescription": "Pre-action gates + skill packs + hallucination detection for Codex.",
25
- "longDescription": "Adds ThumbGate's pre-action gates, domain skill packs (Stripe, Railway, DB), hallucination detection, PII scanning, progressive disclosure (82% token savings), and MCP reliability memory to Codex workflows.",
26
- "developerName": "Igor Ganapolsky",
27
- "category": "Developer Tools",
28
- "capabilities": [
29
- "Interactive",
30
- "Write"
31
- ],
32
- "websiteURL": "https://thumbgate-production.up.railway.app",
33
- "privacyPolicyURL": "https://thumbgate-production.up.railway.app/privacy",
34
- "termsOfServiceURL": "https://github.com/IgorGanapolsky/ThumbGate/blob/main/LICENSE",
35
- "defaultPrompt": [
36
- "Load ThumbGate skill packs before a risky Codex task.",
37
- "Capture a thumbs down with context after a mistake.",
38
- "Check prevention gates before a deploy or publish.",
39
- "Run the eval harness to measure before/after impact."
40
- ],
41
- "brandColor": "#0ea5e9"
42
- }
43
- }
@@ -1,14 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "thumbgate": {
4
- "command": "npx",
5
- "args": [
6
- "--yes",
7
- "--package",
8
- "thumbgate@1.4.0",
9
- "thumbgate",
10
- "serve"
11
- ]
12
- }
13
- }
14
- }
@@ -1,20 +0,0 @@
1
- # Codex ThumbGate Add-on
2
-
3
- ## Trigger
4
- If user gives explicit positive/negative outcome feedback, capture it immediately.
5
-
6
- ## Commands
7
-
8
- ```bash
9
- node .claude/scripts/feedback/capture-feedback.js --feedback=up --context="..." --tags="..."
10
- node .claude/scripts/feedback/capture-feedback.js --feedback=down --context="..." --tags="..."
11
- ```
12
-
13
- ## Session Start
14
-
15
- ```bash
16
- npm run feedback:summary
17
- npm run feedback:rules
18
- ```
19
-
20
- Use generated rules as hard guardrails to avoid repeated mistakes.
@@ -1,89 +0,0 @@
1
- # ThumbGate for Codex
2
-
3
- ThumbGate now ships a standalone Codex plugin bundle, a repo-local Codex app plugin surface, and the version-pinned MCP profile.
4
-
5
- ## Option 1: Use the standalone release bundle
6
-
7
- Download the latest bundle:
8
-
9
- - `https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip`
10
-
11
- Or build it from source:
12
-
13
- ```bash
14
- npm run build:codex-plugin
15
- ```
16
-
17
- After extracting `thumbgate-codex-plugin.zip`, the folder already contains:
18
-
19
- - `.codex-plugin/plugin.json`
20
- - `.mcp.json`
21
- - `.agents/plugins/marketplace.json`
22
- - `config.toml`
23
-
24
- The bundled marketplace catalog points at `./`, so the extracted directory is a self-contained plugin root instead of a repo-relative stub.
25
-
26
- ## Option 2: Use the repo-local plugin files
27
-
28
- ## Shipped plugin files
29
-
30
- - Codex plugin manifest: `plugins/codex-profile/.codex-plugin/plugin.json`
31
- - Codex MCP config: `plugins/codex-profile/.mcp.json`
32
- - Codex marketplace entry: `.agents/plugins/marketplace.json`
33
- - Manual install profile: `adapters/codex/config.toml`
34
-
35
- ## Option 3: Manual MCP install
36
-
37
- Add the MCP server block to your Codex config:
38
-
39
- ```bash
40
- cat adapters/codex/config.toml >> ~/.codex/config.toml
41
- ```
42
-
43
- Or create the config file if it does not exist:
44
-
45
- ```bash
46
- mkdir -p ~/.codex
47
- cat adapters/codex/config.toml >> ~/.codex/config.toml
48
- ```
49
-
50
- ## What Gets Added
51
-
52
- The following block is appended to `~/.codex/config.toml`:
53
-
54
- ```toml
55
- [mcp_servers.thumbgate]
56
- command = "npx"
57
- args = ["--yes", "--package", "thumbgate@1.4.0", "thumbgate", "serve"]
58
- ```
59
-
60
- The repo-local Codex app plugin ships the same runtime path through `plugins/codex-profile/.mcp.json`, so the manual config and plugin metadata stay aligned.
61
-
62
- ## Verify
63
-
64
- Start the MCP server manually to confirm it runs:
65
-
66
- ```bash
67
- node adapters/mcp/server-stdio.js
68
- # Expected: MCP server listening on stdio
69
- # Press Ctrl+C to stop
70
- ```
71
-
72
- Then restart Codex. The `thumbgate` MCP server will appear in the tool list.
73
-
74
- ## Available Tools (via MCP)
75
-
76
- - `capture_feedback` — POST `/v1/feedback/capture`
77
- - `feedback_summary` — GET `/v1/feedback/summary`
78
- - `prevention_rules` — POST `/v1/feedback/rules`
79
- - `plan_intent` — POST `/v1/intents/plan`
80
-
81
- ## Requirements
82
-
83
- - Codex with MCP support
84
- - Node.js 18+ in PATH
85
- - Config file at `~/.codex/config.toml` when using the manual MCP install path
86
-
87
- ## Uninstall
88
-
89
- Remove the `[mcp_servers.thumbgate]` section from `~/.codex/config.toml`.
@@ -1,61 +0,0 @@
1
- # ThumbGate for Codex
2
-
3
- ThumbGate now ships a standalone Codex plugin bundle in GitHub Releases, alongside the repo-local Codex profile in this repository.
4
-
5
- ## Release surfaces
6
-
7
- - Latest standalone bundle: `https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip`
8
- - Versioned bundle pattern: `https://github.com/IgorGanapolsky/ThumbGate/releases/download/v<VERSION>/thumbgate-codex-plugin-v<VERSION>.zip`
9
- - Source plugin manifest: `plugins/codex-profile/.codex-plugin/plugin.json`
10
- - Source MCP config: `plugins/codex-profile/.mcp.json`
11
- - Manual install profile: `adapters/codex/config.toml`
12
-
13
- ## What it does
14
-
15
- - adds ThumbGate's Pre-Action Gates to Codex workflows
16
- - captures thumbs-up/down feedback that survives session boundaries
17
- - reuses the same local-first MCP runtime as Claude, Cursor, Gemini, Amp, and OpenCode
18
-
19
- ## What's inside the standalone bundle
20
-
21
- - `.codex-plugin/plugin.json`
22
- - `.mcp.json`
23
- - `.agents/plugins/marketplace.json`
24
- - `config.toml`
25
- - `README.md`, `INSTALL.md`, and `AGENTS.md`
26
-
27
- The bundled marketplace catalog rewrites the plugin path to `./`, so the extracted folder can act as a self-contained plugin root instead of depending on this repository layout.
28
-
29
- ## Install paths
30
-
31
- ### Standalone Codex plugin bundle
32
-
33
- Download the latest `thumbgate-codex-plugin.zip`, unzip it, and point Codex at the extracted `thumbgate-codex-plugin/` directory when you want a standalone plugin release surface.
34
-
35
- ### Repo-local Codex app plugin
36
-
37
- Use the plugin metadata and MCP config in this folder when Codex is loading plugin surfaces directly from the repository.
38
-
39
- ### Manual install
40
-
41
- Copy the MCP profile from `adapters/codex/config.toml` into `~/.codex/config.toml`.
42
-
43
- That profile launches:
44
-
45
- ```toml
46
- [mcp_servers.thumbgate]
47
- command = "npx"
48
- args = ["--yes", "--package", "thumbgate@1.4.0", "thumbgate", "serve"]
49
- ```
50
-
51
- ### Build from source
52
-
53
- Build the same standalone release bundle locally with:
54
-
55
- ```bash
56
- npm run build:codex-plugin
57
- ```
58
-
59
- ## Why this exists
60
-
61
- The Codex support story is no longer just "copy this config block." ThumbGate now has a direct-download Codex plugin bundle, a repo-local plugin surface, and a pinned manual MCP profile so release assets, install docs, and the runtime stay aligned.
@@ -1,23 +0,0 @@
1
- {
2
- "name": "thumbgate",
3
- "displayName": "ThumbGate",
4
- "description": "👍👎 Thumbs down a mistake — your AI agent won't repeat it. Thumbs up good work — it remembers the pattern.",
5
- "version": "1.4.0",
6
- "author": {
7
- "name": "Igor Ganapolsky"
8
- },
9
- "homepage": "https://thumbgate-production.up.railway.app",
10
- "repository": "https://github.com/IgorGanapolsky/ThumbGate",
11
- "license": "MIT",
12
- "keywords": [
13
- "cursor",
14
- "cursor-plugin",
15
- "feedback",
16
- "thumbs-up-down",
17
- "thumbgate",
18
- "ai-agent-memory",
19
- "mistake-prevention",
20
- "coding-agent"
21
- ],
22
- "logo": "assets/logo-400x400.png"
23
- }
@@ -1,30 +0,0 @@
1
- # Changelog
2
-
3
- ## 0.8.1 - 2026-03-26
4
-
5
- - Unified ThumbGate branding across all public surfaces (README, AGENTS.md, CLAUDE.md, GEMINI.md, landing page, package.json).
6
- - Landing page SEO: "human-in-the-loop enforcement", "vibe coding" positioning, FAQPage JSON-LD schema for Google rich results.
7
- - Added congruence CI check (`scripts/check-congruence.js`) — enforces version, branding, tech stack terms, and honest disclaimer across README and landing page on every PR.
8
- - Performance: deferred non-critical side-effects in `captureFeedback` (contextFs, RLAIF self-audit) via `setImmediate`.
9
- - Added `_captureMs` timing field to accepted feedback responses for observability.
10
- - Added `mcpize.yaml` to version sync targets.
11
- - Dead code removal: -1,551 lines (contract-audit.js, prove-rlaif.js, stale landing-page.html, 3 duplicate docs).
12
- - Fixed GitGuardian incident #29200799: scrubbed hardcoded Google API key from git history.
13
- - Social automation pipeline: post-everywhere CLI, reply monitor with AutoMod-safe Reddit posts.
14
- - TDS article draft: "Beyond Prompt Rules: How Pre-Action Gates Stop AI Coding Agents From Repeating Mistakes".
15
-
16
- ## 0.8.0 - 2026-03-25
17
-
18
- - **Lesson DB:** SQLite + FTS5 full-text search replaces linear Jaccard token-overlap. Sub-millisecond ranked search indexed by signal, domain, tags, importance.
19
- - **Corrective actions:** On negative feedback, `capture_feedback` returns `correctiveActions[]` — top 3 remediation steps inferred from similar past failures.
20
- - **search_lessons MCP tool:** Exposes corrective actions, lifecycle state, linked rules, linked gates, and next harness fixes per lesson.
21
- - **search_thumbgate MCP tool:** Searches raw ThumbGate state across feedback logs, ContextFS memory, and prevention rules.
22
- - **Rejection ledger:** Tracks why vague feedback was rejected with revival conditions.
23
- - **Bayesian belief updates:** Each memory carries a posterior that updates on new evidence; high-entropy contradictions auto-prune.
24
-
25
- ## 0.7.4 - 2026-03-20
26
-
27
- - Added `session_handoff` and `session_primer` MCP tools for seamless cross-session context continuity.
28
- - New `session` namespace in ContextFS stores primer.json with auto-captured git state (branch, last 5 commits, modified files, working tree status), last completed task, next step, and blockers.
29
- - `session_handoff` records provenance events for full audit trail of session transitions.
30
- - Closes Layer 2 (primer.md) of the 5-layer memory stack — no manual primer file needed.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Igor Ganapolsky
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,124 +0,0 @@
1
- # ThumbGate — for Cursor
2
-
3
- `ThumbGate` is the human-facing plugin name in Cursor listings.
4
- `thumbgate` stays the plugin slug, npm package, and launcher target.
5
-
6
- The canonical short description is:
7
-
8
- > 👍👎 Thumbs down a mistake — your AI agent won't repeat it. Thumbs up good work — it remembers the pattern.
9
-
10
- How it works:
11
-
12
- - 👎 **Thumbs down** a mistake — it gets blocked from happening again
13
- - 👍 **Thumbs up** good work — the agent remembers the pattern
14
- - **History-aware lesson distillation** — vague thumbs-down signals can be grounded in up to 8 prior recorded entries and the failed tool call
15
- - **Cross-session memory** — lessons persist between conversations
16
- - **Automatic enforcement** — repeated failures become prevention rules
17
- - **Zero config** — install and start giving feedback
18
-
19
- ## What's included
20
-
21
- ### Rules
22
-
23
- | File | Always on | Description |
24
- |------|-----------|-------------|
25
- | `rules/pre-action-gates.mdc` | Yes | Before risky tool calls (git push, rm -rf, npm publish, deploy), check prevention rules via the thumbgate MCP server. Blocks and explains if a rule matches. |
26
- | `rules/feedback-capture.mdc` | No | After any mistake or unexpected behavior, prompt to capture structured feedback with context and tags. |
27
- | `rules/session-continuity.mdc` | No | At session start, recall past context; at session end, hand off state for next session. |
28
-
29
- ### Skills
30
-
31
- | Skill | Description |
32
- |-------|-------------|
33
- | `recall-context` | Recall relevant past failures, prevention rules, and context packs before starting a coding task. |
34
- | `capture-feedback` | Capture structured thumbs up/down feedback with context, tags, and optional rubric scores. |
35
- | `search-lessons` | Search promoted lessons for corrective actions, lifecycle state, linked rules, and linked gates. |
36
- | `prevention-rules` | Generate and review prevention rules auto-promoted from repeated failure patterns. |
37
-
38
- ### Agent
39
-
40
- | Agent | Description |
41
- |-------|-------------|
42
- | `reliability-reviewer` | A reliability-focused reviewer that checks code changes against known failure patterns from the project's ThumbGate memory. |
43
-
44
- ### Commands
45
-
46
- | Command | Description |
47
- |---------|-------------|
48
- | `/check-gates` | Run a Pre-Action Gate check against prevention rules before executing a risky action. |
49
- | `/show-lessons` | Display promoted lessons and their corrective actions. |
50
- | `/capture-feedback` | Quick feedback capture with structured signals. |
51
-
52
- ### Hooks
53
-
54
- | Hook | Trigger | Description |
55
- |------|---------|-------------|
56
- | `beforeShellExecution` | `git push`, `rm -rf`, `npm publish`, `deploy` | Runs `scripts/gate-check.sh` to evaluate the command through ThumbGate `gate-check` before execution. |
57
-
58
- ### MCP Server
59
-
60
- | Server | Command |
61
- |--------|---------|
62
- | `thumbgate` | `npx --yes --package thumbgate@latest thumbgate serve` |
63
-
64
- ## Install
65
-
66
- ### Cursor Marketplace
67
-
68
- Search for **ThumbGate** in the Cursor marketplace and install.
69
-
70
- ### Team Marketplace
71
-
72
- Cursor Teams and Enterprise can import this repository through `Dashboard -> Settings -> Plugins -> Team Marketplaces`. If Cursor exposes `Enable Auto Refresh`, turn it on so repo-backed plugin updates refresh automatically.
73
-
74
- ### Cursor Directory
75
-
76
- Treat Cursor Directory as a discoverability surface, not the runtime distribution channel. It helps people find the plugin, but npm releases do not rewrite directory copy on their own. The Cursor Directory does not auto-refresh from npm.
77
-
78
- If a manual submission form asks for `Name`, use `ThumbGate` instead of the slug.
79
-
80
- ### Manual setup
81
-
82
- Use the existing project bootstrap:
83
-
84
- ```bash
85
- npx thumbgate init
86
- ```
87
-
88
- Or copy the plugin MCP config into `.cursor/mcp.json`:
89
-
90
- ```json
91
- {
92
- "mcpServers": {
93
- "thumbgate": {
94
- "command": "npx",
95
- "args": ["--yes", "--package", "thumbgate@latest", "thumbgate", "serve"]
96
- }
97
- }
98
- }
99
- ```
100
-
101
- ## Update behavior
102
-
103
- - Runtime updates: the plugin asks npm for `thumbgate@latest`, so new npm releases can flow into the Cursor runtime without editing the plugin config.
104
- - Metadata updates: `npm publish` does not refresh the marketplace description, screenshots, README, or directory listing copy. Republish the plugin bundle when those assets change.
105
- - Guaranteed rollouts: if you need deterministic behavior for a specific release, pin a version manually in local config instead of relying on `@latest`.
106
-
107
- ## Feedback
108
-
109
- Use the `/capture-feedback` command or the `capture_feedback` MCP tool to send structured feedback directly to the ThumbGate memory system. Feedback drives prevention rule generation — repeated failure patterns are auto-promoted into enforceable gates.
110
-
111
- When the user only gives a quick `thumbs_down`, `wrong`, or `correct`, the Cursor plugin should include up to 8 prior recorded entries and the failed tool call in `chatHistory` so ThumbGate can propose the lesson automatically. If the explanation comes later, reuse the earlier event with `relatedFeedbackId` so the linked 60-second follow-up session refines the same feedback record instead of creating an isolated duplicate.
112
-
113
- ## What makes this useful in Cursor
114
-
115
- ThumbGate gives Cursor agents a practical guardrail layer:
116
-
117
- - **Pre-Action Gates** block known-bad actions before tool use
118
- - **Prevention rules** auto-generated from repeated failures
119
- - **Context packs** keep relevant project history in scope
120
- - **Feedback capture** with structured up/down signals and history-aware lesson proposals
121
- - **Reliability reviewer** checks changes against known failure patterns
122
-
123
- Verification evidence for shipped behavior lives in `docs/VERIFICATION_EVIDENCE.md`.
124
- Release and promotion rules live in `docs/CURSOR_PLUGIN_OPERATIONS.md`.
@@ -1,31 +0,0 @@
1
- ---
2
- name: reliability-reviewer
3
- description: A reliability-focused reviewer agent that checks code changes against known failure patterns from the project's ThumbGate memory. Prioritizes preventing repeated mistakes.
4
- ---
5
-
6
- # Reliability Reviewer
7
-
8
- You are a reliability-focused code reviewer. Your job is to check proposed code changes against the project's known failure patterns stored in ThumbGate memory.
9
-
10
- ## Review process
11
-
12
- 1. **Recall context** — Use the `recall` MCP tool to retrieve relevant prevention rules and past failures for the files being changed.
13
- 2. **Search lessons** — Use the `search_lessons` MCP tool to find promoted lessons related to the components being modified.
14
- 3. **Cross-reference changes** — Compare the proposed changes against known failure patterns. Flag any changes that match or resemble past failures.
15
- 4. **Check gates** — Use the `prevention_rules` MCP tool to verify no active prevention rules are violated by the changes.
16
- 5. **Report findings** — Summarize which past failures are relevant, what risks exist, and what corrective actions should be applied.
17
-
18
- ## Review priorities
19
-
20
- 1. **Repeated mistakes** — Changes that match previously captured failure patterns are highest priority.
21
- 2. **Missing gate checks** — Risky operations without corresponding pre-action gate checks.
22
- 3. **Untested paths** — Changes to code paths that previously caused failures without new test coverage.
23
- 4. **Feedback gaps** — Changes in areas with no captured feedback history (unknown risk).
24
-
25
- ## Output format
26
-
27
- For each finding, include:
28
- - The matched failure pattern or prevention rule
29
- - The specific code change that triggered the match
30
- - The recommended corrective action
31
- - Severity: critical (matches active prevention rule), warning (matches past failure), or info (no history)
@@ -1,33 +0,0 @@
1
- ---
2
- name: capture-feedback
3
- description: Quick feedback capture with structured signals.
4
- ---
5
-
6
- # Capture Feedback
7
-
8
- Quickly capture structured feedback about the current task or action.
9
-
10
- ## Usage
11
-
12
- Invoke this command to record a feedback signal with context and tags. If the user only gives a quick `thumbs_down`, `wrong`, or `correct`, the command should still call `capture_feedback` and pass recent context through `chatHistory`.
13
-
14
- ## Steps
15
-
16
- 1. Specify signal: `thumbs_up` or `thumbs_down`.
17
- 2. If the user already gave a clear explanation, pass it as `context`.
18
- 3. If the explanation is vague or omitted, gather up to 8 prior recorded entries plus the failed tool call into `chatHistory`.
19
- 4. Add tags for categorization.
20
- 5. If this is a later clarification for an existing feedback event, include `relatedFeedbackId`.
21
- 6. Call the `capture_feedback` MCP tool and show the proposed lesson or corrective rule back to the user.
22
-
23
- ## Example
24
-
25
- ```
26
- /capture-feedback thumbs_down "Tests broke after migration" database,migration
27
- ```
28
-
29
- ```
30
- /capture-feedback thumbs_down
31
- ```
32
-
33
- In the second example, the command should rely on history-aware distillation instead of refusing the signal outright. If the user adds more detail later, reuse `relatedFeedbackId` so the linked 60-second follow-up session updates the same record.
@@ -1,25 +0,0 @@
1
- ---
2
- name: check-gates
3
- description: Run a Pre-Action Gate check against prevention rules before executing a risky action.
4
- ---
5
-
6
- # Check Gates
7
-
8
- Run a pre-action gate check to verify if a planned action is safe to execute.
9
-
10
- ## Usage
11
-
12
- Invoke this command before performing risky operations like deployments, force pushes, or destructive file operations.
13
-
14
- ## Steps
15
-
16
- 1. Describe the action you are about to take.
17
- 2. The command queries the `prevention_rules` MCP tool to check for matching rules.
18
- 3. If a match is found, the blocked action and corrective action are displayed.
19
- 4. If no match is found, the action is cleared to proceed.
20
-
21
- ## Example
22
-
23
- ```
24
- /check-gates git push --force origin main
25
- ```
@@ -1,27 +0,0 @@
1
- ---
2
- name: show-lessons
3
- description: Display promoted lessons and their corrective actions.
4
- ---
5
-
6
- # Show Lessons
7
-
8
- Display promoted lessons from the project's ThumbGate memory along with their corrective actions and linked prevention rules.
9
-
10
- ## Usage
11
-
12
- Invoke this command to review what the system has learned from past failures.
13
-
14
- ## Steps
15
-
16
- 1. The command calls the `search_lessons` MCP tool to retrieve all active promoted lessons.
17
- 2. Results are displayed with:
18
- - Lesson description
19
- - Corrective action
20
- - Linked prevention rules (if any)
21
- - Lifecycle state (active, archived, superseded)
22
-
23
- ## Example
24
-
25
- ```
26
- /show-lessons
27
- ```
@@ -1,10 +0,0 @@
1
- {
2
- "hooks": {
3
- "beforeShellExecution": [
4
- {
5
- "command": "./scripts/gate-check.sh",
6
- "matcher": "git push|rm -rf|npm publish|deploy"
7
- }
8
- ]
9
- }
10
- }
@@ -1,14 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "thumbgate": {
4
- "command": "npx",
5
- "args": [
6
- "--yes",
7
- "--package",
8
- "thumbgate@latest",
9
- "thumbgate",
10
- "serve"
11
- ]
12
- }
13
- }
14
- }
@@ -1,34 +0,0 @@
1
- ---
2
- description: After any mistake or unexpected behavior, prompt to capture structured feedback with context, history-aware lesson distillation, and tags.
3
- alwaysApply: false
4
- ---
5
-
6
- # Feedback Capture
7
-
8
- After any mistake, unexpected behavior, or completed task, prompt to capture structured feedback.
9
-
10
- ## When to trigger
11
-
12
- - A tool call produces an unexpected error
13
- - A test fails after code changes
14
- - The user corrects an approach mid-task
15
- - A task completes successfully (capture positive signal)
16
-
17
- ## How to capture
18
-
19
- 1. Call the `capture_feedback` MCP tool with:
20
- - `signal`: "thumbs_up" or "thumbs_down"
21
- - `context`: Brief description of what happened when the explanation is already explicit
22
- - `tags`: Relevant tags (e.g., "test-failure", "wrong-approach", "deployment-error")
23
- - `chatHistory`: up to 8 prior recorded entries plus the failed tool call when the thumbs-down signal is vague and the lesson should be inferred from recent conversation
24
- - `relatedFeedbackId`: use for a later clarification that should refine an existing feedback event
25
- - `rubric_scores`: Optional structured scores if a rubric applies
26
-
27
- 2. Include enough context so the feedback is useful for future prevention rule generation.
28
- 3. If the user only gives a bare thumbs signal or short correction, still capture it and let ThumbGate propose `whatWentWrong` / `whatToChange` from recent history. If the explanation arrives later, reuse `relatedFeedbackId` so the linked 60-second follow-up session refines the same record.
29
-
30
- ## Examples
31
-
32
- - Test failure after refactor: signal=thumbs_down, tags=["test-failure", "refactor"], context="Tests broke after extracting helper function — missed internal dependency"
33
- - Successful deployment: signal=thumbs_up, tags=["deployment", "success"], context="Clean deploy after running gate checks"
34
- - Vague correction after failed tool use: signal=thumbs_down, chatHistory=[up to 8 prior recorded entries + failed tool call], tags=["wrong-approach", "tool-failure"]