Files
gadfly/examples
Steve Dudenhoeffer 79da1bfde3
Build & push image / build-and-push (pull_request) Successful in 8s
Adversarial Review (Gadfly) / review (pull_request) Successful in 14m47s
feat(reusable): ship the curated swarm as the default config consumers inherit
Make the reusable workflow's input defaults BE the standard Gadfly swarm so a
consumer subscribes by just calling it (no `with:` block) and inherits:
- models: 3 strong cloud (minimax-m3, glm-5.2, deepseek-v4-pro) + Claude Code
  (sonnet, opus, opus:max)
- specialists: the 5-lens default suite (security, correctness, maintainability,
  performance, error-handling)
- provider_concurrency: ollama-cloud=3,claude-code=3 (all three claudes at once)
- timeout_minutes default 45 -> 90 (5 lenses x 2 passes over a slow lane)

The default is opinionated (needs OLLAMA_CLOUD_API_KEY + CLAUDE_CODE_OAUTH_TOKEN);
consumers override `models:` for cloud-only / other providers. gadfly's own
caller is slimmed to inherit (only allowed_users remains). examples/reusable.yml
keeps a cloud-only `models:` override so a public copy works with just the
Ollama key. README/CLAUDE.md updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 22:05:31 -04:00
..

Example consumer workflows

Each file here is a complete, copy-paste stub workflow. Pick the one that matches your setup, copy it to .gitea/workflows/adversarial-review.yml in the repo you want reviewed, and set the secrets/vars it references. Gadfly is advisory only — it never blocks a merge.

File Backend Needs
reusable.yml slimmest stub — calls Gadfly's reusable workflow, forwarding only the secrets the reviewer needs (least privilege, not secrets: inherit); take the defaults or override a few inputs secret OLLAMA_CLOUD_API_KEY
adversarial-review.yml Ollama Cloud (default) + inline notes for every provider; full self-contained stub secret OLLAMA_CLOUD_API_KEY
local-ollama.yml a local/LAN Ollama daemon nothing (or GADFLY_BASE_URL for a remote host)
openai-compatible.yml any OpenAI-compatible endpoint (local Ollama /v1, gateway, vLLM, OpenRouter…) GADFLY_BASE_URL (+ a key for most gateways)
endpoint-aliases.yml several named backends at once (one comment each) repo vars GADFLY_ENDPOINT_<NAME>
claude-code.yml the bundled Claude Code CLI engine (claude-code/<model>) secret CLAUDE_CODE_OAUTH_TOKEN (or ANTHROPIC_API_KEY)
.gadfly.yml per-repo specialist config (not a workflow — goes at your repo root)

Common to all:

  • Triggers: new/reopened/ready non-draft PR (auto), @gadfly review comment (allowed users), or manual workflow_dispatch with a pr_number.
  • GITEA_TOKEN is provided automatically; comments post as gitea-actions.
  • Tested backends are the Ollama ones; OpenAI/Anthropic/Google are wired via majordomo but untested. See the repo README for the full config reference and the honest tested/untested status.

Gitea note: repo vars/secrets are not auto-exposed as env — anything you reference via ${{ vars.X }} / ${{ secrets.X }} must appear in the step's env: block (already wired in these examples).