{"id":44152287,"url":"https://github.com/jdonohoo/vern-bot","last_synced_at":"2026-02-12T10:01:51.383Z","repository":{"id":337000117,"uuid":"1151131918","full_name":"jdonohoo/vern-bot","owner":"jdonohoo","description":"The MightyVern bot","archived":false,"fork":false,"pushed_at":"2026-02-11T12:33:24.000Z","size":59676,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-11T15:22:15.367Z","etag":null,"topics":["agentic-coding","agentic-discovery","ai","ai-agents","ai-discovery","ai-planning","ai-swarming","ai-tools","automation","claude","claude-code","discovery-swarming","parallel-execution","tui","vibe-coding"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jdonohoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-06T04:57:13.000Z","updated_at":"2026-02-11T12:33:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jdonohoo/vern-bot","commit_stats":null,"previous_names":["jdonohoo/vern-bot"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/jdonohoo/vern-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdonohoo%2Fvern-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdonohoo%2Fvern-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdonohoo%2Fvern-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdonohoo%2Fvern-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdonohoo","download_url":"https://codeload.github.com/jdonohoo/vern-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdonohoo%2Fvern-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29363010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-coding","agentic-discovery","ai","ai-agents","ai-discovery","ai-planning","ai-swarming","ai-tools","automation","claude","claude-code","discovery-swarming","parallel-execution","tui","vibe-coding"],"created_at":"2026-02-09T04:09:24.395Z","updated_at":"2026-02-12T10:01:51.377Z","avatar_url":"https://github.com/jdonohoo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/vern-bot-logo.png\" alt=\"Vern-Bot Logo\" width=\"300\" /\u003e\n\u003c/p\u003e\n\n# Vern-Bot\n\nhttps://jdonohoo.github.io/vern-bot/\n\nA Claude Code plugin and standalone CLI. 16 AI personas with different personalities, models, and approaches to problem-solving. Plus VernHole council tiers, Oracle vision, and a full multi-LLM discovery pipeline.\n\nNow available as a **standalone terminal app** — no Claude Code required.\n\n## The 16 Personas\n\n### Core Personas\n| Command | Model | Best For |\n|---------|-------|----------|\n| `/vern:mediocre` | Sonnet | Quick fixes, scripts, \"just make it work\" |\n| `/vern:great` | Opus | Architecture, elegant solutions, quality code |\n| `/vern:nyquil` | Haiku | Quick answers, minimal output, brevity |\n| `/vern:ketamine` | Opus | Deep exploration, multi-pass planning, patterns |\n| `/vern:yolo` | Gemini | Fast execution, no guardrails, chaos |\n| `/vern:mighty` | Codex | Comprehensive code gen, thorough analysis |\n\n### Specialist Personas\n| Command | Model | Best For |\n|---------|-------|----------|\n| `/vern:architect` | Opus | Systems design, scalable architecture, production-grade thinking |\n| `/vern:inverse` | Sonnet | Devil's advocate, stress-testing assumptions |\n| `/vern:paranoid` | Sonnet | Risk assessment, finding failure modes |\n| `/vern:optimist` | Haiku | Encouragement, positive framing, can-do energy |\n| `/vern:academic` | Opus | Evidence-based analysis, citing prior art |\n| `/vern:startup` | Sonnet | MVP thinking, lean approach, cut scope |\n| `/vern:enterprise` | Opus | Governance, compliance, process rigor |\n| `/vern:ux` | Opus | User experience, empathy-driven design, journey mapping |\n| `/vern:retro` | Sonnet | Historical perspective, proven tech, cutting through hype |\n| `/vern:oracle` | Opus | Reads the council's wisdom, recommends VTS task changes |\n\n### When to Use Each\n\n| Situation | Command |\n|-----------|---------|\n| \"I need this NOW\" | `/vern:mediocre` |\n| \"I need this RIGHT\" | `/vern:great` |\n| \"Just answer the question\" | `/vern:nyquil` |\n| \"Help me think through this\" | `/vern:ketamine` |\n| \"YOLO\" | `/vern:yolo` |\n| \"Give me EVERYTHING\" | `/vern:mighty` |\n| \"Design the system\" | `/vern:architect` |\n| \"Play devil's advocate\" | `/vern:inverse` |\n| \"What could go wrong?\" | `/vern:paranoid` |\n| \"Hype me up\" | `/vern:optimist` |\n| \"What does the research say?\" | `/vern:academic` |\n| \"What's the MVP?\" | `/vern:startup` |\n| \"Enterprise-grade analysis\" | `/vern:enterprise` |\n| \"Can a real person use this?\" | `/vern:ux` |\n| \"Haven't we solved this before?\" | `/vern:retro` |\n| \"What did the council actually say?\" | `/vern:oracle` |\n| \"I want chaos/creativity\" | `/vern:hole` |\n| \"Full project discovery\" | `/vern:discovery` |\n| \"What commands are there?\" | `/vern:help` |\n| \"Configure LLMs/pipeline\" | `/vern:setup` |\n\n## Install\n\n### As a Claude Code Plugin\n\n```bash\n/plugin marketplace add https://github.com/jdonohoo/vern-bot\n/plugin install vern\n```\n\n### Standalone (No Claude Code Required)\n\n#### Homebrew (macOS / Linux)\n\n```bash\nbrew tap jdonohoo/vern\nbrew install vern\n```\n\nTo update later: `brew upgrade vern`\n\n#### Manual Download\n\nDownload the latest binary from [GitHub Releases](https://github.com/jdonohoo/vern-bot/releases):\n\n```bash\n# macOS Apple Silicon\ncurl -Lo vern https://github.com/jdonohoo/vern-bot/releases/latest/download/vern-darwin-arm64\nchmod +x vern\nsudo mv vern /usr/local/bin/\n```\n\n#### Build from Source\n\n```bash\ngit clone https://github.com/jdonohoo/vern-bot.git\ncd vern-bot/go\ngo build -o bin/vern ./cmd/vern\nsudo cp bin/vern /usr/local/bin/\n```\n\n#### First Run\n\nRun the setup wizard to detect your LLMs and configure defaults:\n\n```bash\nvern setup\n```\n\nThen launch the TUI:\n\n```bash\nvern tui\n```\n\n**Available binaries:** macOS (Intel + Apple Silicon), Linux (x64 + ARM64), Windows (x64 + ARM64).\n\n**Required:** At least one LLM CLI installed — `claude`, `codex`, `gemini`, or `copilot`.\n\n## Standalone TUI\n\nLaunch the interactive terminal UI — no Claude Code needed:\n\n```bash\nvern tui\n```\n\n```\n┌──────────────────────────────────┐\n│         VERN-BOT v2.2            │\n│                                  │\n│  [1] Discovery Pipeline          │\n│  [2] VernHole Council            │\n│  [3] Single LLM Run             │\n│  [4] Post-Processing             │\n│  [5] Settings                    │\n│  [q] Quit                        │\n│                                  │\n│  LLM Mode: Mixed + Claude FB    │\n│  LLMs: claude codex gemini       │\n└──────────────────────────────────┘\n```\n\nOr run commands directly from the CLI:\n\n```bash\nvern discovery \"build a SaaS for freelancers\"\nvern hole --council conflict \"monolith vs microservices\"\nvern run codex \"analyze this codebase\"\n```\n\n### LLM Modes\n\nControl which LLMs handle your pipeline steps and where failures fall back to:\n\n| Mode | Description |\n|------|-------------|\n| `mixed_claude_fallback` | Default. Mixed LLMs per step, claude catches failures |\n| `mixed_codex_fallback` | Mixed LLMs, codex as safety net |\n| `mixed_gemini_fallback` | Mixed LLMs, gemini as safety net |\n| `mixed_copilot_fallback` | Mixed LLMs, copilot as safety net |\n| `single_llm` | One LLM for everything |\n\n```bash\n# Override LLM mode for a single run\nvern discovery --llm-mode mixed_codex_fallback \"my idea\"\n\n# Use a single LLM for everything\nvern discovery --single-llm gemini \"my idea\"\n\n# Same flags work for VernHole\nvern hole --single-llm codex \"my idea\"\n```\n\n## Usage (Claude Code Plugin)\n\n```\n/vern:\u003cpersona\u003e \u003ctask\u003e\n```\n\nEach persona is a separate skill invoked directly:\n\n```bash\n/vern:mediocre \u003ctask\u003e\n/vern:great \u003ctask\u003e\n/vern:hole \u003cidea\u003e\n/vern:discovery \u003cprompt\u003e\n```\n\nOr use the shorthand router:\n\n```bash\n/vern:v med \u003ctask\u003e\n/vern:v great \u003ctask\u003e\n/vern:v hole \u003cidea\u003e\n/vern:v disco \u003cprompt\u003e\n```\n\n## Examples\n\n```bash\n# Quick and scrappy\n/vern:mediocre write a bash script to rename all .txt files to .md\n\n# Quality architecture\n/vern:great design a REST API for user authentication\n\n# Systems design\n/vern:architect design a scalable notification system\n\n# Deep exploration\n/vern:ketamine explore different approaches to state management\n\n# Contrarian check\n/vern:inverse challenge this API design\n\n# Risk assessment\n/vern:paranoid review this deployment plan\n\n# MVP scope\n/vern:startup what's the minimum viable version of this feature\n\n# Full chaos\n/vern:hole should we use GraphQL or REST\n\n# Oracle vision (after VernHole)\n/vern:oracle review the council's synthesis against the VTS tasks\n\n# Prepared discovery (recommended for complex ideas)\n/vern:new-idea my-saas-app\n# -\u003e drop reference files into discovery/my-saas-app/input/\n# -\u003e edit input/prompt.md with your idea\n/vern:discovery my-saas-app\n\n# Quick discovery (skip the prep)\n/vern:discovery build a SaaS for freelancers\n# -\u003e prompts for a name, creates the folder, runs the pipeline\n```\n\n## Workflows \u0026 Pipelines\n\n| Command | Description |\n|---------|-------------|\n| `/vern:new-idea` | Create discovery folder with input/output structure |\n| `/vern:discovery` | Full pipeline: Default (5-step) or Expanded (7-step) multi-LLM discovery + council + Oracle |\n| `/vern:hole` | Summon a VernHole council tier to brainstorm your idea |\n| `/vern:oracle` | Consult Oracle Vern — synthesize council wisdom into VTS modifications |\n| `/vern:setup` | Configure LLMs, pipeline personas, preferences |\n| `/vern:help` | Show all available commands and personas |\n\n## The Discovery Pipeline\n\nTwo ways to use it:\n\n### Prepared Discovery (for complex ideas)\n```bash\n/vern:new-idea my-saas-app                         # Creates the folder structure\n# Drop specs, designs, existing code into discovery/my-saas-app/input/\n# Edit input/prompt.md with your idea description\n/vern:discovery my-saas-app \"focus on API design\"   # Runs pipeline with all that context\n```\n\n### Quick Discovery (skip the prep)\n```bash\n/vern:discovery \"AI-powered code review tool\"\n# Prompts for name + location, creates folders, runs pipeline\n```\n\n### What happens when you run discovery\n\n1. Checks for input files, asks if you want them read as context\n2. Asks if you want to add any other files (one at a time, easy to stop)\n3. Choose pipeline mode: Default (5-step) or Expanded (7-step)\n4. Builds the full prompt from your idea + all gathered context\n5. Runs the multi-LLM gauntlet:\n\n#### Default Pipeline (5 steps)\n\n```\nCodex (Analysis) → Claude (Refinement) → Gemini (Chaos Check)\n                          │\n                          ▼\n                  Codex (Consolidation)\n                          │\n                          ▼\n                  Architect Vern (Breakdown) → VTS Tasks\n```\n\n#### Expanded Pipeline (7 steps) — use `--expanded` flag\n\n```\nCodex (Analysis) → Claude (Refinement) → Claude (Reality Check)\n                                                  │\n                                                  ▼\n                  Gemini (Chaos Check) → Claude (MVP Lens)\n                          │\n                          ▼\n                  Codex (Consolidation)\n                          │\n                          ▼\n                  Architect Vern (Breakdown) → VTS Tasks\n```\n\nThe expanded pipeline inserts **Vern the Mediocre** (Reality Check) and **Startup Vern** (MVP Lens) before consolidation for more thorough analysis.\n\nEvery pass receives the **original prompt + all input context** alongside the chain outputs, so nothing gets lost.\n\n### Error Handling \u0026 Recovery\n\nPipelines are **failure-tolerant**. A single LLM step failure won't kill your entire run.\n\n| Feature | Description |\n|---------|-------------|\n| **20-min timeout** | Each step has a 20-minute watchdog. Configurable via `timeout_seconds` in config or `VERN_TIMEOUT` env var. |\n| **`--resume-from N`** | Resume a pipeline from step N after a failure. Skips completed steps, preserves context chaining. |\n| **`--max-retries N`** | Retry failed steps (default: 2 retries). Failed LLMs automatically fall back based on your LLM mode (e.g. codex/gemini/copilot fall back to claude in `mixed_claude_fallback` mode). |\n| **Pipeline log** | `output/pipeline.log` tracks per-step status (OK/FAILED/SKIPPED), timestamps, exit codes, and retry counts. |\n| **Pipeline status** | `output/pipeline-status.md` provides a human-readable progress summary with step results table, durations, output sizes, and resume hints. |\n| **Failure markers** | Failed steps write a `# STEP FAILED` marker instead of halting. Downstream steps continue. |\n| **Downstream guards** | VTS post-processing, VernHole, and Oracle automatically skip when upstream steps fail. |\n\n```bash\n# Resume from step 3 after fixing an issue\n/vern:discovery --batch --resume-from 3 \"my idea\" ./discovery/my-project\n\n# Set max retries to 3\n/vern:discovery --batch --max-retries 3 \"my idea\"\n\n# Override timeout (in seconds) via environment\nVERN_TIMEOUT=600 bin/vern-run claude \"say hello\"\n```\n\nVernHole is also failure-tolerant — if a Vern fails or times out, it's excluded from synthesis and the remaining Verns carry on.\n\n6. After the pipeline, choose a **VernHole council tier** to brainstorm the plan:\n\n| Tier | Count | Name |\n|------|-------|------|\n| 1 | 3 | **Council of the Three Hammers** — great, mediocre, ketamine |\n| 2 | 6 | **Max Conflict** — startup, enterprise, yolo, paranoid, optimist, inverse |\n| 3 | 3–5 | **The Inner Circle** — architect, inverse, paranoid + random fill |\n| 4 | 6–9 | **The Round Table** — mighty, yolo, startup, academic, enterprise + random fill |\n| 5 | 10–13 | **The War Room** — round table core + ux, retro, optimist, nyquil + random fill |\n| 6 | 15 | **The Full Vern Experience** — every summonable persona |\n| 7 | ? | **Fate's Hand** — random count, random selection |\n\n7. Optionally consult **Oracle Vern** to review VernHole synthesis against VTS tasks, producing `oracle-vision.md` with recommended modifications\n8. Choose to **auto-apply** the Oracle's vision (Architect Vern rewrites VTS) or **manually review**\n\n```\nPipeline → VTS Tasks → VernHole Council → Oracle Vision → Auto-Apply (optional)\n```\n\n### Standardized Folder Structure\n\n```\ndiscovery/{name}/\n├── input/\n│   ├── prompt.md              # Your idea description\n│   └── {reference files}      # Specs, designs, code, anything\n├── output/\n│   ├── 01-mighty-initial-analysis.md\n│   ├── 02-great-refinement.md\n│   ├── 03-yolo-chaos-check.md       # (or 03-mediocre-reality-check.md in expanded)\n│   ├── 04-mighty-consolidation.md   # (or 06-... in expanded)\n│   ├── 05-architect-architect-breakdown.md  # (or 07-... in expanded)\n│   ├── vts/                   # Vern Task Spec files\n│   ├── pipeline.log           # Per-step status, timestamps, exit codes\n│   └── pipeline-status.md     # Human-readable progress summary\n├── vernhole/                  # Only if you opted in\n└── oracle-vision.md           # Only if Oracle ran\n```\n\n## The VernHole\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/vernhole.png\" alt=\"The VernHole\" width=\"400\" /\u003e\n\u003c/p\u003e\n\n```bash\n/vern:hole \"should we use microservices or monolith\"\n```\n\nChoose a council tier — from the focused **Council of the Three Hammers** (3 Verns) to **The Full Vern Experience** (all 15). Each Vern gives their unique take. Chaos synthesizes into clarity. Maybe.\n\n### Council Tiers\n\n| Tier | Name | Count | Personas |\n|------|------|-------|----------|\n| **Council of the Three Hammers** | Fixed | 3 | great, mediocre, ketamine |\n| **Max Conflict** | Fixed | 6 | startup, enterprise, yolo, paranoid, optimist, inverse |\n| **The Inner Circle** | Core + random | 3–5 | architect, inverse, paranoid + random fill |\n| **The Round Table** | Core + random | 6–9 | mighty, yolo, startup, academic, enterprise + random fill |\n| **The War Room** | Core + random | 10–13 | round table + ux, retro, optimist, nyquil + random fill |\n| **The Full Vern Experience** | All | 15 | every summonable persona |\n| **Fate's Hand** | Random | 3–15 | random count, random selection |\n\nOracle is excluded from all council rosters (15 summonable personas).\n\n## Requirements\n\n**As a plugin:** No additional dependencies. The CLI binary auto-downloads on first use.\n\n**Standalone:** At least one LLM CLI installed — `claude`, `codex`, `gemini`, or `copilot`. Supports 4 LLMs with configurable fallback chains.\n\nCross-platform: macOS (Intel + Apple Silicon), Linux (x64 + ARM64), Windows (x64 + ARM64).\n\n## Plugin Structure\n\n```\nvern-bot/\n├── .claude-plugin/\n│   ├── plugin.json          # Plugin metadata\n│   └── marketplace.json     # Marketplace manifest\n├── agents/                   # 17 agent definitions (16 personas + orchestrator)\n│   ├── mediocre.md\n│   ├── great.md\n│   ├── nyquil.md\n│   ├── ketamine.md\n│   ├── yolo.md\n│   ├── mighty.md\n│   ├── architect.md\n│   ├── inverse.md\n│   ├── paranoid.md\n│   ├── optimist.md\n│   ├── academic.md\n│   ├── startup.md\n│   ├── enterprise.md\n│   ├── ux.md\n│   ├── retro.md\n│   ├── oracle.md\n│   └── vernhole-orchestrator.md\n├── commands/                  # 22 command definitions (16 personas + 6 workflows/utility)\n│   ├── v.md                  # /vern:v shorthand router\n│   ├── help.md               # /vern:help command reference\n│   ├── setup.md              # /vern:setup configuration\n│   └── {persona}.md          # Per-persona command files\n├── skills/                    # 19 skill definitions\n│   ├── mediocre/SKILL.md\n│   ├── great/SKILL.md\n│   ├── nyquil/SKILL.md\n│   ├── ketamine/SKILL.md\n│   ├── yolo/SKILL.md\n│   ├── mighty/SKILL.md\n│   ├── architect/SKILL.md\n│   ├── inverse/SKILL.md\n│   ├── paranoid/SKILL.md\n│   ├── optimist/SKILL.md\n│   ├── academic/SKILL.md\n│   ├── startup/SKILL.md\n│   ├── enterprise/SKILL.md\n│   ├── ux/SKILL.md\n│   ├── retro/SKILL.md\n│   ├── oracle/SKILL.md\n│   ├── hole/SKILL.md\n│   ├── discovery/SKILL.md\n│   └── new-idea/SKILL.md\n├── go/                        # Compiled CLI (vern run, discovery, hole, tui, setup)\n│   ├── cmd/vern/             # Cobra CLI entry points\n│   ├── internal/             # Config, LLM runner, VTS, pipeline, council, TUI\n│   ├── go.mod\n│   └── go.sum\n├── bin/                       # Shell wrappers (delegate to Go CLI binary)\n│   ├── vern-run              # Single LLM runner wrapper (bash)\n│   ├── vern-run.cmd          # Single LLM runner wrapper (Windows)\n│   ├── vern-discovery        # Full discovery pipeline wrapper (bash)\n│   ├── vern-discovery.cmd    # Full discovery pipeline wrapper (Windows)\n│   ├── vernhole              # VernHole chaos mode wrapper (bash)\n│   ├── vernhole.cmd          # VernHole chaos mode wrapper (Windows)\n│   ├── install-vern-cli      # Auto-download CLI binary from GitHub releases (bash)\n│   └── install-vern-cli.cmd  # Auto-download CLI binary from GitHub releases (Windows)\n├── discovery/                 # Discovery pipeline output\n└── README.md\n```\n\n## Development\n\n### Prerequisites\n- Go 1.22+ (`brew install go`)\n\n### Build\n```bash\ncd go \u0026\u0026 go build -o bin/vern ./cmd/vern\n```\n\n### Test\n```bash\ncd go \u0026\u0026 go test ./...\n```\n\n### Subcommands\n```bash\nvern run \u003cllm\u003e \u003cprompt\u003e      # Single LLM run\nvern discovery \u003cprompt\u003e       # Full discovery pipeline\nvern hole \u003cidea\u003e              # VernHole council\nvern tui                      # Interactive terminal UI\nvern setup                    # First-run configuration wizard\n```\n\n### Release\n```bash\ngit tag v2.x.0 \u0026\u0026 git push --tags\n# GitHub Actions builds binaries automatically via GoReleaser\n```\n\n## Dad Jokes\n\nEvery Vern ends with one. It's the law.\n\n---\n\n*From chaos, clarity. From the VernHole, wisdom. And always, dad jokes.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdonohoo%2Fvern-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdonohoo%2Fvern-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdonohoo%2Fvern-bot/lists"}