{"id":51836474,"url":"https://github.com/rana/elmer","last_synced_at":"2026-07-22T22:32:11.218Z","repository":{"id":339902352,"uuid":"1163787823","full_name":"rana/elmer","owner":"rana","description":"Autonomous research with branching — spawns Claude Code sessions to explore topics, queues proposals for review","archived":false,"fork":false,"pushed_at":"2026-02-22T10:00:43.000Z","size":131,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-22T13:20:59.171Z","etag":null,"topics":["autonomous-research","claude","cli","git","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/rana.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":"ROADMAP.md","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-22T06:23:22.000Z","updated_at":"2026-02-22T10:00:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rana/elmer","commit_stats":null,"previous_names":["rana/elmer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/rana/elmer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana%2Felmer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana%2Felmer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana%2Felmer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana%2Felmer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rana","download_url":"https://codeload.github.com/rana/elmer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana%2Felmer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35780799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["autonomous-research","claude","cli","git","python"],"created_at":"2026-07-22T22:32:10.444Z","updated_at":"2026-07-22T22:32:11.211Z","avatar_url":"https://github.com/rana.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Elmer\n\nAutonomous research with branching.\n\n*\"Be vewy vewy quiet, I'm hunting insights.\"*\n\nElmer creates git branches, spawns Claude Code sessions to explore topics autonomously, and queues proposals for your review. Approve to merge. Decline to discard. Let it run overnight.\n\n## How It Works\n\n```\ntopic → git worktree → claude -p → PROPOSAL.md → human review → merge or discard\n```\n\nEach exploration gets its own git branch and worktree. A background Claude Code session (`claude -p`) runs against the worktree, reads the project's documentation, investigates the topic, and writes a PROPOSAL.md. You review proposals and approve or decline them.\n\n## Install\n\n```bash\nuv tool install /path/to/elmer\n# or\npip install /path/to/elmer\n```\n\n## Quick Start\n\n```bash\n# In any git repo:\nelmer init\nelmer init --docs                     # Also scaffold project documentation\nelmer init --skills                   # Also scaffold Claude Code skills\n\n# Start an exploration\nelmer explore \"evaluate COT positioning as 6th data axis\"\n\n# Check progress\nelmer status\n\n# Review and decide\nelmer review evaluate-cot-positioning\nelmer approve evaluate-cot-positioning\n\n# Clean up\nelmer clean\n```\n\n## Capabilities\n\n### Explore\n\nStart investigations on isolated branches. Each gets its own git worktree and Claude Code session.\n\n```bash\nelmer explore \"should we use WebSockets or SSE for real-time updates\"\nelmer explore \"prototype the export CLI\" -a prototype -m opus\nelmer explore \"challenge our microservices decision\" -a devil-advocate\n```\n\n### Review \u0026 Decide\n\nReview proposals, approve to merge, decline with reasons that feed future synthesis.\n\n```bash\nelmer review --prioritize\nelmer approve my-exploration --auto-followup\nelmer decline my-exploration \"too broad — focus on JWT only\"\nelmer amend my-exploration \"Remove the Read-Aloud section\"\n```\n\n### Batch \u0026 Automate\n\nRun topic lists from `---`-separated markdown files. Chain for sequential work. Run the daemon for overnight autonomy.\n\n```bash\nelmer batch .elmer/prototype.md --chain\nelmer daemon --auto-approve --generate\n```\n\n### Implement\n\nDecompose a milestone into ordered steps with dependency tracking and execute autonomously. Each step becomes an exploration with cross-step context injection.\n\n```bash\nelmer implement \"Add user authentication with JWT\"\nelmer implement --status\nelmer replan my-plan \"The API needs gRPC not REST\"\n```\n\n### Synthesize\n\nConverge understanding across explorations. Generate new topics from gaps. Mine questions from documentation.\n\n```bash\nelmer digest\nelmer generate --follow-up\nelmer mine-questions --spawn\n```\n\n### Ensemble\n\nRun the same topic through multiple independent lenses and synthesize into one consolidated proposal.\n\n```bash\nelmer explore \"auth architecture\" --replicas 3 \\\n  --archetypes explore,devil-advocate,dead-end-analysis\n```\n\n### Operate\n\nTrack status, costs, and dependencies. Works across multiple projects.\n\n```bash\nelmer status --all-projects\nelmer costs\nelmer tree\nelmer logs my-exploration\nelmer pr my-exploration\n```\n\n## Archetypes\n\nArchetypes define how Claude explores a topic. Each is a Claude Code custom subagent with tool restrictions and a methodology-specific system prompt (ADR-026).\n\n| Archetype | Purpose |\n|-----------|---------|\n| `explore` | Read-only analysis — think deeply, no action bias |\n| `explore-act` | Analysis biased toward concrete action proposals (default) |\n| `prototype` | Write working code on the branch |\n| `implement` | Implementation specialist with self-verification |\n| `adr-proposal` | Propose architecture decisions with alternatives |\n| `question-cluster` | Explore clusters of related open questions |\n| `benchmark` | Measure, evaluate, and recommend improvements |\n| `dead-end-analysis` | Analyze whether a direction is worth pursuing |\n| `devil-advocate` | Challenge assumptions and decisions |\n\n**Audit archetypes** (read-only analysis): consistency-audit, coherence-audit, architecture-audit, documentation-audit, mission-audit, operational-audit, opportunity-scan, workflow-audit.\n\nUse `-a` to select an archetype. Use `--auto-archetype` to let AI choose. See GUIDE.md for the archetype decision tree and custom archetype creation.\n\nAgent definitions are bundled with Elmer. To customize, run `elmer init --agents` to scaffold local copies in `.claude/agents/`. Local copies override bundled defaults.\n\n## Prerequisites\n\n- Git repository\n- [Claude Code](https://claude.ai/claude-code) CLI (`claude` in PATH)\n- Tool permissions configured in `.claude/settings.json`\n- [GitHub CLI](https://cli.github.com/) (`gh`) — optional, for `elmer pr`\n\n## Documentation\n\n| Document | Contents |\n|----------|----------|\n| **[GUIDE.md](GUIDE.md)** | Practitioner's playbook — workflows, command reference, configuration, MCP server, troubleshooting, patterns |\n| **[CONTEXT.md](CONTEXT.md)** | Project methodology, AI collaboration model, current state, open questions |\n| **[DESIGN.md](DESIGN.md)** | Architecture, modules, data model, state machine, MCP server tools |\n| **[DECISIONS.md](DECISIONS.md)** | 59 architecture decision records with rationale |\n| **[ROADMAP.md](ROADMAP.md)** | Phase history and 12 remaining future directions |\n\n## Name\n\nElmer Fudd. Persistent hunter. Homage to the [Ralph Wiggum](https://github.com/anthropics/claude-code/tree/main/plugins/ralph-wiggum) naming tradition for autonomous Claude Code tools.\n\n*Last updated: 2026-02-26, restructure — product overview; command reference and configuration moved to GUIDE.md*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frana%2Felmer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frana%2Felmer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frana%2Felmer/lists"}