RELEASE.md — Trace-First Starter¶
Release strategy for the TFW framework canonical starter repository.
1. What Is a Release?¶
A release is a versioned snapshot of the .tfw/ directory (conventions, templates, workflows, adapters, config) that downstream projects can reference and update to.
Each release bundles accumulated changes from one or more TFW tasks into a coherent version that consumers can safely adopt.
2. Audience¶
- Downstream TFW projects — any project that copied
.tfw/from this starter - Framework contributors — people proposing changes to TFW itself
- New users — people discovering TFW and judging its maturity
3. Version Scheme¶
Semantic versioning: MAJOR.MINOR.PATCH
| Bump | When | Examples |
|---|---|---|
| MAJOR | Breaking changes to conventions, templates, or workflow structure | Template field renamed, status flow changed, required file removed |
| MINOR | New workflows, templates, optional features (backward-compatible) | New workflow added, new template, new optional artifact |
| PATCH | Fixes, clarifications, typos | Typo in template, wording fix in conventions |
Version is tracked in .tfw/VERSION (machine-readable) and .tfw/CHANGELOG.md (human-readable).
4. Release Triggers¶
Ad-hoc, when the maintainer decides accumulated changes justify a new version. Guidelines:
- Always release after completing a task that adds/changes workflows, templates, or conventions
- Consider release after documentation-only tasks if they affect downstream behavior
- Skip release for internal-only changes (task board updates, this project's RF files)
5. Pre-Release Checklist¶
- [ ] All in-scope tasks are ✅ DONE or explicitly excluded
- [ ] Task Board is current
- [ ] TECH_DEBT.md reviewed — no critical items blocking release
- [ ] KNOWLEDGE.md updated via tfw-docs
- [ ] CHANGELOG.md entry written for this version
- [ ] VERSION file updated
- [ ]
init.mdstill accurate for the new version - [ ] Adapter templates consistent with current workflows
6. Release Steps¶
- Review Task Board — identify all tasks completed since last version
- Decide version bump type (MAJOR / MINOR / PATCH)
- Write CHANGELOG.md entry
- Update
.tfw/VERSION - Git commit:
release: vX.Y.Z - Git tag:
vX.Y.Z - Push to GitHub
Maintained by project owner. Referenced by
.tfw/workflows/release.md.