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
@@ -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.3", "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.3", "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.3",
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"]
@@ -1,30 +0,0 @@
1
- ---
2
- description: Before risky tool calls (git push, rm -rf, npm publish, deploy), check prevention rules via the thumbgate MCP server. If a rule matches, STOP and explain why.
3
- alwaysApply: true
4
- ---
5
-
6
- # Pre-Action Gates
7
-
8
- Before executing any of these risky actions, query the `prevention_rules` MCP tool to check for matching prevention rules:
9
-
10
- - `git push` (especially force push)
11
- - `rm -rf` or recursive file deletion
12
- - `npm publish`
13
- - `deploy` commands (any deployment target)
14
- - Database migration commands
15
- - Secret or credential changes
16
-
17
- ## Enforcement flow
18
-
19
- 1. Extract the command or action about to be executed.
20
- 2. Call `prevention_rules` with the action description to check for matching rules.
21
- 3. If a rule matches:
22
- - **STOP** the action immediately.
23
- - Display the matched rule's description and corrective action.
24
- - Ask the user to confirm before proceeding.
25
- 4. If no rules match, proceed normally.
26
-
27
- ## After a blocked action
28
-
29
- - Suggest the corrective action from the matched prevention rule.
30
- - Offer to capture feedback if the block was incorrect (false positive).
@@ -1,28 +0,0 @@
1
- ---
2
- description: At session start, recall past context. At session end, hand off state for next session.
3
- alwaysApply: false
4
- ---
5
-
6
- # Session Continuity
7
-
8
- Maintain context across coding sessions using the ThumbGate memory system.
9
-
10
- ## Session start
11
-
12
- 1. Call the `recall` MCP tool to retrieve:
13
- - Recent prevention rules relevant to the current project
14
- - Past failure patterns and corrective actions
15
- - Active context packs from previous sessions
16
- 2. Summarize recalled context before starting work.
17
-
18
- ## Session end
19
-
20
- 1. Capture any new feedback from the session using `capture_feedback`.
21
- 2. Note any unfinished work or pending decisions as context for the next session.
22
- 3. If new failure patterns emerged, flag them for potential prevention rule promotion.
23
-
24
- ## Between sessions
25
-
26
- - Prevention rules persist automatically via the MCP server.
27
- - Lessons promoted during the session are available in future recalls.
28
- - Context packs expire based on configured retention policies.
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Pre-action gate check — runs before risky shell commands.
3
- # Called by hooks/hooks.json beforeShellExecution hook.
4
- # Delegates to the published ThumbGate gate-check entrypoint.
5
-
6
- set -euo pipefail
7
-
8
- INPUT=$(cat)
9
- RESULT=$(echo "$INPUT" | npx --yes --package thumbgate@latest thumbgate gate-check 2>/dev/null) || true
10
-
11
- if [ -z "$RESULT" ]; then
12
- exit 0
13
- fi
14
-
15
- echo "$RESULT"
16
-
17
- if echo "$RESULT" | grep -q '"permissionDecision":\s*"deny"'; then
18
- exit 2
19
- fi
20
-
21
- exit 0
@@ -1,48 +0,0 @@
1
- ---
2
- name: capture-feedback
3
- description: Capture structured thumbs up/down feedback with context, history-aware lesson distillation, tags, and optional rubric scores after completing a task.
4
- ---
5
-
6
- # Capture Feedback
7
-
8
- Record structured feedback after completing a task or encountering an issue.
9
-
10
- ## When to use
11
-
12
- - After completing a coding task (positive or negative outcome)
13
- - When a tool call produces unexpected results
14
- - After a test failure or deployment issue
15
- - When the user explicitly wants to record feedback
16
-
17
- ## How it works
18
-
19
- Use the `capture_feedback` MCP tool with:
20
-
21
- - **signal** — `"thumbs_up"` or `"thumbs_down"`
22
- - **context** — Description of what happened and why when the user already said it clearly
23
- - **tags** — Array of relevant tags for categorization (e.g., `["test-failure", "refactor"]`)
24
- - **chatHistory** — Up to 8 prior recorded entries plus the failed tool call when the thumbs-down signal is vague and the lesson must be distilled from recent context
25
- - **relatedFeedbackId** — Use when the user adds clarifying detail later and it should refine the existing feedback event
26
- - **rubric_scores** — Optional object with structured quality scores
27
-
28
- ## Example
29
-
30
- ```
31
- Capture feedback: thumbs_down for the failed database migration.
32
- Context: Migration script dropped the wrong index, causing query timeouts.
33
- Tags: database, migration, production-incident
34
- ```
35
-
36
- ## Vague signal recovery
37
-
38
- If the user only says `thumbs_down`, `wrong`, `correct`, or `this failed`, do not stop there. Call `capture_feedback` with:
39
-
40
- - the signal
41
- - any minimal context the user already gave
42
- - `chatHistory` containing up to 8 prior recorded entries from the current correction thread
43
- - the failed tool call or command when available
44
- - `relatedFeedbackId` if the user is clarifying an already-open 60-second follow-up session
45
-
46
- That lets ThumbGate propose `whatWentWrong`, `whatToChange`, and a candidate rule automatically.
47
-
48
- Feedback feeds into the prevention rule promotion pipeline. Repeated failures with the same pattern are automatically promoted into enforceable prevention rules.