Flog documentation
Flog is a predictable JavaScript workspace package manager written in Go. It uses npm-compatible manifests and registries while keeping dependency resolution, lifecycle scripts, publishing, and updates explicit and auditable.
Start here#
Install flog, then materialize the reviewed lock committed by the project:
curl -fsSL https://flog.run/install | sh
flog install
For a new project with no lock, run flog lock, inspect and commit the generated
flog.lock, then run flog install. Plain install is the same command for
development and CI: it validates the manifests and current platform against the
lock, then installs that exact graph without rewriting it. Use flog add,
flog remove, or flog upgrade when you intend to change dependencies.
The everyday monorepo source workflow is equally direct:
flog install
flog build
For a deployment builder that needs one app rather than every editor/test adapter, install and build the same production workspace closure:
flog install --workspace apps/website --prod
flog build --workspace apps/website --prod
New to the project? Continue with dependency installation, then read the package and workspace model and the lockfile guide.
Everyday commands#
flog installvalidates and materializes the committed lock.flog lockcreates or deliberately reconciles a lock without installing.flog addandflog removedeliberately change direct dependencies.flog buildbuilds source workspaces once in dependency-first order.flog run <script>runs package scripts, including workspace selections.flog x <binary>executes an installed or direct workspace package binary.flog packcreates an inspectable npm-compatible tarball.flog publishperforms publication preflight before registry mutation.flog login,whoami, andlogoutmanage npm registry authentication.flog updatesecurely replaces flog from a verified release.flog upgradeplans and applies deliberate direct dependency updates.flog view <package> <field>reads one published metadata value.flog check peersaudits explicit dependencies used as peer providers.
See workspace builds, scripts and package binaries, dependency updates, packing, and publishing for complete behavior and examples. See workspace release sets for publication closure and version bump safeguards, and peer-provider auditing for conservative dependency cleanup checks.
Predictable by default#
Flog writes a strict deterministic flog.lock, installs an intentionally
nested node_modules layout, verifies downloaded package integrity, and only
runs dependency lifecycle scripts explicitly allowed by the root manifest.
Registry configuration and authentication follow familiar npm conventions; release installation and self-update use immutable manifests and SHA-256 verification. Read about registries and authentication or installer and release channels next.