thumbgate 1.3.0 → 1.4.1
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 +25 -0
- package/.claude-plugin/marketplace.json +32 -13
- package/.claude-plugin/plugin.json +15 -2
- package/.well-known/llms.txt +60 -0
- package/.well-known/mcp/server-card.json +1 -1
- package/README.md +242 -126
- package/adapters/README.md +1 -1
- package/adapters/chatgpt/INSTALL.md +59 -4
- package/adapters/chatgpt/openapi.yaml +168 -0
- package/adapters/claude/.mcp.json +2 -2
- package/adapters/codex/config.toml +2 -2
- package/adapters/mcp/server-stdio.js +84 -1
- package/adapters/opencode/opencode.json +1 -1
- package/bin/cli.js +204 -13
- package/bin/postinstall.js +8 -2
- package/config/budget.json +18 -0
- package/config/gates/code-edit.json +61 -0
- package/config/gates/db-write.json +61 -0
- package/config/gates/default.json +154 -3
- package/config/gates/deploy.json +61 -0
- package/config/github-about.json +2 -1
- package/config/merge-quality-checks.json +23 -0
- package/openapi/openapi.yaml +168 -0
- package/package.json +47 -11
- package/plugins/claude-codex-bridge/.claude-plugin/plugin.json +1 -1
- package/plugins/claude-codex-bridge/.mcp.json +1 -1
- package/plugins/claude-codex-bridge/scripts/codex-bridge.js +1 -3
- package/plugins/codex-profile/.codex-plugin/plugin.json +1 -1
- package/plugins/codex-profile/.mcp.json +1 -1
- package/plugins/codex-profile/INSTALL.md +27 -4
- package/plugins/codex-profile/README.md +33 -9
- package/plugins/cursor-marketplace/.cursor-plugin/plugin.json +1 -1
- package/plugins/opencode-profile/INSTALL.md +1 -1
- package/public/blog.html +73 -0
- package/public/compare/mem0.html +189 -0
- package/public/compare/speclock.html +180 -0
- package/public/compare.html +10 -2
- package/public/guide.html +2 -2
- package/public/guides/claude-code-prevent-repeated-mistakes.html +161 -0
- package/public/guides/codex-cli-guardrails.html +158 -0
- package/public/guides/cursor-prevent-repeated-mistakes.html +161 -0
- package/public/guides/pre-action-gates.html +162 -0
- package/public/guides/stop-repeated-ai-agent-mistakes.html +159 -0
- package/public/index.html +172 -65
- package/public/lessons.html +33 -24
- package/public/llm-context.md +140 -0
- package/public/pro.html +24 -22
- package/scripts/access-anomaly-detector.js +1 -1
- package/scripts/adk-consolidator.js +1 -5
- package/scripts/agent-security-hardening.js +4 -6
- package/scripts/agentic-data-pipeline.js +1 -3
- package/scripts/async-job-runner.js +1 -5
- package/scripts/audit-trail.js +1 -5
- package/scripts/auto-promote-gates.js +5 -3
- package/scripts/background-agent-governance.js +2 -10
- package/scripts/billing-setup.js +109 -0
- package/scripts/billing.js +2 -16
- package/scripts/budget-enforcer.js +173 -0
- package/scripts/build-claude-mcpb.js +71 -5
- package/scripts/build-codex-plugin.js +152 -0
- package/scripts/check-congruence.js +132 -14
- package/scripts/commercial-offer.js +5 -7
- package/scripts/content-engine/linkedin-content-generator.js +154 -0
- package/scripts/content-engine/output/linkedin-memento-validation.md +17 -0
- package/scripts/content-engine/output/linkedin-posts-2026-04-09.md +175 -0
- package/scripts/content-engine/reddit-thread-finder.js +154 -0
- package/scripts/context-engine.js +21 -6
- package/scripts/contextfs.js +1 -21
- package/scripts/dashboard.js +20 -0
- package/scripts/decision-journal.js +341 -0
- package/scripts/delegation-runtime.js +1 -5
- package/scripts/distribution-surfaces.js +54 -0
- package/scripts/document-intake.js +927 -0
- package/scripts/ephemeral-agent-store.js +1 -8
- package/scripts/evolution-state.js +1 -5
- package/scripts/experiment-tracker.js +1 -5
- package/scripts/export-databricks-bundle.js +1 -5
- package/scripts/export-hf-dataset.js +1 -5
- package/scripts/export-training.js +1 -5
- package/scripts/feedback-attribution.js +1 -16
- package/scripts/feedback-history-distiller.js +1 -16
- package/scripts/feedback-loop.js +1 -5
- package/scripts/feedback-root-consolidator.js +2 -21
- package/scripts/feedback-session.js +49 -0
- package/scripts/feedback-to-rules.js +215 -36
- package/scripts/filesystem-search.js +1 -9
- package/scripts/fs-utils.js +104 -0
- package/scripts/gates-engine.js +200 -11
- package/scripts/github-about.js +32 -8
- package/scripts/gtm-revenue-loop.js +1 -5
- package/scripts/harness-selector.js +148 -0
- package/scripts/hosted-config.js +2 -0
- package/scripts/hosted-job-launcher.js +1 -5
- package/scripts/hybrid-feedback-context.js +33 -49
- package/scripts/intervention-policy.js +58 -1
- package/scripts/lesson-db.js +3 -18
- package/scripts/lesson-inference.js +194 -16
- package/scripts/lesson-retrieval.js +60 -24
- package/scripts/llm-client.js +59 -0
- package/scripts/managed-lesson-agent.js +183 -0
- package/scripts/marketing-experiment.js +8 -22
- package/scripts/meta-agent-loop.js +624 -0
- package/scripts/metered-billing.js +1 -1
- package/scripts/money-watcher.js +1 -4
- package/scripts/obsidian-export.js +1 -5
- package/scripts/operational-integrity.js +15 -3
- package/scripts/operational-summary.js +41 -5
- package/scripts/org-dashboard.js +6 -1
- package/scripts/per-step-scoring.js +2 -4
- package/scripts/pr-manager.js +201 -19
- package/scripts/pro-features.js +3 -2
- package/scripts/prompt-dlp.js +3 -3
- package/scripts/prove-adapters.js +1 -5
- package/scripts/prove-attribution.js +1 -5
- package/scripts/prove-automation.js +1 -3
- package/scripts/prove-cloudflare-sandbox.js +1 -3
- package/scripts/prove-data-pipeline.js +1 -3
- package/scripts/prove-intelligence.js +1 -3
- package/scripts/prove-lancedb.js +1 -5
- package/scripts/prove-local-intelligence.js +1 -3
- package/scripts/prove-packaged-runtime.js +75 -9
- package/scripts/prove-predictive-insights.js +1 -3
- package/scripts/prove-training-export.js +1 -3
- package/scripts/prove-workflow-contract.js +1 -5
- package/scripts/ralph-loop.js +376 -0
- package/scripts/ralph-mode-ci.js +331 -0
- package/scripts/rate-limiter.js +3 -1
- package/scripts/reddit-dm-outreach.js +14 -4
- package/scripts/rotate-stripe-webhook-secret.js +314 -0
- package/scripts/schedule-manager.js +3 -5
- package/scripts/security-scanner.js +448 -0
- package/scripts/self-distill-agent.js +579 -0
- package/scripts/semantic-dedup.js +115 -0
- package/scripts/skill-exporter.js +1 -3
- package/scripts/skill-generator.js +1 -5
- package/scripts/social-analytics/engagement-audit.js +1 -18
- package/scripts/social-analytics/pollers/linkedin.js +26 -16
- package/scripts/social-analytics/publishers/linkedin.js +1 -1
- package/scripts/social-analytics/publishers/zernio.js +51 -0
- package/scripts/social-pipeline.js +1 -3
- package/scripts/social-post-hourly.js +47 -4
- package/scripts/statusline-links.js +6 -5
- package/scripts/statusline.sh +29 -153
- package/scripts/sync-branch-protection.js +340 -0
- package/scripts/tessl-export.js +1 -3
- package/scripts/thumbgate-search.js +32 -1
- package/scripts/tool-kpi-tracker.js +1 -1
- package/scripts/tool-registry.js +106 -2
- package/scripts/vector-store.js +1 -5
- package/scripts/weekly-auto-post.js +1 -1
- package/scripts/workflow-sentinel.js +91 -0
- package/skills/thumbgate/SKILL.md +1 -1
- package/src/api/server.js +296 -7
- package/scripts/__pycache__/train_from_feedback.cpython-312.pyc +0 -0
- package/scripts/social-analytics/db/social-analytics.db-shm +0 -0
- /package/scripts/social-analytics/db/{social-analytics.db-wal → analytics.sqlite} +0 -0
|
@@ -7,6 +7,10 @@ const ROOT = path.join(__dirname, '..');
|
|
|
7
7
|
const PRODUCTHUNT_URL = 'https://www.producthunt.com/products/thumbgate';
|
|
8
8
|
const CLAUDE_PLUGIN_LATEST_ASSET_NAME = 'thumbgate-claude-desktop.mcpb';
|
|
9
9
|
const CLAUDE_PLUGIN_NEXT_ASSET_NAME = 'thumbgate-claude-desktop-next.mcpb';
|
|
10
|
+
const CLAUDE_PLUGIN_REVIEW_LATEST_ASSET_NAME = 'thumbgate-claude-plugin-review.zip';
|
|
11
|
+
const CLAUDE_PLUGIN_REVIEW_NEXT_ASSET_NAME = 'thumbgate-claude-plugin-review-next.zip';
|
|
12
|
+
const CODEX_PLUGIN_LATEST_ASSET_NAME = 'thumbgate-codex-plugin.zip';
|
|
13
|
+
const CODEX_PLUGIN_NEXT_ASSET_NAME = 'thumbgate-codex-plugin-next.zip';
|
|
10
14
|
|
|
11
15
|
function readJson(root, relativePath) {
|
|
12
16
|
return JSON.parse(fs.readFileSync(path.join(root, relativePath), 'utf8'));
|
|
@@ -25,6 +29,11 @@ function getClaudePluginVersionedAssetName(version = getPackageVersion(ROOT)) {
|
|
|
25
29
|
return `thumbgate-claude-desktop-v${normalized}.mcpb`;
|
|
26
30
|
}
|
|
27
31
|
|
|
32
|
+
function getClaudePluginReviewVersionedAssetName(version = getPackageVersion(ROOT)) {
|
|
33
|
+
const normalized = String(version || '').replace(/^v/, '');
|
|
34
|
+
return `thumbgate-claude-plugin-review-v${normalized}.zip`;
|
|
35
|
+
}
|
|
36
|
+
|
|
28
37
|
function isPrereleaseVersion(version = getPackageVersion(ROOT)) {
|
|
29
38
|
return /^\d+\.\d+\.\d+-[0-9A-Za-z.-]+$/.test(String(version || '').trim());
|
|
30
39
|
}
|
|
@@ -33,6 +42,12 @@ function getClaudePluginChannelAssetName(version = getPackageVersion(ROOT)) {
|
|
|
33
42
|
return isPrereleaseVersion(version) ? CLAUDE_PLUGIN_NEXT_ASSET_NAME : CLAUDE_PLUGIN_LATEST_ASSET_NAME;
|
|
34
43
|
}
|
|
35
44
|
|
|
45
|
+
function getClaudePluginReviewChannelAssetName(version = getPackageVersion(ROOT)) {
|
|
46
|
+
return isPrereleaseVersion(version)
|
|
47
|
+
? CLAUDE_PLUGIN_REVIEW_NEXT_ASSET_NAME
|
|
48
|
+
: CLAUDE_PLUGIN_REVIEW_LATEST_ASSET_NAME;
|
|
49
|
+
}
|
|
50
|
+
|
|
36
51
|
function getClaudePluginLatestDownloadUrl(root = ROOT) {
|
|
37
52
|
return `${getRepositoryUrl(root)}/releases/latest/download/${CLAUDE_PLUGIN_LATEST_ASSET_NAME}`;
|
|
38
53
|
}
|
|
@@ -42,14 +57,53 @@ function getClaudePluginVersionedDownloadUrl(root = ROOT, version = getPackageVe
|
|
|
42
57
|
return `${getRepositoryUrl(root)}/releases/download/v${normalized}/${getClaudePluginVersionedAssetName(normalized)}`;
|
|
43
58
|
}
|
|
44
59
|
|
|
60
|
+
function getClaudePluginReviewLatestDownloadUrl(root = ROOT) {
|
|
61
|
+
return `${getRepositoryUrl(root)}/releases/latest/download/${CLAUDE_PLUGIN_REVIEW_LATEST_ASSET_NAME}`;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function getClaudePluginReviewVersionedDownloadUrl(root = ROOT, version = getPackageVersion(root)) {
|
|
65
|
+
const normalized = String(version || '').replace(/^v/, '');
|
|
66
|
+
return `${getRepositoryUrl(root)}/releases/download/v${normalized}/${getClaudePluginReviewVersionedAssetName(normalized)}`;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function getCodexPluginVersionedAssetName(version = getPackageVersion(ROOT)) {
|
|
70
|
+
const normalized = String(version || '').replace(/^v/, '');
|
|
71
|
+
return `thumbgate-codex-plugin-v${normalized}.zip`;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function getCodexPluginChannelAssetName(version = getPackageVersion(ROOT)) {
|
|
75
|
+
return isPrereleaseVersion(version) ? CODEX_PLUGIN_NEXT_ASSET_NAME : CODEX_PLUGIN_LATEST_ASSET_NAME;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function getCodexPluginLatestDownloadUrl(root = ROOT) {
|
|
79
|
+
return `${getRepositoryUrl(root)}/releases/latest/download/${CODEX_PLUGIN_LATEST_ASSET_NAME}`;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function getCodexPluginVersionedDownloadUrl(root = ROOT, version = getPackageVersion(root)) {
|
|
83
|
+
const normalized = String(version || '').replace(/^v/, '');
|
|
84
|
+
return `${getRepositoryUrl(root)}/releases/download/v${normalized}/${getCodexPluginVersionedAssetName(normalized)}`;
|
|
85
|
+
}
|
|
86
|
+
|
|
45
87
|
module.exports = {
|
|
46
88
|
CLAUDE_PLUGIN_LATEST_ASSET_NAME,
|
|
47
89
|
CLAUDE_PLUGIN_NEXT_ASSET_NAME,
|
|
90
|
+
CLAUDE_PLUGIN_REVIEW_LATEST_ASSET_NAME,
|
|
91
|
+
CLAUDE_PLUGIN_REVIEW_NEXT_ASSET_NAME,
|
|
92
|
+
CODEX_PLUGIN_LATEST_ASSET_NAME,
|
|
93
|
+
CODEX_PLUGIN_NEXT_ASSET_NAME,
|
|
48
94
|
PRODUCTHUNT_URL,
|
|
49
95
|
getClaudePluginChannelAssetName,
|
|
50
96
|
getClaudePluginLatestDownloadUrl,
|
|
97
|
+
getClaudePluginReviewChannelAssetName,
|
|
98
|
+
getClaudePluginReviewLatestDownloadUrl,
|
|
99
|
+
getClaudePluginReviewVersionedAssetName,
|
|
100
|
+
getClaudePluginReviewVersionedDownloadUrl,
|
|
51
101
|
getClaudePluginVersionedAssetName,
|
|
52
102
|
getClaudePluginVersionedDownloadUrl,
|
|
103
|
+
getCodexPluginChannelAssetName,
|
|
104
|
+
getCodexPluginLatestDownloadUrl,
|
|
105
|
+
getCodexPluginVersionedAssetName,
|
|
106
|
+
getCodexPluginVersionedDownloadUrl,
|
|
53
107
|
getPackageVersion,
|
|
54
108
|
getRepositoryUrl,
|
|
55
109
|
isPrereleaseVersion,
|