# JamieMason/syncpack

Consistent dependency versions in large JavaScript Monorepos.

Repository: https://github.com/JamieMason/syncpack
Canonical: https://ross.abutalabs.com/products/syncpack
Homepage: https://syncpack.dev/
Language: Rust
License: MIT
License Family: permissive
Topics: semver, monorepo, npm, yarn, pnpm, nx, turborepo, linter, bun, catalogs, dependencies, versions
Last push: 2026-08-09T11:17:09+00:00

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 96, release rhythm 96, longevity 100
- inputs: {"age_days": 3303, "days_push": 24, "days_rel": 24, "gap_med": 7, "n_releases_24m": 20}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2087, forks 73 (observed 2026-08-28T04:06:11.993238+00:00)

## What it is
Syncpack is a Rust-based command-line tool that finds and fixes inconsistent dependency versions across package. files in large JavaScript monorepos. It enforces version policies, bumps outdated versions, bans dependencies, and can migrate repos to pnpm or bun catalogs.

## Use cases
- find and fix dependency version mismatches across a monorepo
- enforce a single version policy for shared dependencies
- bump outdated dependency versions from the npm registry
- pin certain dependencies to exact versions everywhere
- ban specific dependencies from packages or the whole repo
- sort and format package. files consistently
- migrate a repo to pnpm or bun catalogs

## When to choose
- you maintain a large JavaScript/TypeScript monorepo with many package. files
- you need automated linting and fixing of dependency version drift
- you want to adopt pnpm or bun catalogs with an automated migration
- you need to enforce semver range or pinning rules per dependency

## When to avoid
- you work in a single-package repo with no version drift risk
- you need dependency version management for non-JavaScript ecosystems like Python or Go
- you want a GUI or web-based dependency dashboard rather than a CLI

## Facets
- artifact type: cli-tool
- maturity: active
- function: linter, cli, developer-tools, configuration-management
- domain: developer-tools, version-control
- platform: cli, cross-platform
- tags: monorepo, semver, npm, yarn, pnpm, package-, dependency-management, rust, automation, javascript, nodejs

## Member repositories
- JamieMason/syncpack (main) score 97

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:11.993238+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:55:43.781483+00:00, confidence not recorded.
  - readme: https://github.com/JamieMason/syncpack (fetched 2026-08-28T04:06:11.993238+00:00, sha b844a5f9be7b)
  - homepage: https://syncpack.dev/ (fetched 2026-08-29T10:35:34.585223+00:00, sha 095006ae7bd0)
  - registry_crates: https://crates.io/api/v1/crates/syncpack (fetched 2026-08-29T10:35:34.588173+00:00, sha bdb6672ece4e)
- Data as of 2026-08-30T08:39:29.467469+00:00.
