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.
- package/.claude-plugin/README.md +45 -34
- package/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +3 -3
- package/.well-known/llms.txt +1 -1
- package/.well-known/mcp/server-card.json +1 -1
- package/README.md +26 -2
- package/adapters/README.md +4 -1
- package/adapters/claude/.mcp.json +2 -2
- package/adapters/codex/config.toml +2 -2
- package/adapters/mcp/server-stdio.js +10 -4
- package/adapters/opencode/opencode.json +1 -1
- package/bin/cli.js +246 -90
- package/config/mcp-allowlists.json +11 -3
- package/package.json +184 -21
- package/scripts/audit-trail.js +25 -15
- package/scripts/auto-wire-hooks.js +127 -0
- package/scripts/cli-demo.js +102 -0
- package/scripts/cli-schema.js +285 -0
- package/scripts/cli-status.js +166 -0
- package/scripts/cross-encoder-reranker.js +235 -0
- package/scripts/explore-subcommands.js +277 -0
- package/scripts/explore.js +569 -0
- package/scripts/feedback-loop.js +20 -6
- package/scripts/lesson-inference.js +7 -1
- package/scripts/lesson-reranker.js +263 -0
- package/scripts/lesson-retrieval.js +34 -17
- package/scripts/lesson-search.js +69 -0
- package/scripts/perplexity-client.js +210 -0
- package/scripts/reflector-agent.js +2 -2
- package/scripts/statusline-local-stats.js +3 -1
- package/scripts/statusline.sh +12 -11
- package/src/api/server.js +178 -17
- package/src/index.js +3 -0
- package/.claude-plugin/bundle/icon.png +0 -0
- package/.claude-plugin/bundle/icon.svg +0 -18
- package/.claude-plugin/bundle/server/index.js +0 -24
- package/adapters/chatgpt/INSTALL.md +0 -138
- package/bin/memory.sh +0 -64
- package/bin/obsidian-sync.sh +0 -20
- package/plugins/amp-skill/INSTALL.md +0 -52
- package/plugins/amp-skill/SKILL.md +0 -64
- package/plugins/claude-codex-bridge/.claude-plugin/plugin.json +0 -22
- package/plugins/claude-codex-bridge/.mcp.json +0 -14
- package/plugins/claude-codex-bridge/INSTALL.md +0 -43
- package/plugins/claude-codex-bridge/README.md +0 -46
- package/plugins/claude-codex-bridge/scripts/codex-bridge.js +0 -286
- package/plugins/claude-codex-bridge/skills/adversarial-review/SKILL.md +0 -24
- package/plugins/claude-codex-bridge/skills/result/SKILL.md +0 -22
- package/plugins/claude-codex-bridge/skills/review/SKILL.md +0 -28
- package/plugins/claude-codex-bridge/skills/second-pass/SKILL.md +0 -27
- package/plugins/claude-codex-bridge/skills/setup/SKILL.md +0 -21
- package/plugins/claude-codex-bridge/skills/status/SKILL.md +0 -19
- package/plugins/claude-skill/INSTALL.md +0 -55
- package/plugins/claude-skill/SKILL.md +0 -46
- package/plugins/codex-profile/.codex-plugin/plugin.json +0 -43
- package/plugins/codex-profile/.mcp.json +0 -14
- package/plugins/codex-profile/AGENTS.md +0 -20
- package/plugins/codex-profile/INSTALL.md +0 -89
- package/plugins/codex-profile/README.md +0 -61
- package/plugins/cursor-marketplace/.cursor-plugin/plugin.json +0 -23
- package/plugins/cursor-marketplace/CHANGELOG.md +0 -30
- package/plugins/cursor-marketplace/LICENSE +0 -21
- package/plugins/cursor-marketplace/README.md +0 -124
- package/plugins/cursor-marketplace/agents/reliability-reviewer.md +0 -31
- package/plugins/cursor-marketplace/assets/logo-400x400.png +0 -0
- package/plugins/cursor-marketplace/commands/capture-feedback.md +0 -33
- package/plugins/cursor-marketplace/commands/check-gates.md +0 -25
- package/plugins/cursor-marketplace/commands/show-lessons.md +0 -27
- package/plugins/cursor-marketplace/hooks/hooks.json +0 -10
- package/plugins/cursor-marketplace/mcp.json +0 -14
- package/plugins/cursor-marketplace/rules/feedback-capture.mdc +0 -34
- package/plugins/cursor-marketplace/rules/pre-action-gates.mdc +0 -30
- package/plugins/cursor-marketplace/rules/session-continuity.mdc +0 -28
- package/plugins/cursor-marketplace/scripts/gate-check.sh +0 -21
- package/plugins/cursor-marketplace/skills/capture-feedback/SKILL.md +0 -48
- package/plugins/cursor-marketplace/skills/prevention-rules/SKILL.md +0 -31
- package/plugins/cursor-marketplace/skills/recall-context/SKILL.md +0 -30
- package/plugins/cursor-marketplace/skills/search-lessons/SKILL.md +0 -33
- package/plugins/gemini-extension/INSTALL.md +0 -92
- package/plugins/gemini-extension/gemini_prompt.txt +0 -14
- package/plugins/gemini-extension/tool_contract.json +0 -45
- package/plugins/opencode-profile/INSTALL.md +0 -57
- package/public/assets/instagram-card.png +0 -0
- package/public/assets/tiktok-agent-memory.mp4 +0 -0
- package/public/blog.html +0 -474
- package/public/compare/mem0.html +0 -189
- package/public/compare/speclock.html +0 -180
- package/public/compare.html +0 -310
- package/public/dashboard.html +0 -1100
- package/public/guide.html +0 -317
- package/public/guides/claude-code-prevent-repeated-mistakes.html +0 -161
- package/public/guides/codex-cli-guardrails.html +0 -158
- package/public/guides/cursor-prevent-repeated-mistakes.html +0 -161
- package/public/guides/pre-action-gates.html +0 -162
- package/public/guides/stop-repeated-ai-agent-mistakes.html +0 -159
- package/public/index.html +0 -1128
- package/public/js/buyer-intent.js +0 -252
- package/public/learn/agent-harness-pattern.html +0 -180
- package/public/learn/ai-agent-persistent-memory.html +0 -203
- package/public/learn/learn.css +0 -45
- package/public/learn/mcp-pre-action-gates-explained.html +0 -172
- package/public/learn/stop-ai-agent-force-push.html +0 -134
- package/public/learn/vibe-coding-safety-net.html +0 -142
- package/public/learn.html +0 -274
- package/public/lessons.html +0 -967
- package/public/llm-context.md +0 -140
- package/public/pro.html +0 -1087
- package/public/vercel.json +0 -8
- package/scripts/a2ui-engine.js +0 -73
- package/scripts/adk-consolidator.js +0 -274
- package/scripts/agent-security-hardening.js +0 -225
- package/scripts/ai-search-visibility.js +0 -142
- package/scripts/autonomous-sales-agent.js +0 -39
- package/scripts/autoresearch-runner.js +0 -216
- package/scripts/background-agent-governance.js +0 -229
- package/scripts/behavioral-extraction.js +0 -93
- package/scripts/budget-enforcer.js +0 -173
- package/scripts/budget-guard.js +0 -173
- package/scripts/build-claude-mcpb.js +0 -255
- package/scripts/build-codex-plugin.js +0 -152
- package/scripts/capture-railway-diagnostics.sh +0 -97
- package/scripts/changeset-check.js +0 -372
- package/scripts/check-congruence.js +0 -443
- package/scripts/computer-use-firewall.js +0 -280
- package/scripts/content-engine/linkedin-content-generator.js +0 -154
- package/scripts/content-engine/output/linkedin-memento-validation.md +0 -17
- package/scripts/content-engine/output/linkedin-posts-2026-04-09.md +0 -175
- package/scripts/content-engine/reddit-thread-finder.js +0 -154
- package/scripts/context-engine.js +0 -710
- package/scripts/daily-digest.js +0 -11
- package/scripts/data-governance.js +0 -173
- package/scripts/deploy-gcp.sh +0 -44
- package/scripts/deploy-policy.js +0 -249
- package/scripts/disagreement-mining.js +0 -315
- package/scripts/dpo-optimizer.js +0 -206
- package/scripts/ensure-repo-bootstrap.js +0 -130
- package/scripts/ephemeral-agent-store.js +0 -212
- package/scripts/eval-harness.js +0 -56
- package/scripts/export-kto-pairs.js +0 -309
- package/scripts/export-training.js +0 -446
- package/scripts/feedback-fallback.js +0 -111
- package/scripts/feedback-inbox-read.js +0 -162
- package/scripts/feedback-root-consolidator.js +0 -233
- package/scripts/feedback-to-memory.js +0 -185
- package/scripts/gate-satisfy.js +0 -42
- package/scripts/generate-paperbanana-diagrams.sh +0 -99
- package/scripts/generate-pretool-hook.sh +0 -40
- package/scripts/github-about.js +0 -430
- package/scripts/github-outreach.js +0 -65
- package/scripts/gtm-revenue-loop.js +0 -535
- package/scripts/hallucination-detector.js +0 -226
- package/scripts/hf-papers.js +0 -317
- package/scripts/hook-auto-capture.sh +0 -100
- package/scripts/hook-stop-pr-thread-check.sh +0 -68
- package/scripts/hook-stop-self-score.sh +0 -51
- package/scripts/hook-stop-verify-deploy.sh +0 -31
- package/scripts/hook-verify-before-done.sh +0 -20
- package/scripts/managed-dpo-export.js +0 -91
- package/scripts/markdown-escape.js +0 -12
- package/scripts/marketing-experiment.js +0 -657
- package/scripts/memalign-recall.js +0 -111
- package/scripts/memory-migration.js +0 -296
- package/scripts/meta-policy.js +0 -190
- package/scripts/metered-billing.js +0 -16
- package/scripts/model-tier-router.js +0 -310
- package/scripts/money-watcher.js +0 -218
- package/scripts/multi-hop-recall.js +0 -240
- package/scripts/per-step-scoring.js +0 -163
- package/scripts/perplexity-marketing.js +0 -466
- package/scripts/pii-scanner.js +0 -153
- package/scripts/plan-gate.js +0 -154
- package/scripts/post-everywhere.js +0 -341
- package/scripts/post-to-x-retry.sh +0 -22
- package/scripts/post-to-x.js +0 -369
- package/scripts/pr-manager.js +0 -421
- package/scripts/principle-extractor.js +0 -162
- package/scripts/pro-features.js +0 -41
- package/scripts/prompt-dlp.js +0 -222
- package/scripts/prove-adapters.js +0 -860
- package/scripts/prove-attribution.js +0 -361
- package/scripts/prove-automation.js +0 -651
- package/scripts/prove-autoresearch.js +0 -304
- package/scripts/prove-claim-verification.js +0 -277
- package/scripts/prove-cloudflare-sandbox.js +0 -161
- package/scripts/prove-data-pipeline.js +0 -408
- package/scripts/prove-data-quality.js +0 -227
- package/scripts/prove-evolution.js +0 -352
- package/scripts/prove-harnesses.js +0 -287
- package/scripts/prove-intelligence.js +0 -257
- package/scripts/prove-lancedb.js +0 -425
- package/scripts/prove-local-intelligence.js +0 -340
- package/scripts/prove-loop-closure.js +0 -263
- package/scripts/prove-packaged-runtime.js +0 -326
- package/scripts/prove-predictive-insights.js +0 -355
- package/scripts/prove-runtime.js +0 -363
- package/scripts/prove-seo-gsd.js +0 -234
- package/scripts/prove-settings.js +0 -279
- package/scripts/prove-subway-upgrades.js +0 -277
- package/scripts/prove-tessl.js +0 -229
- package/scripts/prove-training-export.js +0 -325
- package/scripts/prove-workflow-contract.js +0 -112
- package/scripts/prove-xmemory.js +0 -332
- package/scripts/publish-decision.js +0 -159
- package/scripts/ralph-loop.js +0 -376
- package/scripts/ralph-mode-ci.js +0 -331
- package/scripts/reddit-dm-outreach.js +0 -192
- package/scripts/reddit-monitor-cron.sh +0 -26
- package/scripts/reminder-engine.js +0 -132
- package/scripts/revenue-status.js +0 -472
- package/scripts/rotate-stripe-webhook-secret.js +0 -314
- package/scripts/schedule-manager.js +0 -249
- package/scripts/self-healing-check.js +0 -193
- package/scripts/shieldcortex-memory-firewall-runner.mjs +0 -53
- package/scripts/skill-exporter.js +0 -260
- package/scripts/skill-materializer.js +0 -134
- package/scripts/skill-packs.js +0 -136
- package/scripts/skill-proposer.js +0 -99
- package/scripts/skill-quality-tracker.js +0 -282
- package/scripts/slow-loop.js +0 -72
- package/scripts/social-analytics/db/analytics.sqlite +0 -0
- package/scripts/social-analytics/db/schema.sql +0 -32
- package/scripts/social-analytics/digest.js +0 -256
- package/scripts/social-analytics/engagement-audit.js +0 -185
- package/scripts/social-analytics/generate-instagram-card.js +0 -97
- package/scripts/social-analytics/instagram-thumbgate-post.js +0 -111
- package/scripts/social-analytics/install-growth-automation.js +0 -114
- package/scripts/social-analytics/load-env.js +0 -77
- package/scripts/social-analytics/mcp-server.js +0 -289
- package/scripts/social-analytics/normalizer.js +0 -580
- package/scripts/social-analytics/notify.js +0 -162
- package/scripts/social-analytics/poll-all.js +0 -107
- package/scripts/social-analytics/pollers/github.js +0 -195
- package/scripts/social-analytics/pollers/instagram.js +0 -253
- package/scripts/social-analytics/pollers/linkedin.js +0 -340
- package/scripts/social-analytics/pollers/plausible.js +0 -245
- package/scripts/social-analytics/pollers/reddit.js +0 -306
- package/scripts/social-analytics/pollers/threads.js +0 -233
- package/scripts/social-analytics/pollers/tiktok.js +0 -203
- package/scripts/social-analytics/pollers/x.js +0 -227
- package/scripts/social-analytics/pollers/youtube.js +0 -304
- package/scripts/social-analytics/pollers/zernio.js +0 -183
- package/scripts/social-analytics/publish-instagram-thumbgate.js +0 -104
- package/scripts/social-analytics/publish-thumbgate-launch.js +0 -322
- package/scripts/social-analytics/publishers/devto.js +0 -122
- package/scripts/social-analytics/publishers/instagram.js +0 -317
- package/scripts/social-analytics/publishers/linkedin.js +0 -294
- package/scripts/social-analytics/publishers/reddit.js +0 -385
- package/scripts/social-analytics/publishers/threads.js +0 -275
- package/scripts/social-analytics/publishers/tiktok.js +0 -217
- package/scripts/social-analytics/publishers/x.js +0 -259
- package/scripts/social-analytics/publishers/youtube.js +0 -223
- package/scripts/social-analytics/publishers/zernio.js +0 -539
- package/scripts/social-analytics/reconcile-thumbgate-campaign.js +0 -165
- package/scripts/social-analytics/run-digest.js +0 -34
- package/scripts/social-analytics/schedule-thumbgate-campaign.js +0 -275
- package/scripts/social-analytics/store.js +0 -455
- package/scripts/social-analytics/sync-launch-assets.js +0 -185
- package/scripts/social-analytics/utm.js +0 -143
- package/scripts/social-pipeline.js +0 -2626
- package/scripts/social-post-hourly.js +0 -228
- package/scripts/social-quality-gate.js +0 -134
- package/scripts/social-reply-monitor.js +0 -592
- package/scripts/status-dashboard.js +0 -155
- package/scripts/stripe-live-status.js +0 -115
- package/scripts/subagent-profiles.js +0 -79
- package/scripts/sync-branch-protection.js +0 -340
- package/scripts/sync-gh-secrets-from-env.sh +0 -70
- package/scripts/sync-github-about.js +0 -55
- package/scripts/sync-version.js +0 -479
- package/scripts/synthetic-dpo.js +0 -234
- package/scripts/tessl-export.js +0 -369
- package/scripts/test-coverage.js +0 -128
- package/scripts/thumbgate_session_start.sh +0 -32
- package/scripts/train_from_feedback.py +0 -929
- package/scripts/validate-feedback.js +0 -581
- package/scripts/verify-obsidian-setup.sh +0 -269
- package/scripts/verify-run.js +0 -269
- package/scripts/weekly-auto-post.js +0 -124
- package/scripts/x-autonomous-marketing.js +0 -139
|
@@ -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.
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: prevention-rules
|
|
3
|
-
description: Generate and review prevention rules auto-promoted from repeated failure patterns.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Prevention Rules
|
|
7
|
-
|
|
8
|
-
Manage prevention rules that are auto-generated from repeated failure patterns.
|
|
9
|
-
|
|
10
|
-
## When to use
|
|
11
|
-
|
|
12
|
-
- Reviewing current active prevention rules for the project
|
|
13
|
-
- Checking if a specific action is blocked by a prevention rule
|
|
14
|
-
- Understanding why an action was blocked
|
|
15
|
-
- Generating new prevention rules from observed patterns
|
|
16
|
-
|
|
17
|
-
## How it works
|
|
18
|
-
|
|
19
|
-
Use the `prevention_rules` MCP tool to:
|
|
20
|
-
|
|
21
|
-
1. **List rules** — View all active prevention rules with their match patterns and corrective actions.
|
|
22
|
-
2. **Check rules** — Test if a specific action matches any prevention rule before execution.
|
|
23
|
-
3. **Review rule history** — See which feedback events led to a rule's promotion.
|
|
24
|
-
|
|
25
|
-
## Example
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
Check prevention rules for "npm publish without running tests" to see if this action is blocked.
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Prevention rules are auto-promoted when the same failure pattern appears multiple times in captured feedback. Each rule includes the original failure context and a corrective action.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: recall-context
|
|
3
|
-
description: Recall relevant past failures, prevention rules, and context packs before starting a coding task.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Recall Context
|
|
7
|
-
|
|
8
|
-
Retrieve relevant historical context before beginning work on a coding task.
|
|
9
|
-
|
|
10
|
-
## When to use
|
|
11
|
-
|
|
12
|
-
- Starting a new coding task or feature
|
|
13
|
-
- Before making changes to code that has failed before
|
|
14
|
-
- Resuming work from a previous session
|
|
15
|
-
|
|
16
|
-
## How it works
|
|
17
|
-
|
|
18
|
-
Use the `recall` MCP tool to retrieve:
|
|
19
|
-
|
|
20
|
-
1. **Prevention rules** — Rules auto-promoted from repeated failure patterns that apply to the current task.
|
|
21
|
-
2. **Past failures** — Specific failure events with context, tags, and corrective actions.
|
|
22
|
-
3. **Context packs** — Bundled project context from previous sessions.
|
|
23
|
-
|
|
24
|
-
## Example
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
Use the recall MCP tool to check for known issues with the authentication module before refactoring.
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
The tool returns structured context that helps avoid repeating past mistakes and surfaces corrective actions from promoted lessons.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: search-lessons
|
|
3
|
-
description: Search promoted lessons for corrective actions, lifecycle state, linked rules, and linked gates.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Search Lessons
|
|
7
|
-
|
|
8
|
-
Search the promoted lessons database for corrective actions and guidance.
|
|
9
|
-
|
|
10
|
-
## When to use
|
|
11
|
-
|
|
12
|
-
- Looking for corrective actions for a specific failure pattern
|
|
13
|
-
- Checking if a known lesson applies to the current task
|
|
14
|
-
- Reviewing lifecycle state of lessons (active, archived, superseded)
|
|
15
|
-
- Finding linked prevention rules and gates for a topic
|
|
16
|
-
|
|
17
|
-
## How it works
|
|
18
|
-
|
|
19
|
-
Use the `search_lessons` MCP tool with a query string. The tool searches across:
|
|
20
|
-
|
|
21
|
-
1. **Lesson descriptions** — What happened and why
|
|
22
|
-
2. **Corrective actions** — Specific steps to prevent recurrence
|
|
23
|
-
3. **Linked rules** — Prevention rules generated from the lesson
|
|
24
|
-
4. **Linked gates** — Pre-action gates that enforce the lesson
|
|
25
|
-
5. **Lifecycle state** — Whether the lesson is active, archived, or superseded
|
|
26
|
-
|
|
27
|
-
## Example
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
Search lessons for "force push" to find corrective actions and prevention rules related to force pushing.
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Results include the full lesson context, any linked enforcement rules, and the current lifecycle state.
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# Gemini: ThumbGate Function Declarations Install
|
|
2
|
-
|
|
3
|
-
Import the ThumbGate function declarations into your Gemini agent in under 60 seconds.
|
|
4
|
-
|
|
5
|
-
## One-Command Install (Node.js)
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Copy declarations to your project
|
|
9
|
-
cp adapters/gemini/function-declarations.json .gemini/thumbgate-tools.json
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Import in Your Agent Code
|
|
13
|
-
|
|
14
|
-
```javascript
|
|
15
|
-
const fs = require('fs');
|
|
16
|
-
|
|
17
|
-
// Load ThumbGate tool declarations
|
|
18
|
-
const thumbgateTools = JSON.parse(
|
|
19
|
-
fs.readFileSync('adapters/gemini/function-declarations.json', 'utf8')
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
// Pass to Gemini SDK
|
|
23
|
-
const model = genAI.getGenerativeModel({
|
|
24
|
-
model: 'gemini-pro',
|
|
25
|
-
tools: [{ functionDeclarations: thumbgateTools.tools }],
|
|
26
|
-
});
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Available Functions
|
|
30
|
-
|
|
31
|
-
| Function | Description |
|
|
32
|
-
|---|---|
|
|
33
|
-
| `capture_memory_feedback` | Capture success/failure feedback — POST `/v1/feedback/capture` |
|
|
34
|
-
| `get_reliability_rules` | Retrieve active prevention rules — POST `/v1/feedback/rules` |
|
|
35
|
-
| `get_business_metrics` | Retrieve high-level metrics — GET `/v1/billing/summary` |
|
|
36
|
-
| `describe_reliability_entity` | Get canonical definitions — GET `/v1/semantic/describe` |
|
|
37
|
-
|
|
38
|
-
## Point to Your API
|
|
39
|
-
|
|
40
|
-
Set the base URL in your Gemini function handler:
|
|
41
|
-
|
|
42
|
-
```javascript
|
|
43
|
-
const THUMBGATE_API_URL = process.env.THUMBGATE_API_URL || 'http://localhost:3000';
|
|
44
|
-
const THUMBGATE_API_KEY = process.env.THUMBGATE_API_KEY;
|
|
45
|
-
|
|
46
|
-
async function callThumbGateTool(name, params) {
|
|
47
|
-
const endpoints = {
|
|
48
|
-
capture_memory_feedback: { method: 'POST', path: '/v1/feedback/capture' },
|
|
49
|
-
get_reliability_rules: { method: 'POST', path: '/v1/feedback/rules' },
|
|
50
|
-
get_business_metrics: { method: 'GET', path: '/v1/billing/summary' },
|
|
51
|
-
describe_reliability_entity: { method: 'GET', path: '/v1/semantic/describe' },
|
|
52
|
-
plan_intent: { method: 'POST', path: '/v1/intents/plan' },
|
|
53
|
-
};
|
|
54
|
-
const { method, path } = endpoints[name];
|
|
55
|
-
|
|
56
|
-
const url = new URL(`${THUMBGATE_API_URL}${path}`);
|
|
57
|
-
if (method === 'GET' && params) {
|
|
58
|
-
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const res = await fetch(url.toString(), {
|
|
62
|
-
method,
|
|
63
|
-
headers: { Authorization: `Bearer ${THUMBGATE_API_KEY}`, 'Content-Type': 'application/json' },
|
|
64
|
-
body: method === 'POST' ? JSON.stringify(params) : undefined,
|
|
65
|
-
});
|
|
66
|
-
return res.json();
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Requirements
|
|
71
|
-
|
|
72
|
-
- Google Gemini SDK (`@google/generative-ai`)
|
|
73
|
-
- Node.js 18+ or Python 3.9+
|
|
74
|
-
- ThumbGate API running (local or hosted)
|
|
75
|
-
|
|
76
|
-
## Branding Alignment (Google Cloud)
|
|
77
|
-
|
|
78
|
-
When setting up your Google Cloud Project for this extension:
|
|
79
|
-
1. **Project Name:** Use `mcp-reliability-gateway` or similar. Avoid placeholder names.
|
|
80
|
-
2. **OAuth Consent Screen:**
|
|
81
|
-
- **App Name:** Enter `MCP Reliability Gateway`.
|
|
82
|
-
- **Support Email:** Use your professional email.
|
|
83
|
-
- **Logo:** Use the provided asset in `docs/logo-400x400.png`.
|
|
84
|
-
|
|
85
|
-
This ensures that the "App Asking for Consent" matches the product name, providing a professional experience for the CEO and users.
|
|
86
|
-
|
|
87
|
-
## Verify
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
node -e "const t = require('./adapters/gemini/function-declarations.json'); console.log('Tools:', t.tools.map(x=>x.name))"
|
|
91
|
-
# Expected: Tools: [ 'capture_memory_feedback', 'get_reliability_rules', 'get_business_metrics', 'describe_reliability_entity', ... ]
|
|
92
|
-
```
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
You are integrated with the MCP Reliability Gateway. Your goal is to ensure 100% reliable execution by following project-specific rules and business metrics.
|
|
2
|
-
|
|
3
|
-
When the user gives success/failure signal (thumbs up/down):
|
|
4
|
-
- call `capture_memory_feedback` with rich context.
|
|
5
|
-
- include tags for entities involved (e.g. 'entity:Revenue', 'entity:Customer').
|
|
6
|
-
- do not accept vague feedback without asking for detail.
|
|
7
|
-
|
|
8
|
-
Before starting a significant task:
|
|
9
|
-
- call `get_reliability_rules` to retrieve prevention rules derived from past mistakes.
|
|
10
|
-
- respect these rules as foundational constraints.
|
|
11
|
-
|
|
12
|
-
When reasoning about the business:
|
|
13
|
-
- use `get_business_metrics` for hard revenue and conversion data.
|
|
14
|
-
- use `describe_reliability_entity` to understand how business concepts are defined.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tools": [
|
|
3
|
-
{
|
|
4
|
-
"name": "capture_memory_feedback",
|
|
5
|
-
"description": "Capture success/failure feedback to harden future workflows and prevent repeated mistakes.",
|
|
6
|
-
"input_schema": {
|
|
7
|
-
"type": "object",
|
|
8
|
-
"properties": {
|
|
9
|
-
"signal": { "type": "string", "enum": ["up", "down"], "description": "Success (up) or failure (down) signal" },
|
|
10
|
-
"context": { "type": "string", "description": "Specific detail about what was achieved or what went wrong" },
|
|
11
|
-
"what_went_wrong": { "type": "string" },
|
|
12
|
-
"what_to_change": { "type": "string" },
|
|
13
|
-
"what_worked": { "type": "string" },
|
|
14
|
-
"tags": { "type": "array", "items": { "type": "string" }, "description": "Keywords like 'revenue', 'deployment', 'refactor'" }
|
|
15
|
-
},
|
|
16
|
-
"required": ["signal", "context"]
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"name": "get_reliability_rules",
|
|
21
|
-
"description": "Retrieve active prevention rules and success patterns to ensure high-quality task execution."
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"name": "get_business_metrics",
|
|
25
|
-
"description": "Retrieve canonical business metrics (Revenue, Conversion, Customers) from the Reliability Gateway.",
|
|
26
|
-
"input_schema": {
|
|
27
|
-
"type": "object",
|
|
28
|
-
"properties": {
|
|
29
|
-
"window": { "type": "string", "enum": ["today", "7d", "30d", "lifetime"], "default": "30d" }
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"name": "describe_reliability_entity",
|
|
35
|
-
"description": "Get the definition and state of a business entity (Customer, Revenue, Funnel).",
|
|
36
|
-
"input_schema": {
|
|
37
|
-
"type": "object",
|
|
38
|
-
"properties": {
|
|
39
|
-
"type": { "type": "string", "enum": ["Customer", "Revenue", "Funnel"] }
|
|
40
|
-
},
|
|
41
|
-
"required": ["type"]
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# OpenCode: ThumbGate MCP Profile Install
|
|
2
|
-
|
|
3
|
-
This repo already ships a project-scoped `opencode.json` for local work inside the source tree.
|
|
4
|
-
|
|
5
|
-
If you want the same MCP server in another OpenCode project or in your global OpenCode config, use the portable adapter profile below.
|
|
6
|
-
|
|
7
|
-
## One-Command Install
|
|
8
|
-
|
|
9
|
-
Create a global OpenCode config if you do not have one yet:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
mkdir -p ~/.config/opencode
|
|
13
|
-
cp adapters/opencode/opencode.json ~/.config/opencode/opencode.json
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
If you already have `~/.config/opencode/opencode.json`, merge in the `mcp.thumbgate` block from `adapters/opencode/opencode.json` instead of overwriting your config.
|
|
17
|
-
|
|
18
|
-
## What Gets Added
|
|
19
|
-
|
|
20
|
-
The portable profile adds this MCP server entry:
|
|
21
|
-
|
|
22
|
-
```json
|
|
23
|
-
{
|
|
24
|
-
"$schema": "https://opencode.ai/config.json",
|
|
25
|
-
"mcp": {
|
|
26
|
-
"thumbgate": {
|
|
27
|
-
"type": "local",
|
|
28
|
-
"command": ["npx", "--yes", "--package", "thumbgate@1.4.0", "thumbgate", "serve"],
|
|
29
|
-
"enabled": true
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Verify
|
|
36
|
-
|
|
37
|
-
Run OpenCode in any project and confirm the `thumbgate` MCP server is available:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
opencode
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
For this repository specifically, the committed `opencode.json` also enables:
|
|
44
|
-
|
|
45
|
-
- repo-local worktree-safe permissions
|
|
46
|
-
- a read-only `thumbgate-review` subagent in `.opencode/agents/thumbgate-review.md`
|
|
47
|
-
- concise workflow instructions in `.opencode/instructions/thumbgate-workflow.md`
|
|
48
|
-
|
|
49
|
-
## Requirements
|
|
50
|
-
|
|
51
|
-
- OpenCode with MCP support
|
|
52
|
-
- Node.js 18+ in PATH
|
|
53
|
-
- `npx` available in PATH
|
|
54
|
-
|
|
55
|
-
## Uninstall
|
|
56
|
-
|
|
57
|
-
Remove the `mcp.thumbgate` entry from your OpenCode config.
|
|
Binary file
|
|
Binary file
|