Repository issue thread assistant with an Agent Orchestrator style YAML config.
Go to file
insleker eab1a3ffe8 feat: update issue assistant configuration to support max concurrent issues and reduce poll interval 2026-04-05 00:33:42 +08:00
.github/workflows feat: Add minimal GitHub repo configuration and issue assistant setup 2026-04-04 22:12:03 +08:00
.vscode feat: Add minimal GitHub repo configuration and issue assistant setup 2026-04-04 22:12:03 +08:00
bin feat: Add minimal GitHub repo configuration and issue assistant setup 2026-04-04 22:12:03 +08:00
docs feat: 1st commit 2026-04-04 18:52:01 +08:00
examples feat: update issue assistant configuration to support max concurrent issues and reduce poll interval 2026-04-05 00:33:42 +08:00
lib feat: update issue assistant configuration to support max concurrent issues and reduce poll interval 2026-04-05 00:33:42 +08:00
skills/dart-gherkin-tests feat: add Gherkin test validation and enforce doc-comment format 2026-04-04 20:17:05 +08:00
test feat: update issue assistant configuration to support max concurrent issues and reduce poll interval 2026-04-05 00:33:42 +08:00
tool feat: add Gherkin test validation and enforce doc-comment format 2026-04-04 20:17:05 +08:00
.gitignore feat: Add minimal GitHub repo configuration and issue assistant setup 2026-04-04 22:12:03 +08:00
AGENTS.md feat: add prefix, postfix to distinguish human and bot comment 2026-04-05 00:00:41 +08:00
CHANGELOG.md feat: 1st commit 2026-04-04 18:52:01 +08:00
README.md feat: add prefix, postfix to distinguish human and bot comment 2026-04-05 00:00:41 +08:00
analysis_options.yaml feat: 1st commit 2026-04-04 18:52:01 +08:00
build.yaml fix: issue responder context and mention replies 2026-04-04 23:05:12 +08:00
lefthook.yml feat: Add minimal GitHub repo configuration and issue assistant setup 2026-04-04 22:12:03 +08:00
pubspec.yaml feat: Add minimal GitHub repo configuration and issue assistant setup 2026-04-04 22:12:03 +08:00
skills-lock.json feat: add Gherkin test validation and enforce doc-comment format 2026-04-04 20:17:05 +08:00

README.md

code_work_spawner

GitHub issue thread assistant with Agent Orchestrator style config.

The app polls configured GitHub repositories with gh, reads issue threads and
issue comments, and uses configured CLI responders such as codex,
opencode, or copilot-cli to reply when:

  • a user explicitly mentions the assistant
  • a new comment changes the thread enough that the responder decides a reply is
    useful

It supports multi-repo configuration, responder fallback chains.

Features

  • Agent Orchestrator style YAML config with defaults and projects
  • Multiple repositories in one process
  • Comment-triggered issue assistance
  • Planning / architecture guidance in issue threads
  • Bug verification flows in isolated temporary git worktrees
  • CLI-based responder fallback chain
  • Durable state with drift + SQLite
  • BDD-style tests using package:test with Given / When / Then wording

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 follow /examples/README.md as a starting point.

Run

dart run build_runner build --delete-conflicting-outputs

Single poll cycle:

dart run bin/code_work_spawner.dart --once

Long-running poller:

dart run bin/code_work_spawner.dart

Override paths when needed:

dart run bin/code_work_spawner.dart \
  --config /path/to/agent-orchestrator.yaml \
  --db /path/to/state.sqlite3 \
  --gh-command /usr/bin/gh

Testing

dart run tool/validate_gherkin_test_format.dart
dart analyze
dart test

All Dart tests under test/ must follow the repo's Gherkin doc-comment format:

  • group(...) has a Feature doc block above it
  • test(...) has a Scenario doc block above it
  • runtime names stay plain, without Feature: or Scenario: prefixes
  • test bodies include Given / When / Then inline comments

ref

agent-orchestrator