# code_work_spawner GitHub issue thread assistant with an Agent Orchestrator style YAML config. It polls configured GitHub repositories with `gh`, reads issue threads, and uses CLI responders such as `codex`, `opencode`, or `copilot-cli` to decide when to reply. It supports multi-repo config, responder fallback chains, and optional Discord webhook notifications. ## Highlights - Poll GitHub issues across multiple repositories - Trigger replies from mentions or meaningful thread updates - Run planning and bug-verification flows in isolated worktrees - Send optional Discord notifications for assistant events ## Requirements - Dart SDK - `gh` CLI authenticated for the target repositories - Local checkouts for configured repositories - Optional local responder CLIs such as `codex`, `opencode`, or `copilot-cli` ## Config Create a local `agent-orchestrator.yaml` and use [`examples/README.md`](examples/README.md) plus [`examples/simple-github.yaml`](examples/simple-github.yaml) as the reference. Generate a starter config: ```bash dart run bin/code_work_spawner.dart init-config # Write it to a file: dart run bin/code_work_spawner.dart init-config --output agent-orchestrator.yaml # Overwrite an existing file: dart run bin/code_work_spawner.dart init-config --output agent-orchestrator.yaml --force ``` ## Run ```bash dart run build_runner build --delete-conflicting-outputs ``` Single poll cycle: ```bash dart run bin/code_work_spawner.dart --once ``` Long-running poller: ```bash dart run bin/code_work_spawner.dart ``` Override paths when needed: ```bash dart run bin/code_work_spawner.dart \ --config /path/to/agent-orchestrator.yaml \ --db /path/to/state.sqlite3 \ --gh-command /usr/bin/gh ``` ## Testing ```bash dart run tool/validate_gherkin_test_format.dart dart analyze dart test ``` ## ref [agent-orchestrator](https://github.com/ComposioHQ/agent-orchestrator)