OSS-first docs
These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.
Private packages
Access ContractSpec on GitHub Packages
Affected @lssm-tech/* packages included in the July 7 rollout are distributed through GitHub Packages with restricted access. Pre-existing public/npmjs exceptions remain unchanged, including the unscoped contractspec CLI compatibility package. Ask for access first, then configure local and CI registry credentials before installing affected packages or running actions that install them.
1) Request access
Contact the ContractSpec team with your GitHub username or organization, the consuming repository, and whether access is for a person, CI bot, or GitHub App. Consumers normally need read-only package access; release automation is the only path that needs package write access.
2) Configure local registry auth
Export a token that can read the private packages. Keep real token values out of source control, examples, issue comments, and logs.
export GITHUB_PACKAGES_TOKEN=<token-with-read-package-access>@contractspec:registry=https://npm.pkg.github.com
@lssm-tech:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_PACKAGES_TOKEN}[install.scopes]
"@contractspec" = { token = "$GITHUB_PACKAGES_TOKEN", url = "https://npm.pkg.github.com" }
"@lssm-tech" = { token = "$GITHUB_PACKAGES_TOKEN", url = "https://npm.pkg.github.com" }3) Use ContractSpec GitHub Actions
External repositories can still call ContractSpec actions. Pass a token with private package read access when the action needs to install or execute ContractSpec packages. The caller repository's github.token works only after that repository has package access.
permissions:
contents: read
packages: read
jobs:
contractspec:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: lssm-tech/contractspec/packages/apps/action-pr@main
with:
github-packages-token: ${{ secrets.CONTRACTSPEC_PACKAGES_TOKEN }}
generate-command: 'bun contractspec generate'Maintainer CI/CD boundary
Maintainer workflows publish the affected package set to https://npm.pkg.github.com with restricted access, request packages: write, and prefer a dedicated GITHUB_PACKAGES_TOKEN secret. Same-repository automation can fall back to github.token. Public/npmjs exceptions remain provenance-backed, and external registry visibility changes need separate authorization.
Installation
Install the CLI and core packages, then prepare a workspace for incremental adoption.
Hello world
Define a first operation, generate the surface, and verify the end-to-end loop.
Why ContractSpec
Keep educational and comparison content reachable without letting it define the primary OSS learning path.