docs: document the releases workflow in the README
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Showing 1 changed file with +7 and −1
modified
README.md
+7 −1
@@ -34,7 +34,13 @@ SPB Git is a complete, self-hosted GitHub-equivalent built for one person: | ||
| 34 | 34 | |
| 35 | 35 | - **Git hosting** — Smart HTTP v2 (streamed `upload-pack`/`receive-pack`), anonymous clone/fetch, PAT-authenticated push, post-receive hooks, zip/tar.gz snapshots. |
| 36 | 36 | - **Showcase web UI** — SSR (Nunjucks), dark/light themes, pinned repos, activity feed, contribution heatmap, GitHub-grade README rendering (badges, mermaid, task lists, relative images), shiki-highlighted file browsing with line anchors, commits, diffs, blame, branches, tags, global search, OG cards, Atom feed, sitemap. |
| 37 | −- **`spbgit` CLI** — the terminal command center: `init`, `token`, `list`, `create --push`, `clone --all`, `status`, `commit`, `push`, `pull`, `sync`, `open`, `info`, `rm`, `doctor`. | |
| 37 | +- **`spbgit` CLI** — the terminal command center: `init`, `token`, `list`, `create --push`, `clone --all`, `status`, `commit`, `push`, `pull`, `sync`, `open`, `info`, `rm`, `doctor`, `release`. | |
| 38 | +- **Releases** — GitHub-style binary assets (dmg, pkg, zip…) attached to tags, streamed to disk with sha256 sidecars, public downloads at `/releases/<repo>/<tag>/<file>`: | |
| 39 | + ```bash | |
| 40 | + git tag v1.0.0 && git push --tags | |
| 41 | + spbgit release upload myapp v1.0.0 MyApp.dmg # → https://git.spboucher.ai/releases/myapp/v1.0.0/MyApp.dmg | |
| 42 | + spbgit release list myapp | |
| 43 | + ``` | |
| 38 | 44 | - **JSON API** — public reads, token-gated writes at `/api/v1/*`. |
| 39 | 45 | |
| 40 | 46 | **Filesystem is the database.** Bare repos under the git root are the source of truth; `meta.json` holds descriptions/topics/pins; everything expensive is cached per `<repo>@<sha>` and busted on push. |
| 41 | 47 | |