AGENTS.md · git:20261103.c889b97 · 2026-11-03 · sha256 9d76cf14f379e4bd

AGENTS.md git:20261103.c889b97A

Immutable. This exact content never changes and is served at /api/v1/blob/9d76cf14f379e4bd.

# KDock repository rules

## Versioning

- Never hand-edit the application version in `package.json`, `Cargo.toml`, `package-lock.json`, or `src-tauri/tauri.conf.json`.
- `npm run tauri build` must be the packaging entry point. Local builds package the current version without modifying version files.
- Official release builds set `KDOCK_RELEASE_BUILD=1`. `scripts/tauri-entry.mjs` then runs Semifold before Tauri starts, because Tauri reads `tauri.conf.json` before `beforeBuildCommand`.
- `beforeBuildCommand` verifies the marker set by that wrapper. Direct `npx tauri build`, cargo packaging, or another Tauri entry point must fail.
- CI sets `KDOCK_RELEASE_BUILD=1`, runs `smif version`, and commits the generated version/changelog changes back to `main` after a successful build.
- Use `scripts/semfold-version.ps1 -DryRun` to preview a release without changing files.
- Do not bypass the Semifold flow with `cargo build --release` when producing a distributable package.

## Update manifest

- `release/kdock-update.json` is generated by `scripts/release-manifest.mjs` in CI and uploaded with the rolling `test-latest` release.
- The startup updater accepts installer URLs only from the KDock GitHub Release, downloads to app-local storage, verifies the manifest SHA-256, and never installs without explicit user confirmation.