Flog documentation
Predictable package management for JavaScript projects and workspaces.
Flog uses standard package.json manifests and npm registries, with explicit
resolution, exact installs, and reviewable releases.
Start here#
- Install Flog — get the executable on your machine.
- Create your first project — initialize, add dependencies, and run scripts.
- Use an existing project — work with a committed lockfile or adopt Flog.
Common tasks#
| I want to… | Read |
|---|---|
| Add, remove, or upgrade dependencies | Managing dependencies |
| Understand packages and workspaces | Packages and workspaces |
| Run tests, scripts, or local tools | Scripts and binaries |
| Build workspace dependencies in order | Workspace builds |
| Format supported JavaScript and TypeScript files | Bounded source formatting |
| Install in CI or prepare a production image | Production and CI |
| Audit exact locked versions for vulnerabilities | Dependency vulnerability audits |
| Publish a package | Publishing |
| Deprecate a published package version | flog deprecate |
| Release several packages together | Workspace release sets |
Find a command#
The Commands overview groups the CLI by task. Every command has
its own page with usage, examples, and links to deeper explanations.
For help in your terminal, run flog help <command>.
Understand the model#
Flog separates resolving dependencies from installing them. flog lock records
the graph; flog install materializes it without silently changing versions.
Dependency changes through flog add, flog remove, and flog upgrade deliberately
update manifests and the lock together.
See lockfiles and resolution and registry configuration and authentication for the shared rules.
Contributing to Flog itself? Read the changelog for current unreleased changes. The Maintaining Flog section contains the release, installer infrastructure, and website development procedures.