bestdefense-io/loopy — auto-complete tickets bot
Turns project-board tickets into reviewed pull requests. AI plans new tickets; a human approves by dragging the card; the loop-ops-agent container executes approved work headlessly and links the PR back.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| mode | poll (default) | setup (bootstrap the board) | dry-run (print the plan, change nothing) | triage-pr (event-driven single-PR triage) | execute-one (fan-out: run one claimed item from the `item` input) | no | poll |
| pr | PR number to triage (mode: triage-pr only) | no | "" |
| config | Path to the .loopy.yml consumer config | no | .loopy.yml |
| image | Override the container image from the config (pin a tag for reproducibility) | no | "" |
| max-parallel | Override the config's max_parallel execution cap | no | "" |
| fan-out | poll only (issue #88): "true" stops the execution pass at the CLAIM and emits the claimed items + max-parallel as this action's outputs for a matrix of mode=execute-one jobs. Default off = the single-job poll, byte-identical to before. Turning this on WITHOUT wiring the execute job strands claimed tickets until the reconcile pass retries them. | no | "" |
| item | mode: execute-one only — one claimed item from the poll's `items` output (lean JSON: item_id, issue, repo, key, labels, type; no plan body — the plan is re-resolved fresh from the board). | no | "" |
Outputs
| name | description |
|---|---|
| items | fan-out poll only: the claimed items as a JSON array (lean shape, '[]' when nothing was claimed) — feed to the execute job's strategy.matrix via fromJson. |
| max-parallel | fan-out poll only: the effective max_parallel cap for the execute matrix |