Monorepo for Aesthetic.Computer aesthetic.computer
at main 110 lines 2.4 kB view raw view rendered
1# `kidlisp` Release and Asset Spec 2 3## Goal 4 5Define portable binary release structure so installers and `kidlisp self-update` are deterministic. 6 7## Versioning 8 9- Semantic versioning: `vMAJOR.MINOR.PATCH` 10- Channels: 11 - `stable` (default) 12 - `beta` 13 14## Release Sources 15 16- Primary: GitHub Releases in `whistlegraph/aesthetic-computer` 17- Optional mirror/CDN: `https://kidlisp.com/releases/` 18 19## Asset Naming 20 21Per target: 22 23- Unix archives: 24 - `kidlisp_<version>_darwin-arm64.tar.gz` 25 - `kidlisp_<version>_darwin-x64.tar.gz` 26 - `kidlisp_<version>_linux-x64.tar.gz` 27 - `kidlisp_<version>_linux-arm64.tar.gz` 28- Windows archive: 29 - `kidlisp_<version>_windows-x64.zip` 30 31`<version>` is plain semver without leading `v` inside filenames (example: `0.2.0`). 32 33## Archive Contents 34 35### Unix 36 37```text 38kidlisp 39LICENSE 40README.md 41``` 42 43### Windows 44 45```text 46kidlisp.exe 47LICENSE 48README.md 49``` 50 51## Checksum Contract 52 53Release must include: 54 55- `kidlisp_<version>_checksums.txt` 56 57Format: 58 59```text 60<sha256> kidlisp_<version>_darwin-arm64.tar.gz 61<sha256> kidlisp_<version>_darwin-x64.tar.gz 62<sha256> kidlisp_<version>_linux-x64.tar.gz 63<sha256> kidlisp_<version>_linux-arm64.tar.gz 64<sha256> kidlisp_<version>_windows-x64.zip 65``` 66 67Optional: 68- `kidlisp_<version>_checksums.txt.sig` 69 70## Channel Metadata 71 72Provide channel manifests for installer + self-update: 73 74- `latest.json` (stable) 75- `latest-beta.json` (beta) 76 77Schema: 78 79```json 80{ 81 "version": "0.2.0", 82 "channel": "stable", 83 "published_at": "2026-03-09T00:00:00Z", 84 "assets_base_url": "https://github.com/whistlegraph/aesthetic-computer/releases/download/v0.2.0/", 85 "checksums_file": "kidlisp_0.2.0_checksums.txt" 86} 87``` 88 89## Build and Publish Flow 90 911. Build binaries via Bun compile for all targets. 922. Package target archives. 933. Generate checksum file. 944. Upload release assets. 955. Publish/update channel manifest(s). 966. Smoke test installers against new release. 97 98## Required Smoke Tests 99 100- Fresh install on Linux/macOS/Windows. 101- Upgrade install over previous version. 102- `kidlisp version` returns expected version. 103- `kidlisp --help` executes successfully. 104- `kidlisp self-update` no-op on latest version. 105 106## npm Package Interop 107 108- npm package `kidlisp` remains available for runtime-managed installs. 109- Portable binary releases are canonical for no-runtime installs. 110- `kidlisp version` output should include installation mode when available (future enhancement).