- Node.js 22
- pnpm (managed via corepack)
- Doppler CLI for secrets management
- Clone the repository and install dependencies:
git clone https://github.com/proofsh/proofkit.git
cd proofkit
corepack enable
nvm use
pnpm install- Install and configure Doppler:
# Install Doppler CLI
brew install dopplerhq/cli/doppler # macOS
# or: curl -Ls https://cli.doppler.com/install.sh | sh # Linux
# Login to Doppler
doppler login
# Setup project (select proofkit project, dev config)
doppler setuppnpm ci mirrors the shared PR workflow gates:
pnpm ciThat runs:
- lint
- skill version check
- typecheck
- deterministic tests
- build
pnpm ci:release mirrors the extra release-gating checks run on main:
pnpm ci:releaseThat adds:
- CLI external integration smoke tests
@proofkit/fmodatae2e
Those release-only checks need secrets loaded the same way CI does. Use varlock run -- pnpm ci:release when needed.
Some test scripts use secret injection:
# Run all deterministic tests
pnpm test
# Run specific package tests
pnpm --filter @proofkit/fmodata test
pnpm --filter @proofkit/fmodata test:e2epnpm buildpnpm lint
pnpm format- Create a new branch for your feature or fix
- Make your changes
- Run
pnpm ci - Run
pnpm ci:releaseif touching release-path code or CI-only integrations - Submit a pull request
This project uses Ultracite for linting and formatting. Run pnpm dlx ultracite fix to auto-fix issues before committing.