Publish And Release
This guide answers three practical questions:
- what gets published
- what still needs to be configured outside the repo
- what GitHub Actions already exists in the repo to automate release and docs deployment
What We Publish
The npm package is:
@kontourai/veritas
The current publish surface is defined in package.json and includes:
bin/for the CLI entrypointssrc/for the framework logicschemas/for the contract surfaceadapters/for reference adapterspolicy-packs/for reference policy packsdocs/for packaged documentationexamples/for canonical fixturesREADME.mdandLICENSE
That means the npm package is not only the CLI binary. It also publishes the schema and fixture material needed to understand and extend the framework.
What GitHub Actions Already Does
This repo now ships three core automation lanes:
- CI runs
npm run verify,npm test, and the line-coverage gate on Node 18 and Node 22 - Docs Pages builds the Markdown docs into a GitHub Pages site
- Publish NPM verifies on Node 18 and Node 22, then publishes
@kontourai/veritason tag pushes likev0.1.0
What We Need From You
1. GitHub Pages
To make the Pages workflow live, you need repo admin access and should:
- open GitHub repo settings
- go to
Pages - set the source to
GitHub Actions
Once that is enabled, the Docs Pages workflow can deploy the generated site to:
https://kontourai.github.io/veritas/
2. npm Publishing
The checked-in publish workflow is configured for npm trusted publishing through GitHub Actions OIDC.
What you need to do on the npm side:
- make sure the
@kontourai/veritaspackage name is available to the@kontouraiorg - open the package settings on npmjs.com and add a trusted publisher for GitHub Actions
- set the publisher to:
- organization or user:
kontourai - repository:
veritas - workflow filename:
publish-npm.yml
- organization or user:
- confirm the publishing identity can create or update
@kontourai/veritas
Once that is configured, the workflow can publish without storing a long-lived npm publish token in GitHub Actions.
If trusted publishing is temporarily unavailable, the fallback is to restore token-based auth with an NPM_TOKEN secret, but that is intentionally not the default checked-in path.
3. Release Trigger
The current publish workflow triggers on tags matching:
v*
So the normal release path is:
- bump
package.jsonversion - commit the release
- merge that commit to
main - create and push a tag like
v0.1.0that points at themaincommit you intend to release
Suggested First Publish Checklist
- Enable GitHub Pages from Actions.
- Confirm npm trusted publishing is configured for
kontourai/veritasand workflowpublish-npm.yml. - Run the CI workflow on
main. - Run the Docs Pages workflow once manually.
- Confirm the package metadata looks right on npm:
- package name
- homepage
- repository
- bugs URL
- README rendering
- Tag the first release and let
Publish NPMrun.
The current coverage gate enforces at least 80% aggregate line coverage.
Badges
The root README should expose at least:
- npm version badge
- CI badge
If GitHub Pages is enabled, adding a docs badge is also reasonable, but the core two are npm and CI.