TagIt is deterministic release preflight and publication verification for Eliware packages. It reports changes, validates repository readiness, pushes already committed work, creates release tags for DevOps, and verifies CI and registry publication.
Release verification treats a repository without package.json as an
explicit non-package target: npm visibility and package publish-job checks are
not applicable. A package repository must declare valid publication metadata.
TagIt does not authenticate operator roles, deploy applications, modify GitOps, rewrite package metadata, or publish without the authorized release flow.
- Node.js 26 or newer
- Git and, for CI inspection, the GitHub CLI (
gh) - A target repository with the required files and the shared
@eliware/testdevelopment harness
Install globally:
npm install --global @eliware/tagit
Or run it without a global installation:
npx --yes @eliware/tagit --help
From the target repository root, project owners run:
tagit notes
tagit preflight
tagit push
The canonical owner workflow example shows the
safe handoff sequence. Owners do not run tagit release or
tagit release-wait; DevOps runs those after the exact-commit preflight
handoff.
Run the executable example with node examples/owner-workflow.mjs; it prints
the same read-only handoff commands.
TagIt has no required application-specific environment variables. The optional
LOG_LEVEL override controls shared logger verbosity; see .env.example.
GitHub CLI and npm must separately be authenticated/configured for operations
that inspect CI or verify publication. Do not
place credentials or production values in environment files.
TagIt does not collect credentials or authenticate operator roles. Keep tokens out of source files and environment files; use the GitHub CLI and npm's normal credential handling for authenticated operations.
TagIt’s own development checks are:
npm test
npm run lint
npm run typecheck
npm audit --omit=dev --audit-level=moderate
npm pack --dry-run
For target repositories, tagit preflight invokes the declared npm test
command and verifies repository state, package metadata, exact-HEAD CI, and
required workflow policy. It does not duplicate checks owned by @eliware/test.
Missing, stale, failed, or mismatched CI evidence blocks the handoff.
For help, open an issue in the repository or use Eliware Discord support.
