7087533644
The SKILL.md body loads into context on every activation, so one-time install/ setup prose was wasted context once emcli is running. Move it out: - New AGENTIC-MANUAL.md: get-the-files bootstrap, binary install (incl. options and build-from-source, folding in the old references/install.md), EMCLI_KEY, account discovery. Fetched only during first-time setup. - SKILL.md trimmed (182→~145 lines) to the recurring path: security model, a short "Files & first run" pointer + per-session preflight, the list/get/ack/send workflow, JSON envelope, command table, enforcement, do/don't. - Remove references/install.md (folded in); fix RELEASING.md pointer. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
60 lines
2.2 KiB
Markdown
60 lines
2.2 KiB
Markdown
# Releasing emcli
|
|
|
|
A release publishes one static binary per platform plus a `checksums.txt`, named so the agent skill
|
|
installer (`skills/emcli/scripts/install.sh`) can fetch them:
|
|
|
|
```
|
|
emcli_<version>_<os>_<arch>[.exe] e.g. emcli_0.4.0_linux_amd64
|
|
checksums.txt sha256, one "<sum> <asset>" line per asset
|
|
```
|
|
|
|
Platforms: `linux/amd64`, `linux/arm64`, `darwin/amd64`, `darwin/arm64`, `windows/amd64`. The binary
|
|
is CGO-free, so cross-compilation needs only the Go toolchain.
|
|
|
|
## Option A — local (Makefile + tea)
|
|
|
|
```bash
|
|
# 1. Build the artifacts into dist/ (version is injected into `emcli version`)
|
|
make release VERSION=v0.4.0
|
|
|
|
# 2. Create the Gitea release for the tag and upload every dist/ asset
|
|
make publish VERSION=v0.4.0
|
|
```
|
|
|
|
`make publish` uses the `tea` CLI (already configured for this repo). It runs:
|
|
|
|
```
|
|
tea releases create --repo steve/emcli --tag v0.4.0 --title v0.4.0 --asset dist/<each-file>
|
|
```
|
|
|
|
Inspect `dist/` and `dist/checksums.txt` before publishing if you want to double-check.
|
|
|
|
## Option B — CI (Gitea Actions)
|
|
|
|
Push a version tag and let `.gitea/workflows/release.yml` build and publish:
|
|
|
|
```bash
|
|
git tag v0.4.0
|
|
git push origin v0.4.0 # (push via the tokenized HTTPS URL this repo uses)
|
|
```
|
|
|
|
The workflow runs `make release` and uploads the assets to the release via the Gitea API. It needs
|
|
Gitea Actions enabled with a runner that provides Go, make, curl, and jq. This is how v0.4.0 was
|
|
published. If it ever doesn't fit your runner setup, fall back to Option A.
|
|
|
|
> Note: release asset downloads are anonymous, so the repository (or at least its releases) must be
|
|
> public for `skills/emcli/scripts/install.sh` to fetch binaries without a token. A private repo
|
|
> returns 404 to unauthenticated downloads.
|
|
|
|
## After a release
|
|
|
|
The skill installer defaults to `EMCLI_VERSION=v0.4.0`. When you cut a different version, either
|
|
publish under that tag or update the default in `skills/emcli/scripts/install.sh` (and the options
|
|
table in `skills/emcli/AGENTIC-MANUAL.md`).
|
|
|
|
## Versioning
|
|
|
|
`VERSION` is injected at build time into `internal/version.String` via `-ldflags -X`, so
|
|
`emcli version` prints the released tag. Without an explicit `VERSION`, the Makefile derives one from
|
|
`git describe`.
|