Monorepo for Aesthetic.Computer
aesthetic.computer
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).