code_work_spawner/README.md

78 lines
1.9 KiB
Markdown

# 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)