Select the types of activity you want to include in your feed.
docs(process): add Releases section to AGENTS.md
- chronver for apps and templates, semver for packages - release flow: bump-on-merge, bare chronver tag, --follow-tags - downstream lineage via suede.from field in project package.json
···38383939End-of-task skill: `.opencode/skills/task-lifecycle/SKILL.md`. The agent owns the task note — create it at task end without being asked, regardless of task size. Size of note scales with task.
40404141+## Releases
4242+4343+Suede uses [chronver](https://chronver.org). Version lives in `package.json#version` (chronver format `YYYY.M.D[.N][-feature|-break]`; `pnpm version` normalizes leading zeros, so e.g. `2026.6.4`, not `2026.06.04`).
4444+4545+### Cutting a release
4646+4747+1. Final commit on the release branch, before merge, is `chore(release): cut <version>`. Bump with `pnpm version <version> --no-git-tag-version` (or hand-edit), commit only the `version` field.
4848+2. Tag the merge commit on `main` with the bare chronver string, annotated. Push with `git push origin main --follow-tags`.
4949+3. `git log <prev>..<new>` is the changelog. No `CHANGELOG.md`.
5050+5151+### Downstream lineage
5252+5353+When a project duplicates suede, it adds `"suede": { "from": "<tag>" }` to its own `package.json` with the chronver tag of the suede commit it branched from. Suede's own `package.json` carries no such field.
5454+5555+### Version policy
5656+5757+chronver for apps and templates (temporal releases, no API contract to break); semver for packages consumed by dependents (persistent breaking-change signals).
5858+4159## Guardrails
42604361Always: