VisCommandsvis ci

vis ci

Run affected targets in a CI-optimized pipeline

vis ci

Bundles the CI lifecycle into a single command: install dependencies, detect affected projects, and run targets — with base/head refs auto-detected from CI provider environment variables.

Subcommand: vis ci ignore <project> — the "Ignored Build Step" gate for Vercel/Netlify that decides whether a deploy should run based on affected status.

Usage

vis ci <targets> [options]

Targets are comma-separated:

vis ci lint,test,build

Examples

vis ci lint,test,build                     # Full CI pipeline
vis ci test --base=origin/main             # Override base ref
vis ci build --no-install                  # Skip install (deps already present)
vis ci build --parallel=6                  # Increase concurrency
vis ci test --query "language=typescript"  # Filter by project metadata

How It Works

  1. Install — Runs vis install --frozen-lockfile (skip with --no-install)
  2. Affected — For each target, runs vis affected <target> with the detected base/head refs
  3. Refs — Auto-detects from GitHub Actions (GITHUB_BASE_REF), GitLab CI (CI_MERGE_REQUEST_TARGET_BRANCH_NAME), Buildkite (BUILDKITE_PULL_REQUEST_BASE_BRANCH / BUILDKITE_COMMIT), or CircleCI. Falls back to origin/main

Options

OptionDefaultDescription
--installtrueInstall deps first (--no-install to skip)
--skip-toolchainfalseSkip the toolchain pre-flight (no auto-install for any pinned tool: node/pnpm/yarn/npm/bun/deno/go/python/ruby/rust)
--baseauto-detectedGit base ref for affected detection
--headHEADGit head ref
--upstreamnoneUpstream scope: none, direct, deep
--downstreamdeepDownstream scope: none, direct, deep
--parallel4Max parallel tasks per target
--partitionPartition for distributed CI (e.g. 1/4)
--queryFilter affected projects by query
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