# Changelog All notable changes to this documentation repository, grouped into numbered revisions (`v1`, `v2`, …) of the repository as a whole. There is no semantic version here — this repository has no manifest and ships documents, so it uses the same `v#` scheme as the documents themselves. Individual guideline documents carry their own `Document Version` header, and the skills carry `metadata.version`; both are independent of the revisions below. ## v6 — 2026-08-18 ### Added - `--sync` in `check_versions.py` — offers to overwrite the outdated copies with the master, after listing them and asking for confirmation (`--yes` skips the prompt, `--dry-run` writes nothing). Each file keeps the line endings it already used, so a version bump stays a one-line diff on Windows and Linux alike, and the write goes through a backup that is restored if it fails. A `MODIFIED` copy is never overwritten — it holds a local edit that copying would discard - `.gitignore` at the repository root for `__pycache__/` ### Changed - **The design documents are renamed so the language is part of the file name**: `DESIGN_DOCUMENT.md` → `DESIGN_DOCUMENT_PYTHON.md` / `DESIGN_DOCUMENT_RUST.md`, `DESIGN_DOCUMENT_MODULE.md` → `DESIGN_DOCUMENT_PYTHON_MODULE.md`, `DESIGN_DOCUMENT_LIB.md` → `DESIGN_DOCUMENT_RUST_LIB.md`. Python and Rust applications used to share one file name, which only worked because the folder here disambiguated them — and the folder does not travel with the copy that lands in a project root. A project can now carry one design document per language, and `check_versions.py` no longer has to guess the language from `Cargo.toml`. Bumped: `DESIGN_DOCUMENT_PYTHON.md` v10 → v11, `DESIGN_DOCUMENT_PYTHON_MODULE.md` v3 → v4, `DESIGN_DOCUMENT_RUST.md` v3 → v4, `DESIGN_DOCUMENT_RUST_LIB.md` v3 → v4, `AGENTS.md` v7 → v8, `CLAUDE.md` v2 → v3 - `check_versions.py` recognises the pre-rename file names, reports them as `OLD NAME`, and renames them during `--sync`. The `Cargo.toml` check survives only to disambiguate legacy `DESIGN_DOCUMENT.md` copies and can be deleted once every project is migrated. A project holding both the old and the new name is reported as `DUPLICATE` and never touched ## v5 — 2026-08-18 ### Added - `check_versions.py` — walks the sibling project directories, compares every `CLAUDE.md`, `AGENTS.md` and `DESIGN_DOCUMENT*.md` copy against its master here, and reports the ones that are behind or were edited in place. Standard library only; exits non-zero when anything needs attention - "Guideline copies in projects" section in `README.md` — the copies in project roots are now **committed** with each project, with the rationale and the three rules that keep them from drifting (never edit a copy, deviations go to `PROJECT.md`, sync commits stand alone) ### Changed - `README.md` step 3 of "Starting a new project": the guideline copies are committed with the project instead of being kept out of version control, and `Claude/CLAUDE.md` is named alongside `AGENTS.md` and the design document - `AGENTS.md` v6 → v7: the Git section said the opposite of the new policy — "Never commit shared documentation" is replaced by the rule that every core document is committed, must never be edited inside a project, and is synchronised in its own commit that stays out of the project `CHANGELOG.md` - `CLAUDE.md` added to the list of core root documents in `AGENTS.md` and in all five design documents, which had omitted it: `DESIGN_DOCUMENT.md` v9 → v10, `DESIGN_DOCUMENT_MODULE.md` v2 → v3, `Rust/DESIGN_DOCUMENT.md` v2 → v3, `Rust/DESIGN_DOCUMENT_LIB.md` v2 → v3, `DESIGN_DOCUMENT_GODOT.md` v2 → v3 - `Python/TEMPLATE.md`: the note that the shared documents are "never committed" now matches the new policy — they stay out of the template, but the copies in a project are committed and never edited - `Project template/CHANGELOG.md` gained a "Versioning" section: semantic versioning stays mandatory for software projects, while documentation and other manifest-less repositories may use single-number revisions (`v1`, `v2`, …). This repository's own changelog was converted to that scheme and its revisions renumbered `0.1.0`–`0.4.0` → `v1`–`v4` ## v4 — 2026-08-18 ### Added - Skill versioning: every `SKILL.md` now carries `metadata.version` — `changelog` v2, `check` v1, `commit` v2, `documentation` v1, `documentation_context` v2. The skill format has no top-level `version` field; `metadata` is one of the six Agent Skills spec fields, so the frontmatter still packages and uploads cleanly - "Skills" section in `README.md` describing the versioning convention, the install location (`~/.claude/skills/`) and the rule that the folder name — not `name:` — is the command - The five skills listed individually in the `README.md` structure tree - `AGENTS.md` v5 → v6: new "Commit messages" subsection under Git — commits and pull requests must never carry AI authorship (`Co-Authored-By`, "Generated with …", tool signatures or emoji footers). The subsection also states the single-line verbal English style, so assistants without the `commit` skill get the same rules; the AI-authorship rule was added to the skill as well - `CHANGELOG.md` for this repository, with history backfilled from the git log - Explicit line length for Rust: 100 characters (rustfmt default `max_width`) in both Rust design documents - `README.md`, `docs/`, `prebuild.py` and the PyInstaller `.spec` to the template structure in `Python/TEMPLATE.md` - Note in `Python/TEMPLATE.md` that `AGENTS.md` and `DESIGN_DOCUMENT.md` are not part of the template - `README.md` to the session read list in `Claude/CLAUDE.md`, plus a missing top-level heading - `Document Version` marker in `Claude/CLAUDE.md`, starting at v2 — it is copied into projects like `AGENTS.md` and the design documents, so it can go stale there the same way ### Changed - Document versions bumped for the structural changes released on 2026-08-18: `DESIGN_DOCUMENT.md` v8 → v9, `DESIGN_DOCUMENT_MODULE.md` v1 → v2, `Rust/DESIGN_DOCUMENT.md` v1 → v2, `Rust/DESIGN_DOCUMENT_LIB.md` v1 → v2, `DESIGN_DOCUMENT_GODOT.md` v1 → v2 - `Project template/CHANGELOG.md` now names the project manifest generically (`pyproject.toml`, `Cargo.toml`, `project.godot`) instead of `pyproject.toml` only - Godot debug constant renamed `Constants.DEBUG` → `Constants.DEFAULT_DEBUG`, matching the Python reference module - `README.md` step 1 of "Starting a new project" now also requires writing a `README.md` - `Python/TEMPLATE.md` entry point is named by purpose or tool name instead of `main.py` - `prebuild.py` loads `.env` before importing `src.constants` instead of relying on the import side effect ### Fixed - Skill folder `Claude/skills/context/` renamed to `documentation_context/`, with the frontmatter `name` matched to it. The folder name is what Claude Code turns into the command, so the old mismatch meant installing from this repository would have changed `/documentation_context` into `/context` - Removed the misplaced lock-file rule from the Testing sections of `DESIGN_DOCUMENT_MODULE.md` (§9) and `Rust/DESIGN_DOCUMENT_LIB.md` (§8) — it already belongs to the Poetry / Distribution sections ## v3 — 2026-08-18 ### Added - `Zscaler/ZSCALER_CERTIFICATE.md` — full certificate setup for Node, Python, git and cargo - Language-specific `.gitignore` files for Python, Rust and Godot, plus a shared core in `Project template/` - `poetry.lock` and `prebuild.py` sections in `Python/DESIGN_DOCUMENT.md` ### Changed - Unified task notation across all languages on the Todo Tree tags `TODO`, `FIXME`, `BUG`, `HACK`, `NOTE` - `AGENTS.md` v4 → v5: rewritten as strictly language-agnostic, naming no concrete tool - Python line length 150 → 120 characters - Rust edition 2021 → 2024 (requires Rust 1.85 or newer) - Godot project version key corrected to `application/config/version` - Every design document now lists `README.md` among the core root documents ### Removed - `Zscaler/NODE_EXTRA_CA_CERTS.md`, superseded by `ZSCALER_CERTIFICATE.md` ## v2 — 2026-06-24 ### Added - `Godot/DESIGN_DOCUMENT_GODOT.md` — Godot development guidelines (v1) ## v1 — 2026-05-25 ### Added - `Rust/DESIGN_DOCUMENT.md` and `Rust/DESIGN_DOCUMENT_LIB.md` — Rust guidelines for applications and libraries (v1) - `Claude/` — `CLAUDE.md`, `AGENTS.md` (v4) and the custom skills `changelog`, `check`, `commit`, `context`, `documentation` - `Python/` — `DESIGN_DOCUMENT.md` (v8), `DESIGN_DOCUMENT_MODULE.md` (v1), `TEMPLATE.md`, and the reference `constants.py` module with tests - `Project template/` — `PROJECT.md` and `CHANGELOG.md` templates ### Changed - Documentation organised into topic folders: `Claude/`, `Python/`, `Zscaler/`, `Project template/` - `README.md` rewritten to describe the repository itself instead of a single project