Create New Version
Purpose
Cut a new version of a versioned project. Archives the current project files at their
existing version number, then increments the version field in the frontmatter of all
active project documents.
When to use
- The user asks to “create a new version” of a project
- A versioned project (one with
version:in frontmatter) is about to undergo a new release cycle and the current state should be preserved as a snapshot
What counts as a versioned project
Only projects that include version: in their document frontmatter. Most projects do not
use versioning. Examples of projects that do:
- Domain Quiz (currently v4)
- The Uvilo Method (published methodology)
- Onboarding Quiz (external-facing format)
- Taxonomy schemas consumed by external systems
Procedure
1. Confirm scope
Identify the project folder (e.g. Architecture/Domain_Quiz/).
Read the frontmatter of one of the project’s root documents to determine the current version N.
Confirm with the user before proceeding if the current version is not obvious.
2. Archive current version
Copy the entire project folder into its own Archive/ subfolder, named v{N}/:
Do not copy subdirectories that are already archival or transient:
Archive/itself (avoid nesting)Output/(outputs are date-stamped and self-documenting)Test_Runs/
Copy everything else: root .md files, Prompts/, Schemas/, Scripts/, Skills/.
3. Increment version in active files
For every .md file at the project root that contains version: in its frontmatter,
increment the value to N+1:
Do not modify files inside Archive/, Output/, or Test_Runs/.
4. Report
Tell the user:
- What version was archived (vN)
- Which files were updated to vN+1
- Any files skipped and why
Notes
versionis an integer, not a semver string- The archive is a snapshot, not a diff — full file copies
- The State document should be reset or reviewed after versioning; a new version typically means a new implementation cycle is beginning