Skip to main content
This runbook guides you through deploying Figentra-based projects — from verifying your local environment to tagging a production release. Follow each section in order to ensure consistent, reproducible deployments across your team.

Pre-Deployment Checklist

Before you kick off the build pipeline, confirm that every item below is complete. Skipping any of these steps risks shipping broken or incomplete code.
  • All tests passing (pnpm test)
  • No TypeScript errors (pnpm typecheck)
  • Lint clean (pnpm lint)
  • Changelog updated
  • Version bumped

Build Steps

1

Pull latest from main

Sync your local branch with the latest changes before building anything.
2

Install dependencies

Use the frozen lockfile flag to guarantee that your installed packages exactly match pnpm-lock.yaml.
3

Build all packages

Run the top-level build script. Turborepo automatically resolves the dependency graph and builds packages in the correct order.
4

Run the full test suite

Confirm that nothing regressed during the build phase before publishing anything to the registry.
5

Publish packages

Publish all changed packages recursively and mark them as publicly accessible.
6

Tag the release

Create a Git tag that maps to the published version, then push it to the remote so the release is traceable in your repository history.

Versioning Strategy

Figentra follows semantic versioning (semver) across the entire monorepo:
  • All packages are released together at the same version. A single version number represents the state of the full monorepo at any given release.
  • Use Changesets to manage version bumps and generate changelogs automatically. Run pnpm changeset to record a change, and pnpm changeset version to apply pending bumps before publishing.

Rollback Procedure

If a release introduces a regression, follow these steps to minimise user impact.
1

Identify the last good version

Check npm or your Git tags to find the most recent stable release.
2

Deprecate the bad version

Mark the problematic version as deprecated so new installs avoid it automatically.
3

Re-publish the previous version as latest

Promote the last known good version back to the latest dist-tag.
4

Communicate to affected teams

Post an update in your incident channel and notify any downstream consumers. Reference the deprecated version and the safe version to pin.
Never publish packages directly from your local machine in production. Always use your CI/CD pipeline to publish — this ensures credentials are managed securely, the build environment is reproducible, and there is an auditable record of every release.
Enable Turborepo remote caching to share build artifacts across your team and CI runners. After a cache hit, unchanged packages are skipped entirely, cutting build times dramatically. Run turbo login and turbo link to connect your repository to a remote cache.