forget-the-thunderdome

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Job hunting beyond Thunderdome — a local-first, open-source toolkit that finds roles without the LeetCode/AI-screener gauntlet. Runs your whole search from the CLI, driven by an AI agent.

README.md

forget-the-thunderdome

Job hunting beyond Thunderdome.

Two hundred candidates enter, one leaves — and the fight is LeetCode puzzles and AI
screeners instead of anything resembling engineering. Forget the Thunderdome. This
toolkit runs your job search against the companies that don't make you step into
the dome: no CoderPad gauntlets, no timed assessments, no talking to a bot before a
human reads your name.

Everything runs locally. Your pipeline lives in a SQLite file on your machine, your
email token stays on your machine, and your profile lives in one YAML file the repo
never commits.

What it does

  • Job discovery that validates postings by actually reading them — an HTTP 200
    doesn't mean a role is real or still open (skills/job-search-validation/)
  • Gauntlet filtering — target hiring-without-whiteboards companies and skip
    LeetCode-gated front doors
  • Email tracking — syncs recruiter email and classifies it (interview / offer /
    rejection) straight into your local pipeline (mcp-servers/gmail-server/)
  • Application tracking — SQLite pipeline: applied, contacted, interviewing,
    offer; who owes you a reply and who you owe one (src/job_cli.py)
  • Cover letters driven by your profile config — authentic, never generic
  • Form parsing — extract application form fields and suggest answers from your
    profile (mcp-servers/form-parser/)
  • Agent-driven mode — every piece is exposed as MCP servers; point Claude or
    GitHub Copilot at them and an AI agent runs the search loop with you

Quickstart (engineers)

git clone https://github.com/ethos71/forget-the-thunderdome
cd forget-the-thunderdome
pip install -r src/requirements.txt

cp profile.yaml.example profile.yaml   # fill in who you are and what you want
python3 src/job_cli.py dashboard       # your pipeline (creates data/job_tracker.db)
python3 src/job_cli.py jobs            # scored postings
python3 src/job_cli.py follow-ups      # who needs a nudge

Email sync — Gmail, any IMAP mailbox, or Microsoft 365 / Outlook (Graph):

# Gmail (one-time OAuth setup: docs/providers/gmail-setup.md)
python3 mcp-servers/gmail-server/gmail_tracker.py --sync --days 30

# Any IMAP mailbox (Fastmail, iCloud, self-hosted, …) — set FTT_IMAP_* env,
# see docs/providers/imap-setup.md
python3 mcp-servers/imap-server/imap_tracker.py --sync --days 30

# Microsoft 365 / Outlook via Graph — set FTT_GRAPH_* env + register an Azure app,
# see docs/providers/microsoft-graph-setup.md
python3 mcp-servers/graph-server/graph_tracker.py --sync --days 30

All four servers classify recruiter mail into the same local pipeline and also run
as --mcp stdio servers.

Agent mode

This toolkit was built to be driven by an AI agent, and every piece works two ways.

Via the CLI — open this repo in Claude Code (or Copilot with terminal access),
and the agent runs the loop — discover → validate (skills/job-search-validation/)
→ score → apply → track → follow up — by calling the same commands you would.

Via MCP — the gmail-server, job-discovery, and form-parser modules each run as a
stdio MCP server with a --mcp flag, so any MCP client can wire them in without
shell access:

python3 mcp-servers/gmail-server/gmail_tracker.py --mcp   # sync + classify email
python3 mcp-servers/job-discovery/scraper.py --mcp        # discover + score postings
python3 mcp-servers/form-parser/form_parser.py --mcp      # parse a form, suggest answers

Copy .mcp.json.example to .mcp.json (set YOUR_PROJECT_ROOT) to register all
three with your client. They run locally over stdio and share the same
profile.yaml and data/job_tracker.db as the CLI — nothing new leaves your
machine. The --mcp flag is purely additive; the CLI commands above still work
unchanged. Running as an MCP server needs the mcp package (pip install mcp); the
plain CLI does not.

Just give me the app

A desktop launcher with a first-run profile wizard ships in launcher/ — a windowed
app (no terminal) that writes your profile.yaml and runs the loop with buttons:

python3 launcher/ftt_launcher.py        # opens the GUI (needs a display)
python3 launcher/ftt_launcher.py --check  # headless self-check

To hand someone a double-click app with no Python install, freeze it per-OS with
PyInstaller — launcher/build.sh does this (see launcher/README.md).

Roadmap

Shipped (see the sections above): native --mcp servers for gmail/job-discovery/
form-parser; IMAP + Microsoft Graph email providers; HTML dashboard
(job_cli.py dashboard --html); ICS calendar export (job_cli.py calendar);
desktop launcher with first-run profile wizard.

Still open:

  • Calendar: native Google / Microsoft OAuth adapters (ICS export ships today)
  • Microsoft Graph email: end-to-end verification + token refresh/backoff (the
    provider is scaffolded; needs an Azure app registration to exercise)
  • Package the launcher into signed per-OS installers (PyInstaller/CI)

Privacy

  • profile.yaml, data/, and email tokens are gitignored from day one
  • Nothing leaves your machine except the requests you make to job boards and your
    own email provider
  • No telemetry, no accounts, no SaaS

License

MIT — see LICENSE.

Yorumlar (0)

Sonuc bulunamadi