English | 繁體中文
AI Updates tracks the official changelogs for Claude Code, Codex, Antigravity, Usage, and GitHub CLI. It preserves immutable source records, supports human-reviewed plain-language updates in five languages (zh-TW, zh-CN, en, ja, and ko), and publishes feeds for a static website and compatible applications.
https://aqua5230.github.io/ai-updates/
| Tool | Official source |
|---|---|
| Claude Code | Anthropic Claude Code changelog |
| Codex | OpenAI Codex releases |
| Antigravity | Antigravity CLI changelog (falls back to local scripts/sync_agy.py if public source is unavailable) |
| Usage | Usage changelog |
| GitHub CLI | GitHub CLI releases |
data/raw/ stores daily imports of official changelog entries. Records are written per version and are never overwritten. data/curated/ holds human-reviewed, plain-language versions of those entries in five languages.
scripts/build.py combines both layers into generated artifacts:
ai_updates.json: compatibility feed for the legacy application, containing up to three latest curated versions per tool.daily.json: daily feed containing up to three latest versions per tool; it uses curated content when available and otherwise retains the official source text withcurated: false.docs/data.json: version index for the static website; complete raw and curated history for each tool is stored indocs/history/<tool_id>.jsonso the homepage does not need to load the full history at once.
data/
raw/<tool_id>/<version>.json # Immutable official source records
curated/<tool_id>/<version>.json # Human-reviewed five-language records
docs/
index.html # GitHub Pages site
data.json # Generated website version index
history/<tool_id>.json # Generated full history per tool
v/ # Generated per-version static pages
feed.xml # Generated RSS feed
sitemap.xml # Generated sitemap
robots.txt # Generated robots.txt
llms.txt # Generated LLM reference file
scripts/
fetch.py # Fetch official changelogs
build.py # Build generated feeds
sync_agy.py # Import local Antigravity CLI changelog output
.github/workflows/
daily.yml # Daily fetch and review-issue workflow
sync-usage.yml # Compatibility-feed sync workflow
ai_updates.json # Generated compatibility feed
daily.json # Generated daily feed
tests/ # Test suite
Requires Python 3.13. The repository's runtime scripts use only the Python standard library.
python3 scripts/fetch.py
python3 scripts/build.py
uv run ruff check scripts tests
uv run pytest -qThe test suite builds into a temporary directory and never writes to the working tree, so the two commands above are safe to run in any order.
If the public Antigravity source is unavailable, import changelog output from an installed CLI instead:
python3 scripts/sync_agy.pyThis command runs agy changelog; existing version records are not overwritten.
- The daily workflow opens an issue for each newly imported version.
- Create
data/curated/<tool>/<version>.jsonwith the reviewed five-language plain-languageitems. - Run
python3 scripts/build.pyandpytest. - Open a pull request and merge it after review.
Curated content must accurately reflect the official entries. The original field retains the original English text.
daily.ymlruns daily, fetches official changelogs, opens review issues for newly discovered versions, builds generated feeds, and commits changed source and feed files.sync-usage.ymlruns whenai_updates.jsonchanges onmainand synchronizes that file toaqua5230/usage.
aqua5230/usage is the primary consumer of the compatibility feed.
sync-usage.yml requires a fine-grained personal access token named USAGE_SYNC_TOKEN.
- In GitHub, open Settings → Developer settings → Personal access tokens → Fine-grained tokens.
- Set the resource owner to
aqua5230, choose Only select repositories, and selectaqua5230/usage. - Grant only Contents: Read and write repository permission.
- Add the token as the
USAGE_SYNC_TOKENActions secret in this repository under Settings → Secrets and variables → Actions.
Do not store the token in repository files or workflows. Replace it when it expires.