Skip to content

Repository files navigation

eliware.org

@eliware/tagit npm license CI

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.

Requirements

  • 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/test development harness

Installation

Install globally:

npm install --global @eliware/tagit

Or run it without a global installation:

npx --yes @eliware/tagit --help

Usage

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.

Configuration

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.

Security

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.

Validation and troubleshooting

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.

Documentation

Support

For help, open an issue in the repository or use Eliware Discord support.

License

MIT

About

Deterministic release preflight and publication verification for Eliware packages.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages