This is a mono repository, managed with Nx.
git clonethis repo &cdinto it as usual- run
pnpm setupfrom the top-level:- installs all external dependencies
- links all internal dependencies
To add a new package to the repo:
- install slimer
- run
slimer new <package name>
pnpm dev
pnpm lintrunsoxlintacross all packagespnpm formatformatsjs/ts/json/mdfiles withoxfmtpnpm format:checkchecks formatting without writingpnpm testruns tests (most packages also run lint inposttest)
- run one of the release commands in the top-level
frameworkdirectory:pnpm ship:patchpnpm ship:minorpnpm ship:major- for initial Nx bootstrap in long-unreleased repos:
pnpm ship:first-release
- this runs tests, versions packages, and creates/pushes release commit + tags
- creates the version commit and pushes tags to
main
- creates the version commit and pushes tags to
- CI automatically publishes packages via
.github/workflows/publish.yml:- authenticates to npm using
NPM_TOKEN - checks each
packages/*package version against npm - runs
npm publishonly for versions that are not already published
- authenticates to npm using
Copyright (c) 2013-2026 Ghost Foundation - Released under the MIT license.