Quick Start

Get up and running with vis in your monorepo

Quick Start

This guide walks you through the workflows you'll touch every day. Stops at "you can ship code with vis"; for the deeper picture, follow the links at each section's end.

💡 Already installed? Skip to Running Tasks. New here? Start with Installation.

Running Tasks

Run a target across all workspace projects in dependency order:

vis run build

Run with increased parallelism:

vis run build --parallel=5

Run only specific projects:

vis run test --projects=@my/app,@my/lib

Preview what would run without executing:

vis run build --dry-run

Affected Detection

Only run tasks for projects changed since a git ref:

vis affected test --base=main

Compare specific git refs:

vis affected lint --base=HEAD~5 --head=HEAD

Checking for Outdated Dependencies

For pnpm or bun workspaces with catalogs, check which dependencies are outdated:

vis check

Check only specific packages:

vis check react typescript

Only show minor and patch updates:

vis check --target minor

Updating Dependencies

Update catalog dependencies interactively:

vis update --interactive

Update only patch versions (safe for production):

vis update --target patch

Preview changes without applying:

vis update --dry-run

Rollback if something goes wrong:

vis update --rollback

Visualizing the Dependency Graph

View your project dependency graph:

vis graph

Export as DOT format for Graphviz:

vis graph --format=dot --output=graph.dot

Managing Git Hooks

Install git hooks:

vis hook install

Migrate from husky:

vis hook migrate

Releasing a version

Set up the release subsystem and migrate from an existing tool if you have one:

vis release init --workflows

Record a version bump for the change you just made:

vis release add --packages '@scope/cerebro:minor' --message 'Add tab completion'

Commit the resulting .vis/release/<slug>.md alongside your code and push. CI takes care of opening the "Versioned release" PR, publishing on merge, tagging, and creating GitHub / GitLab releases.

See the release guide for the full walkthrough — change files, channels, snapshots, and CI setup.

Configuration

Create a vis.json in your workspace root for persistent configuration:

{
    "tasks": {
        "build": {
            "dependsOn": ["^build"],
            "outputs": ["{projectRoot}/dist/**"],
            "cache": true
        }
    },
    "update": {
        "target": "minor",
        "exclude": ["legacy-*"]
    }
}

See the Configuration page for all available options.

Where to next

  • Release manager — ship versions, changelogs, and tags from change files
  • Why vis — side-by-side capability matrix vs. Turbo / Nx / moon / Vite Task
  • Best practices — team workflows, security, CI/CD patterns
  • Commands — full per-command reference
Support

Contribute to our work and keep us going

Community is the heart of open source. The success of our packages wouldn't be possible without the incredible contributions of users, testers, and developers who collaborate with us every day.Want to get involved? Here are some tips on how you can make a meaningful impact on our open source projects.

Ready to help us out?

Be sure to check out the package's contribution guidelines first. They'll walk you through the process on how to properly submit an issue or pull request to our repositories.

Submit a pull request

Found something to improve? Fork the repo, make your changes, and open a PR. We review every contribution and provide feedback to help you get merged.

Good first issues

Simple issues suited for people new to open source development, and often a good place to start working on a package.
View good first issues