Skip to main content
Glama

gib-gate — Gibwork Submission Gate & Readiness Auditor

A non-web terminal CLI + MCP server that tells you whether you should even start a Gibwork bounty — and whether your submission is complete — before you burn a submission attempt.

Gibwork Developer Hackathon Bounty · non-web use case built on the Gibwork SDK + MCP.


Demo

The moment it earns its name — gib-gate gate surfaces a Discord-role blocker that the Gibwork UI buries, before you write a line of code:

gib-gate gate — hidden submission gates

Submission readiness — gib-gate audit checks your repo against the bounty's own "What to Submit" checklist and tells you what's missing:

gib-gate audit — submission readiness

Screen recording of the workflow: demo/demo-gate.mp4 (13s)

Raw captured output lives in demo/*.txt. Tests: node --test (4/4 pass).


Related MCP server: repo-doctor

Why this exists

Every existing Gibwork tool answers "which bounty should I work on?" — they discover, rank, watch, and verify escrow. That space is crowded.

Nobody answers the question that actually wastes developer hours: "Am I even allowed to submit this, and is my submission complete before I hit Submit?"

Gibwork hides the real submission constraints in API fields the UI barely surfaces:

  • requiredDiscordRoleIds / allowOnlyDiscordGuildSubmissions — you must join a Discord server and be granted a specific role before you can submit. Miss it and your work is void.

  • creditCostPerSubmission — every attempt costs credits. A sloppy entry burns one.

  • maxSubmissions / taskSubmissionsPendingCount — how crowded the field is and whether the window is closing.

  • minSubmissionAmount, allowOnlyVerifiedSubmissions, minTwitterFollowers, deadline.

You discover these after you've already built. gib-gate surfaces them in one command, before you start.

Then it audits your repo against the bounty's own "What to Submit" checklist and tells you exactly which deliverable is missing — so every submission is complete on the first try.

What it does

Command

What it answers

gib-gate gate <taskId>

Hidden submission gates + competition + GO / CONDITIONAL / NOT-READY / NO-GO verdict

gib-gate audit <taskId> --repo <path>

Gates + repo readiness vs the bounty's "What to Submit" checklist + fix-list

gib-gate list

Open bounties via the official @gibwork/sdk

gib-gate doctor

Node / signer / SDK health

MCP: gib_submission_gate, gib_submission_audit, gib_list_bounties

Same, callable from Claude / Cursor / Codex / any MCP client

Gibwork toolset used (core)

  • @gibwork/sdk (GibworkClient.tasks.listAvailable, .get) — the official TypeScript client for authenticated discovery. Used as the primary data layer when a keypair is configured (GIBWORK_KEYPAIR_PATH); a throwaway keypair (no funds) signs the auth challenge for read-only calls.

  • @gibwork/mcp — installed alongside; gib-gate ships its own read-only MCP server that layers the gate/audit analysis on top of Gibwork bounty data for agent workflows.

  • Public read surface (https://gib.work/api/tasks/{id}) — the same endpoint the Gibwork web app calls — used as the reliable no-auth fallback for bounty detail.

Non-web by design

Everything runs in a terminal or as an MCP stdio server inside an AI coding agent. No dashboard, no browser, no frontend. This is deliberately a developer/agent workflow tool.


Install & setup

git clone https://github.com/<you>/gib-gate.git
cd gib-gate
npm install
npm link          # optional: puts gib-gate on PATH

Requirements: Node.js ≥ 18.

Environment variables (optional)

Var

Purpose

GIBWORK_KEYPAIR_PATH

Path to a Solana keypair JSON for wallet-authenticated @gibwork/sdk calls (submit/pay). Omit to run read-only with a throwaway signer.

Copy .env.example → .env if you use a keypair. No keypair, wallet, or funds are needed for read-only gate/audit.


Usage

# 1. Should I even start this bounty? (surfaces hidden gates)
gib-gate gate 1052f22d-3f87-4b1d-b0d7-71a60679e7fa

# 2. Is my submission complete? (gates + repo readiness + fix-list)
gib-gate audit 1052f22d-3f87-4b1d-b0d7-71a60679e7fa --repo .

# 3. What's open? (via @gibwork/sdk)
gib-gate list --limit 10

# 4. Health
gib-gate doctor

Sample output — gate

🎯 Gibwork Developer Hackathon Bounty
   payout: 1000 USD (USDC)  ·  min payout: 50  ·  credits/attempt: 1
   competition: 5 pending / 0 approved / 5 total

🚦 HIDDEN SUBMISSION GATES
  ⛔ [BLOCKER] Discord guild/role required: guild 1004566368475164683 + role(s) 1546941199859060768 — must join + be granted the role before submitting
  ⚠️ [WARN] Each attempt costs credits: 1 credit per submission — incomplete entries burn credits
  ℹ️ [INFO] Deadline: 2026-10-30T04:00:00.000Z (30 days left)

🚦 VERDICT: NO-GO — Discord guild/role required

The Gibwork web UI shows a bounty's payout and description. It does not tell you that a Discord role is a hard blocker until you've already built. gib-gate makes it the first line.

Sample output — audit

📋 BOUNTY "WHAT TO SUBMIT" CHECKLIST (6 items)
  • A public GitHub repository URL for the completed bounty project…
  • A short written summary… which Gibwork toolset was used (SDK, CLI, or MCP)…
  …

📁 REPO READINESS — 8/8 automated checks passed (100%)  [repo: .]
  ✅ Public GitHub repo with source + README
  ✅ Written summary (use case, value, toolset used)
  ✅ Setup + install instructions
  ✅ Environment variables documented
  ✅ Commands to run / sample I/O
  ✅ License
  ✅ Demo video / recording referenced
  ✅ Screenshots (terminal/logs/agent output)

🚦 VERDICT: GO — submission-ready (100%)

MCP setup (agents)

gib-gate is a Model Context Protocol stdio server, so any MCP client can call it.

Cursor (~/.cursor/mcp.json) / Claude Desktop — same shape:

{
  "mcpServers": {
    "gib-gate": {
      "command": "node",
      "args": ["/absolute/path/to/gib-gate/src/mcp.js"]
    }
  }
}

Then ask the agent:

"Use gib_submission_gate to check whether I can submit to this Gibwork bounty, and gib_submission_audit to see what's missing from my repo."

MCP tools exposed: gib_submission_gate, gib_submission_audit, gib_list_bounties.


How it works

  1. Fetch a Gibwork bounty via @gibwork/sdk (authenticated) or the public task API (no auth).

  2. Extract hidden gates from structured fields (requiredDiscordRoleIds, creditCostPerSubmission, maxSubmissions, deadline, Twitter/verification flags) → severity-tagged BLOCKER / WARN / INFO.

  3. Parse the "What to Submit" + "Requirements" sections into a structured checklist.

  4. Audit a local repo against objective deliverable checks (README, summary, setup, env vars, commands, license, demo, screenshots).

  5. Render a verdict: GO · CONDITIONAL · NOT-READY · NO-GO + a concrete fix-list.

Testing

node --test          # unit self-checks for gate extraction + repo audit (no network)

Limitations (honest)

  • Read-only: gib-gate never submits or moves funds — it tells you whether to submit. Submission/pay actions use @gibwork/sdk with a funded keypair and are intentionally out of scope here.

  • Repo audit checks objective, file/README-based deliverables. Human-judged quality (is the demo good?) is a manual 🔎 item.

  • The public task API is the same surface the web app uses; if Gibwork changes it, the @gibwork/sdk path remains the primary authenticated source.

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that produces scored, evidence-cited audits of public GitHub repos via tools for fetching metadata, reading files, scanning git history, and checking hygiene.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that provides audit and safety-check tools for enterprise SDLC code integrity, enabling AI agents to scan workspaces for lifecycle gaps, mock-theater tests, DRY violations, and language-specific issues in shell, JavaScript/HTML, and Python.
    4
    14 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to discover Gibwork bounties, verify their Solana escrow accounts on-chain, rank opportunities by value, competition and deadline, diff captures over time, and export Markdown/CSV/JSON reports through four read-only MCP tools requiring no wallet or API key.
    MIT