Skip to content

The standard, version by version

The standard is the set of files every repository of the line carries beside its code - the list is here. It has a version of its own, the year and the month it changed, and lyrn.toml records the one a repository was generated or adopted at:

[template]
standard = "2026.11"

lyrn upgrade carries a repository from its version to the newest, merging each change into the files as they are now, and lyrn doctor says when one is behind. A version never changes once a release of lyrn has carried it: a later change to a file of the standard is a new version, and a second one in a month is 2026.11.1.

  • cliff.toml no longer carries git-cliff’s sample skip_tags = "v0.1.0-beta.1": it skipped a tag no repository of the line has, and furca’s release engine read it as a stale version in every repository, which stops a release.
  • In the files a project starts with rather than the standard’s - the release contour, which lyrn new writes once: every form has a release.toml furca’s engine releases it from, a release page whose notes end with the Checked live list of .github/release-notes.md, and a publish that waits for the release; the installers leave the PATH alone under <APP>_NO_PATH and move a running program aside on Windows.
  • The plugin form’s README says what its host does with the meta a reply carries, in the host’s own words - kilna merges it into the subject’s fields, kasl shows it under the plugin’s message - instead of kilna’s answer for every host; kasl is a host (--host kasl).
  • Every workflow that sets up Node asks for the newest release of its major (check-latest: true): the one the runner has cached lags the floor Astro and Vite raise in patch releases, and Astro 7.4.2 refused the Node 22.23.3 GitHub’s runners had.
  • In the files a project starts with rather than the standard’s: the docs form’s workflows ask for the newest Node too, and lyrn doctor --fix adds the line to the others; the docs form no longer brings export-assets.mjs, since lyrn assets draws the mark.
  • A shopfront workflow, .github/workflows/shopfronts.yml: lyrn check on every push, documentation alone included, with lyrn installed from the release that wrote it.
  • cliff.toml keeps the changelog’s explanation in its header, so git cliff --prepend writes each release under it instead of burying it, opens every release with the blank line that parts it from the one above, and gives chore(standard) commits a group of their own.
  • CHANGELOG.md starts as exactly that header, and says how a release is added to it: git cliff --unreleased --tag vX.Y.Z --prepend CHANGELOG.md.
  • lyrn.toml records the add-ons a project was generated with, which lyrn upgrade renders the standard with; the plugin form’s own table follows the shared one.
  • The desktop form’s CI builds on the rust-version it declares, as the other Rust forms’ does.
  • The service form with a web UI gates frontend/ in CI too: install, lint, build - the release binary carries what it builds.
  • Every form’s README says the project’s promise as a quote under its title.
  • In the files a project starts with rather than the standard’s: pnpm installs what fell behind the lockfile before any script runs (verifyDepsBeforeRun: install, which lyrn doctor --fix adds to the others), and the cli form’s crate names its repository.
  • The first version lyrn keeps: the files lyrn 2.10.0 wrote into every repository it started or adopted.
  • A licence, a changelog generated by git-cliff, editor and git settings, and lyrn.toml.
  • The CI gate, and an audit workflow in place of Dependabot’s pull requests, with ADR 0002 saying why.
  • A security policy, a Code of Conduct, issue and pull request templates, and the first ADRs.
  • The coding assistants’ files kept out of git by the block that ends .gitignore.