What Is the Versioning Scheme Used by Nutlope/hallmark?
Nutlope/hallmark uses Semantic Versioning (SemVer) with a major.minor.patch format, currently at version 1.1.0.
The Hallmark greeting‑card CLI tool and its underlying skill system follow the industry‑standard Semantic Versioning pattern. This article explains how the versioning scheme works, where the version is declared in the source code, and how to read or bump it programmatically.
Semantic Versioning in Hallmark
Hallmark adopts the classic SemVer structure:
<major>.<minor>.<patch>
- Major – incremented for breaking changes that alter the public API or the skill’s contract
- Minor – incremented when new, backward‑compatible features are added (e.g., a new design verb or theme)
- Patch – incremented for bug fixes, documentation updates, or non‑functional tweaks
This versioning scheme ensures users can predict compatibility and impact when upgrading.
Where the Version Is Declared
The repository stores the identical version number in two authoritative locations:
package.json
In the root package.json manifest:
{
"name": "hallmark",
"version": "1.1.0"
}
File path: [package.json](https://github.com/Nutlope/hallmark/blob/main/package.json)
SKILL.md
In the skill definition file:
---
name: hallmark
version: 1.1.0
---
File path: [skills/hallmark/SKILL.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md)
Both files declare 1.1.0, confirming synchronized version management between the npm package and the skill runtime.
Working with the Version Programmatically
Reading the version in Node.js
import { readFile } from 'fs/promises';
const pkg = JSON.parse(await readFile('./package.json', 'utf8'));
console.log(`Hallmark version: ${pkg.version}`);
// → Hallmark version: 1.1.0
Bumping the version via npm
# Increment minor version (1.1.0 → 1.2.0)
npm version minor
# Increment patch version (1.1.0 → 1.1.1)
npm version patch
These commands update package.json automatically and create a matching Git tag when the repository is version‑controlled.
Why SemVer Matters for Hallmark
Because Hallmark exposes both a CLI interface and a skill API, the versioning scheme protects consumers:
- CLI users know when command flags or output formats change
- Skill integrators understand when the
SKILL.mdcontract evolves - Automated tooling can validate compatible version ranges
The dual declaration in package.json and SKILL.md ensures consistency across the npm ecosystem and the custom skill loader.
Summary
- Hallmark uses Semantic Versioning (
major.minor.patch) - Current version is
1.1.0as of the latest source code - Version is declared identically in
package.jsonandskills/hallmark/SKILL.md - Use
npm versioncommands to bump versions automatically - SemVer provides predictable upgrade paths for CLI and skill consumers
Frequently Asked Questions
What version is Nutlope/hallmark currently at?
The repository is at version 1.1.0, declared in both package.json and skills/hallmark/SKILL.md.
Does Hallmark use strict Semantic Versioning?
Yes. The repository follows the major.minor.patch format with standard SemVer semantics for breaking changes, features, and fixes.
How do I check the Hallmark version programmatically?
Read and parse package.json in Node.js, or inspect the version field in skills/hallmark/SKILL.md for the skill-specific version.
Will npm version commands update both version files?
No. npm version only updates package.json. You must manually synchronize SKILL.md if you want both files to match after a version bump.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →