{"id":47673104,"url":"https://github.com/neerajg03/jeff","last_synced_at":"2026-05-06T08:03:40.178Z","repository":{"id":345580660,"uuid":"1186526116","full_name":"NeerajG03/JEFF","owner":"NeerajG03","description":"Agent workspace manager built on gig","archived":false,"fork":false,"pushed_at":"2026-03-29T07:41:36.000Z","size":206,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-29T09:32:19.176Z","etag":null,"topics":["agent","ai","claude-code","cli","go","task-management","workspace"],"latest_commit_sha":null,"homepage":"https://github.com/NeerajG03/gig","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NeerajG03.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-03-19T18:06:19.000Z","updated_at":"2026-03-29T07:27:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/NeerajG03/JEFF","commit_stats":null,"previous_names":["neerajg03/jeff"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/NeerajG03/JEFF","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeerajG03%2FJEFF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeerajG03%2FJEFF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeerajG03%2FJEFF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeerajG03%2FJEFF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NeerajG03","download_url":"https://codeload.github.com/NeerajG03/JEFF/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeerajG03%2FJEFF/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31483380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"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":["agent","ai","claude-code","cli","go","task-management","workspace"],"created_at":"2026-04-02T13:03:35.212Z","updated_at":"2026-05-06T08:03:40.160Z","avatar_url":"https://github.com/NeerajG03.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JEFF\n\nAgent workspace manager built on [gig](https://github.com/NeerajG03/gig). JEFF gives AI agents structured workspaces, personas, skills, and lifecycle management for task-driven development — from solo tasks to multi-agent crews.\n\n## Install\n\n### Homebrew (macOS/Linux)\n\n```bash\nbrew install NeerajG03/tap/jeff\n```\n\n### Go\n\n```bash\ngo install github.com/NeerajG03/JEFF/cmd/jeff@latest\n```\n\n### From source\n\n```bash\ngit clone https://github.com/NeerajG03/JEFF.git\ncd JEFF \u0026\u0026 go build -o jeff ./cmd/jeff/\n```\n\n## Quick Start\n\n```bash\n# 1. Initialize JEFF\njeff init\n\n# 2. Register a codebase\njeff repo add https://github.com/org/backend.git\n\n# 3. Pick up a task and start working\njeff pickup gig-ab12 --persona jenko --repos backend\n\n# 4. Save progress\njeff checkpoint --done \"Implemented auth flow\" --next \"Add tests\"\n\n# 5. Push and create PRs\njeff ship\n\n# 6. Close task\njeff done gig-ab12\n```\n\n## How It Works\n\n```\n  You ──► gig create \"fix auth bug\"\n                  │\n                  ▼\n  jeff pickup gig-ab12 --persona jenko --repos backend\n        │\n        ├── Claims task in gig\n        ├── Creates task workspace\n        ├── Creates git worktree (branch from origin/main)\n        ├── Injects matching skills via symlinks\n        ├── Writes CLAUDE.md (persona + task context)\n        └── Launches agent in workspace\n                  │\n                  ▼\n  Agent works ──► jeff checkpoint ──► jeff ship ──► jeff done\n```\n\n## Multi-Agent Crews\n\nRun multiple AI agents in parallel, each in its own tmux window with dedicated task workspace.\n\n```\njeff-work (tmux session)\n├── tab 1: orchestrator  ← you live here, coordinating\n├── tab 2: gig-abc1      ← worker 1 (jenko, implementing)\n├── tab 3: gig-def2      ← worker 2 (eric, researching)\n└── tab 4: gig-ghi3      ← worker 3 (hardy, reviewing)\n```\n\n### Start an orchestrator\n\n```bash\njeff orchestrator start --name work     # creates tmux session jeff-work\n```\n\n### Launch workers\n\n```bash\n# Start workers on tasks (each gets its own workspace + worktrees)\njeff crew start gig-ab12 --persona jenko --repos backend\njeff crew start gig-cd34 --persona eric --repos backend,frontend\njeff crew start gig-ef56 --persona hardy --repos backend --model opus\n```\n\n### Monitor and communicate\n\n```bash\njeff crew list                          # show running workers\njeff crew status gig-ab12               # detailed worker status + pane output\njeff crew events --since 5m             # recent activity across all workers\njeff crew capture gig-ab12 --lines 30   # raw terminal output\n\n# Message workers (4 types, lightest to heaviest)\njeff crew send gig-ab12 \"add error handling\" --type nudge     # low context impact\njeff crew send gig-ab12 \"what are you working on?\" --type status  # sidechain, no pollution\njeff crew send gig-ab12 \"API spec changed\" --type normal      # full conversation turn\njeff crew send gig-ab12 \"stop, focus on payments\" --type divert  # interrupts agent\n\n# Workers can ask the orchestrator questions\njeff crew ask \"should I use JWT or session tokens?\"\njeff crew ack \u003cmsg-id\u003e \"use JWT\"\n```\n\n### Manage lifecycle\n\n```bash\njeff crew resume gig-ab12               # resume stopped worker (restores Claude session)\njeff crew stop gig-ab12                 # graceful stop\njeff crew stop --all                    # stop all workers\njeff crew cleanup                       # reconcile tmux vs DB state\njeff orchestrator info                  # show all tasks under orchestrator\njeff orchestrator stop jeff-work        # stop orchestrator + all workers\n```\n\n### Dashboard\n\n```bash\njeff dashboard                          # interactive TUI (auto-refreshes every 2s)\n```\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| **Task lifecycle** | |\n| `jeff init [--here] [--update]` | Initialize or update JEFF home |\n| `jeff pickup \u003cid\u003e [--persona] [--repos]` | Claim task, set up workspace, launch agent |\n| `jeff work [id]` | Resume work in existing task workspace |\n| `jeff checkpoint --done \"...\"` | Save structured progress snapshot |\n| `jeff ship [--repo] [--draft] [--dry-run]` | Push branches and create PRs |\n| `jeff done [id] [--reason]` | Close task and clean up workspace |\n| `jeff status [--all]` | Overview of active tasks and workspaces |\n| `jeff open [id]` | Open workspace in IDE |\n| **Crew orchestration** | |\n| `jeff orchestrator start [--name]` | Launch orchestrator tmux session |\n| `jeff orchestrator list` | List orchestrator sessions |\n| `jeff orchestrator info [id]` | Show all tasks under an orchestrator |\n| `jeff orchestrator attach \u003cid\u003e` | Attach to orchestrator session |\n| `jeff orchestrator stop \u003cid\u003e` | Stop orchestrator and all workers |\n| `jeff crew start \u003cid\u003e [--persona] [--repos] [--model] [--prompt]` | Launch worker in tmux |\n| `jeff crew resume \u003cid\u003e` | Resume stopped worker (restores Claude session) |\n| `jeff crew list [--all]` | List workers (running only by default) |\n| `jeff crew status \u003cid\u003e` | Worker detail + checkpoint + pane output |\n| `jeff crew send \u003cid\u003e \"msg\" [--type]` | Message a worker (nudge/status/normal/divert) |\n| `jeff crew ask \"question\"` | Worker asks orchestrator a question |\n| `jeff crew ack \u003cmsg-id\u003e [\"response\"]` | Acknowledge worker question |\n| `jeff crew events [--since]` | Recent gig activity across workers |\n| `jeff crew capture \u003cid\u003e [--lines]` | Raw terminal output from worker pane |\n| `jeff crew stop \u003cid\u003e [--all]` | Stop worker(s) |\n| `jeff crew cleanup` | Reconcile tmux state vs DB |\n| `jeff dashboard` | Interactive TUI dashboard |\n| **Resources** | |\n| `jeff repo add\\|list\\|remove\\|sync` | Manage registered codebases |\n| `jeff worktree add\\|rm\\|list` | Manage git worktrees |\n| `jeff skill doc\\|list\\|show\\|add\\|remove\\|tag\\|inject\\|eject` | Manage agent skills |\n| `jeff persona list\\|show\\|set-model` | Manage personas and model defaults |\n| `jeff config [agent\\|ide\\|hooks\\|reset-claude-md]` | View and update configuration |\n| `jeff completion [bash\\|zsh\\|fish]` | Shell completions |\n\n## Personas\n\nShape agent behavior with embedded personas. Each has a default model for cost optimization.\n\n| Persona | Role | Default model | Use when |\n|---------|------|--------------|----------|\n| **jenko** | Implementer — writes code, ships | opus | Building features, fixing bugs |\n| **schmidt** | Debugger — traces root causes | opus | Investigating issues, debugging |\n| **dickson** | Orchestrator — plans, delegates | sonnet | Breaking down epics, coordinating |\n| **eric** | Researcher — explores, documents | sonnet | Investigating code, researching |\n| **hardy** | Reviewer — checks quality | sonnet | Code review, PR review |\n\n```bash\njeff pickup gig-ab12 --persona jenko --repos backend\njeff crew start gig-ab12 --persona schmidt --repos backend --model opus\n```\n\n## Skills\n\nSkills are reusable SKILL.md instructions auto-injected into task workspaces based on persona, task type, or tags.\n\n```bash\njeff skill add ./my-skill              # register a skill\njeff skill tag my-skill --persona jenko # tag for auto-injection\njeff skill inject slack notion         # inject into JEFF home\njeff skill list                        # see all skills\n```\n\nThe `crew-orchestrator` skill is embedded in the binary and auto-installed on `jeff init`.\n\n## Agent Memory\n\nJEFF maintains persistent memory across sessions:\n\n- **Persona memory** (`personas/\u003cname\u003e/memory/`) — per-persona knowledge that carries across tasks\n- **Repo learnings** (`learnings/\u003crepo\u003e/`) — repo-specific quirks and patterns\n- **Scratchpad** (`scratchpad.md` in task dir) — raw observations during a session\n\nRun `/learn` at the end of a session to curate scratchpad observations into persistent memory.\n\n## Configuration\n\nJEFF is configured via `jeff.json` with [JSON schema](https://raw.githubusercontent.com/NeerajG03/JEFF/main/schemas/jeff-config.json) for editor autocompletion.\n\n```json\n{\n  \"$schema\": \"https://raw.githubusercontent.com/NeerajG03/JEFF/main/schemas/jeff-config.json\",\n  \"agent\": \"claude\",\n  \"ide\": \"cursor\",\n  \"repos\": {\n    \"backend\": {\n      \"url\": \"https://github.com/org/backend.git\",\n      \"base_branch\": \"origin/develop\",\n      \"branch_name\": \"scripts/branch.sh\",\n      \"post_setup\": \"scripts/setup.sh\"\n    }\n  },\n  \"hooks\": {\n    \"gig-ready-tasks\": true\n  }\n}\n```\n\nSee [docs/config.md](docs/config.md) for full configuration reference.\n\n## Requirements\n\n- [gig](https://github.com/NeerajG03/gig) — task management\n- [Claude Code](https://claude.com/product/claude-code) or [opencode](https://github.com/anomalyco/opencode) — agent tool\n- Git, `gh` CLI (for `jeff ship`), tmux (for crew mode)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneerajg03%2Fjeff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneerajg03%2Fjeff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneerajg03%2Fjeff/lists"}