Instruction file imported from stiwicourage/NovaModuleTools (
.github/instructions/release-policy.instructions.md). Copyright stays with the author.
NovaModuleTools release policy
Scope
Use this file when changing versioning, changelog handling, package metadata, publish workflows, or GitHub release automation.
Versioning rules
- Follow Semantic Versioning intent.
- Treat
CHANGELOG.mdas the exhaustive release history. - Treat
RELEASE_NOTE.mdas the interface-focused summary for public cmdlet, CLI, configuration, and migration changes. - When a change qualifies for both files, write the
CHANGELOG.mdentry with full technical detail and write theRELEASE_NOTE.mdentry as a concise consumer-facing summary; do not copy theCHANGELOG.mdtext verbatim intoRELEASE_NOTE.md. - Keep
## [Unreleased]valid and readable. - Use only the official Keep a Changelog section types in both files:
Added,Changed,Deprecated,Removed,Fixed, andSecurity. Under## [Unreleased],Changedis valid for changes relative to the last released version, but not for internal iteration history of an unreleased feature that is already listed underAdded. - Do not add custom section headings such as
Documentation; place documentation-related release notes under the official type that best matches the real change. - Under
## [Unreleased]>### AddedinRELEASE_NOTE.md: if there are no public API or workflow changes, the section must contain exactly the lineNo public API or workflow changes in this release. Internal maintenance only.and nothing else. If there is at least one real entry, remove that placeholder line entirely before adding entries. - Do not add compare-link footer URLs to
RELEASE_NOTE.md. - For unreleased feature iterations, update the existing
Addedentry instead of adding an internal-historyChangedentry.
Workflow rules
Publish.ymlowns the release/publish flow.mainhandles stable release commit/tag flow and preparesdevelopfor the next prerelease.develophandles prerelease publish and next-prerelease bump flow.- Do not change branch mutation behavior, tag creation, or publish steps without reading
.github/workflows/Publish.ymland the related custom actions first.
Documentation rules
- Read
README.mdandCONTRIBUTING.mdto check for content that must be kept consistent with the current change; update them if they describe behavior that has changed. Always updateCHANGELOG.mdandRELEASE_NOTE.mdas specified in the versioning rules. - Update command help in
docs/NovaModuleTools/en-US/when public command behavior changes. - Update
docs/*.htmlonly when a public cmdlet's output, parameters, default values, or documented examples change in a way visible to module consumers. - Use
.github/pull_request_template.mdas the authoritative structure when preparing a release summary for review.
Agent safety rules
- Do not publish, create tags, or push release commits unless the task explicitly requires it.
- If it is unclear whether a task requires publishing, tagging, or pushing, ask for explicit confirmation before proceeding. Never infer publishing intent from context alone.
- Do not assume a preview flow should move
latest; check the current package and release tests first. - Do not change release defaults without corresponding tests and changelog entries.
Verification
- Validate the touched release or versioning path with targeted tests.
- Run
./run.ps1after code changes. - If
./run.ps1is not found or exits with a non-zero code, stop and report the failure with the full error output before proceeding with any further steps. - Re-read
.github/pull_request_template.mdbefore preparing release-related summaries.