Skip to main content

release-notes

Writes the release notes for a DotNetForge CMS release as .docs/release-notes/vX.Y.Z.md (bold summary, Highlights, Other changes, Upgrading, Tested, link to the changelog) and the matching CHANGELOG.md entry, from the commits since the previous tag and real test results - every claim checked against the code - plus a one-line release commit message ready to paste. Use when asked to write, draft, update or review release notes or a changelog entry, or to prepare "the next release".

Informations de source

Dépôt
Albadit/DotNetForge
Dernière activité de la source
6 octobre 2026 à 02:19
Langue détectée de SKILL.md
anglais
Étoiles
0
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
release-notes
description
Writes the release notes for a DotNetForge CMS release as .docs/release-notes/vX.Y.Z.md (bold summary, Highlights, Other changes, Upgrading, Tested, link to the changelog) and the matching CHANGELOG.md entry, from the commits since the previous tag and real test results - every claim checked against the code - plus a one-line release commit message ready to paste. Use when asked to write, draft, update or review release notes or a changelog entry, or to prepare "the next release".
# Release notes DotNetForge has **no release process yet**: no git tags, no `CHANGELOG.md`, no version property in any `.csproj` (the only version is `SystemState.CmsVersion`, seeded as `"1.0.0"`, shown on the Dashboard). This skill establishes the convention on first use and follows it afterwards: - notes: **`.docs/release-notes/vX.Y.Z.md`** (create the folder on the first release and link it from `.docs/README.md`); - changelog: **`CHANGELOG.md`** at the repository root, newest first, `## vX.Y.Z` headings without dates, an `## Unreleased` section while work is in progress; - tag: `vX.Y.Z` - created by the owner, never by you. Readers are **people who run a DotNetForge site or build on it** (operators, integrators, extension authors), deciding whether to update and what changes for them. ## Workflow 1. **Find the version and the range.** Use the version you were given; if none, ask. Previous release: `git describe --tags --abbrev=0` - if there is no tag yet, the range is the whole history (say so in the report). 2. **Collect what changed:** - `CHANGELOG.md` `## Unreleased` entry if it exists; - `git log --no-merges --format="%h %s%n%b" <previous tag>..HEAD` (commit prefixes here are `feat:`, `fix:`, `add:`, `update:`); - `git diff --stat <previous tag>..HEAD`, then the files, wherever an entry is unclear. 3. **Verify every claim against the code**: screen labels exactly as in the Razor views (`ViewData["Title"]`, button text), routes, `.env` keys and defaults, permission keys, API endpoints, migration names. Use `.docs/` as the map (it is verified against the code) but re-check anything you quote. Drop what you can't confirm. 4. **Find upgrade impact** - these need an *Upgrading* bullet: - new migrations in `src/DotNetForge.Data/Database/Providers/{Sqlite,PostgreSql,SqlServer,MySql}/Migrations/` (each provider applies its set on start; mention long-running or data-changing migrations and back-up advice) and index changes for MongoDB (`EnsureCreated` never changes existing indexes); - new runtime requirements (environment variables, writable volumes, object storage) - the deployment directory is read-only ([deployment](../../../.docs/guides/deployment.md)); - new/changed `.env` keys (`EnvConfigurationLoader`, `.env.example`); - changed routes, removed screens, changed permissions or roles, new API permission keys (existing tokens don't gain them); - changed extension manifest rules (`ManifestValidator`) - existing extensions may become invalid. 5. **Get real test results:** `dotnet test tests/DotNetForge.Tests` and `dotnet test tests/DotNetForge.IntegrationTests` - read the counts and compare with the previous notes' *Tested* section. Add manual checks only if they were really done (ask). 6. **Write `.docs/release-notes/vX.Y.Z.md`** (structure below) and the `## vX.Y.Z` entry in `CHANGELOG.md` (rename `## Unreleased` if present). 7. **Check**: every relative link resolves; the changelog anchor exists; no class names or commit hashes in the notes. 8. **Report**: what the notes say, the commit message, anything left unverified. Don't commit, tag or publish. ## Structure ```markdown # DotNetForge CMS X.Y.Z **The release in a few words.** One or two sentences on what it does for the reader. ## Highlights ### A theme, named by what the reader gets - What they can do now, and where (**Screen label** in bold, `route` or `setting` in code). ## Other changes - Smaller changes, one line each. - Fixed: a bug, described by what the user saw. ## Upgrading Stop the site, update the files, keep your `.env`, start it again - SQLite databases are migrated on start. - Anything the operator must do once, or that now works differently. ## Tested - All N unit tests and M integration tests pass (up from ...). - What was checked by hand, against what. Full list of changes: [CHANGELOG.md](../../CHANGELOG.md#vxyz) ``` | Part | Rules | | --- | --- | | **Title** | `# DotNetForge CMS X.Y.Z`, then the summary - no date. | | **Summary** | Bold phrase of 3-7 words, then 1-2 plain sentences. No "This release…". | | **Highlights** | 2-6 `###` themes by what the reader gets, most important first. | | **Other changes** | One line each; fixes last as `Fixed: …`. | | **Upgrading** | Always present. Migration and new-configuration notes whenever there are any. | | **Tested** | Only real results; omit the section rather than guess. | | **Changelog link** | Always the last line. Anchor: heading lower-cased without dots (`## v1.1.0` → `#v110`). | ## Style - "You", present tense; screen labels exactly as on screen in **bold**; files, routes, keys and commands in `code`. - Concrete: "**API Tokens** can now be renamed", not "improved token management". - No class names, commit hashes, internal refactors or dependency bumps unless they change what readers see (security fixes in dependencies do count - say what was fixed). - No emoji, no marketing words. UTF-8, LF line endings (`.editorconfig`). ## Commit message One line, no body: ```text release: vX.Y.Z - <the Highlights' themes, lower case, comma-separated> ``` Give it in a `text` block in the report.
Voir sur GitHub