🧠 Improvements & Refactorings
- Shared library — all common logic now lives in
.github/scripts/lib/(#48):providers.js(AI provider wrappers,generate()dispatcher, model resolution),github.js(Octokit client, event parsing, PR context fetchers, comment posting),config.js(config loading with deep merge),text.js(truncation, files summaries, prompt templates, footers). All seven command scripts were rewritten on top of it — ~945 lines removed with command behavior preserved.
⚠️ Adopters: command scripts are no longer self-contained — copy.github/scripts/lib/alongside them (see the README andexamples/.github/lib/). - Provider errors now fail loudly with actionable messages instead of silently producing empty output; missing
GITHUB_TOKENwarns at startup; non-404 linked-issue errors are logged. - Gemini calls support an opt-in
temperature; the PR diff is skipped wheninclude.diffisfalse; dead code removed fromaido-review.js.
🧪 Testing
- First automated test suite — 66 unit tests using Node's built-in test runner, no framework dependency (#50). Covers the shared library and
aido review's suggestion pipeline (line mapping, validation safeguards, parsing). - New
unit-tests.ymlworkflow runs on every PR — no secrets, no network. - Examples drift guard — CI now fails whenever a file under
examples/diverges from its canonical counterpart.
🔒 Security
- Bumped
js-yaml(DoS, Dependabot alert #16) andbrace-expansion(DoS, GHSA-f886-m6hf-6m8v) in the lint toolchain;npm auditis clean (#49). - Re-synced the example dispatch workflow — it still contained the comment-body script-injection pattern fixed in the canonical workflow in v1.0.7 (#40). If you copied
aido-dispatch.ymlfromexamples/before this release, update it.
🧹 Chores & Docs
actions/checkout→ v7 (#46),actions/cache→ v6 (#47).- All example scripts and workflows re-synced with the current codebase; new
examples/.github/lib/with installation notes. - README documents the shared library and the missing
aido-test.yml/aido-triage.ymlworkflows; CONTRIBUTING covers running tests locally.
Full changelog: https://github.com/aido-dev/aido/blob/main/CHANGELOG.md