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.md contract 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.0 as of the latest source code
  • Version is declared identically in package.json and skills/hallmark/SKILL.md
  • Use npm version commands 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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →