Skip to content

Versioning And Releases

Specra uses Changesets and GitHub Actions for versioning and changelog updates.

Current release posture

The first public release target is 0.1.0.

That means:

  • the project is pre-1.0
  • breaking changes are still possible
  • release notes should still be clear and intentional

Local workflow

When a change should be reflected in release notes:

bash
pnpm changeset

Then answer the prompt and commit the generated file in .changeset/.

GitHub workflow

Changesets is configured locally in .changeset/, and the repository now includes the baseline workflows:

  • CI
  • Versioning
  • Docs

CI

Should run on pull requests and pushes to main:

  • pnpm build
  • pnpm lint
  • pnpm test

Versioning

Should run on pushes to main and use Changesets to:

  • detect unreleased changesets
  • create or update a version PR
  • update package versions
  • update changelog entries

What to do after creating the GitHub repo

  1. Set the default branch to main if it is not already.
  2. Push the repository contents.
  3. Verify that GitHub Actions are enabled.
  4. Add NPM_TOKEN to repository secrets for publishing.
  5. Enable GitHub Pages with GitHub Actions as the source.
  6. Merge a PR with a sample changeset to confirm the versioning flow works.

Notes

The repository now includes the minimum local setup for npm publishing:

  • public package manifests
  • per-package README files
  • Changesets config

Before the first public release, you still need:

  • the final GitHub repository URL
  • an NPM_TOKEN in the publishing environment
  • GitHub Pages enabled if you want the docs site published immediately

Contract-driven AI coding and verification.