Guides
Past your first install, the rest of what viv does day to day: the
commands you reach for most, merging composer.lock without conflicts,
running a project's tools and PHP version without a container, and moving
a whole project over from Composer.
- Cheat sheet — the common commands, one line each.
- Merging composer.lock without conflicts — the merge driver and what it still can't resolve.
- viv.lock — the conflict-less lock format on its own, without
composer.lock. - A PHP per project — a self-contained PHP build pinned per project, no container.
- Running tools without installing them —
viv x, npx-style. - Workspaces — one resolve and one
vendor/across severalcomposer.jsonfiles. - Scripts and running commands —
viv run,viv exec, and lifecycle scripts. - Automatic normalisation — a
composer.jsonthat never gets a reordering-only diff. - Plugins — which Composer plugins viv reimplements, ignores or refuses.
- Two plugins, one library — prefixing a plugin's bundled dependencies, and why it stays opt-in.
- Speed — the benchmark numbers and how they're kept honest release to release.
- Reasons to use viv, and reasons not to — the honest trade-offs.
- Scope — the commands, repositories and package types viv covers.
- Migrating from Composer — the shim, Dockerfiles and CI flags for moving a whole project over.
- For your framework — the local/Dockerfile/CI snippets and compatibility result for your framework starter.
- Cache and offline use — the shared store,
--cache-dirand--offline. - Troubleshooting — common errors and what to do about them.