{"id":49468169,"url":"https://github.com/inputforge/agentforge","last_synced_at":"2026-04-30T13:35:18.607Z","repository":{"id":351608912,"uuid":"1207079859","full_name":"inputforge/agentforge","owner":"inputforge","description":"A Kanban board that spawns AI coding agents (Claude Code, Codex, or any CLI) in isolated git worktrees","archived":false,"fork":false,"pushed_at":"2026-04-30T09:01:40.000Z","size":421,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-30T13:35:14.564Z","etag":null,"topics":["agents","claude-code","codex","orchestration"],"latest_commit_sha":null,"homepage":"https://www.inputforge.com/agentforge","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inputforge.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":"docs/agents.md","dco":null,"cla":null}},"created_at":"2026-04-10T14:53:43.000Z","updated_at":"2026-04-29T18:00:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/inputforge/agentforge","commit_stats":null,"previous_names":["inputforge/agentforge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/inputforge/agentforge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inputforge%2Fagentforge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inputforge%2Fagentforge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inputforge%2Fagentforge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inputforge%2Fagentforge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inputforge","download_url":"https://codeload.github.com/inputforge/agentforge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inputforge%2Fagentforge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32466333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"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":["agents","claude-code","codex","orchestration"],"created_at":"2026-04-30T13:35:18.499Z","updated_at":"2026-04-30T13:35:18.600Z","avatar_url":"https://github.com/inputforge.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AgentForge\n\nA Kanban board that spawns AI coding agents (Claude Code, Codex, or any CLI) in isolated git worktrees — one agent per ticket.\n\n## Getting started\n\n```bash\nbun install\nbun run dev\n```\n\nOpen [http://localhost:5173](http://localhost:5173). The backend runs on port `3001`.\n\n### Prerequisites\n\n- [Bun](https://bun.sh) runtime\n- At least one AI coding agent installed (e.g. `claude`, `codex`, `aider`)\n\n## Usage\n\n### 1. Connect your repository\n\nSet the `REPO_PATH` environment variable to point at the repository you want agents to work in, or run AgentForge from inside that repo. The header shows the active repo URL and current branch once detected.\n\n### 2. Create a ticket\n\nClick **+ TICKET** in the header and describe the task. The first line becomes the ticket title automatically. Check **Start now** to immediately move the ticket to **In Progress**.\n\n### 3. Launch an agent\n\nDrag the ticket to **IN PROGRESS** (or click it). A launcher panel opens — pick an agent:\n\n| Agent      | Command used                            |\n| ---------- | --------------------------------------- |\n| **Claude** | `claude --dangerously-skip-permissions` |\n| **Codex**  | `codex`                                 |\n| **Custom** | Any CLI you type in                     |\n\nAgentForge creates an isolated git worktree and branch (`agent/\u003cticketId\u003e`) and spawns the agent inside it.\n\n### 4. Watch and interact\n\nThe panel shows a live terminal on the left and a diff view on the right. You can type directly in the terminal if the agent needs input. If the agent exits with an error, a **RELAUNCH** button appears to restart it in the same worktree.\n\n### 5. Review and merge\n\nWhen the agent finishes, the ticket moves to **REVIEW** automatically. Click **MERGE TO MAIN** to rebase the agent branch onto your base branch. On success the ticket moves to **DONE** and the worktree is cleaned up.\n\nYou can also drag tickets between columns manually at any point, **KILL** a running agent to stop it, or open the built-in **TERMINAL** (header) for a shell in the configured repository.\n\n## Commands\n\n```bash\nbun run dev           # frontend + backend with hot-reload\nbun run dev:backend   # backend only\nbun run dev:frontend  # frontend only (Vite on :5173)\nbun run typecheck     # type-check all packages\nbun run build         # production build\nbun run start         # run production build\n```\n\n## Configuration\n\n| Environment variable | Default         | Purpose                        |\n| -------------------- | --------------- | ------------------------------ |\n| `PORT`               | `3001`          | Backend port                   |\n| `REPO_PATH`          | `process.cwd()` | Git repo for agents to work in |\n\n## Stack\n\n|          |                                    |\n| -------- | ---------------------------------- |\n| Runtime  | Bun                                |\n| Backend  | Hono + Bun WebSockets              |\n| Database | SQLite (`bun:sqlite`)              |\n| Frontend | React 18, Zustand, Tailwind CSS v4 |\n| Terminal | xterm.js + node-pty                |\n| Git      | simple-git (worktrees)             |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finputforge%2Fagentforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finputforge%2Fagentforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finputforge%2Fagentforge/lists"}