一键导入
vx-project
Project management guide for vx. Use when setting up a new project, configuring vx.toml, or managing project-level tool versions and scripts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Project management guide for vx. Use when setting up a new project, configuring vx.toml, or managing project-level tool versions and scripts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | vx-project |
| description | Project management guide for vx. Use when setting up a new project, configuring vx.toml, or managing project-level tool versions and scripts. |
Quick start: Run
vx initto createvx.toml,vx setupto install all tools,vx devto enter the dev environment. For existing projects, just runvx setupafter cloning.
vx init # Create vx.toml interactively
vx init --template node # Use a template
vx init --minimal # Create minimal vx.toml
vx automatically detects project types and suggests tools:
vx analyze # Analyze project (detects languages, dependencies)
vx analyze --json # JSON output for AI parsing
Detected ecosystems: Node.js, Python, Rust, Go, Java, .NET, C/C++, Zig Detected frameworks: React, Vue, Angular, Next.js, Nuxt, Svelte, Django, Flask, FastAPI, Tauri, Electron, React Native, NW.js, and more Detected package managers: npm, yarn, pnpm, bun, pip, uv, cargo, go modules
The project analyzer reads indicator files like package.json, pyproject.toml, Cargo.toml, go.mod, etc. to suggest the right tools.
# vx.toml - Project tool configuration
[tools]
# Version constraints
node = "22" # Major version (any 22.x.x)
go = "1.22" # Minor version (any 1.22.x)
uv = "latest" # Always use latest
rust = "1.80" # Specific version
just = "*" # Any version
# Platform-specific tools
[tools.msvc]
version = "14.42"
os = ["windows"] # Only install on Windows
[tools.brew]
version = "latest"
os = ["macos", "linux"]
[scripts]
# Development scripts
dev = "npm run dev"
test = "cargo test"
lint = "npm run lint && cargo clippy"
build = "just build"
# CI/CD scripts
ci = "just ci"
release = "just release"
[hooks]
# Lifecycle hooks
pre_commit = ["vx run lint"]
post_setup = ["npm install", "cargo fetch"]
For projects that need modern Python plus legacy Python 3.7 or 2.7, keep the
runtime requirements in vx.toml and the environment/test matrix in justfile:
[tools]
uv = "latest"
python = "3.12"
just = "latest"
[scripts]
test = "vx just test"
test-legacy = "vx just test-legacy"
venv312:
vx uv venv .venv312 --python 3.12
vx uv pip install --python .venv312 -r requirements.txt
venv37:
vx uv venv .venv37 --python 3.7
vx uv pip install --python .venv37 -r requirements-py37.txt
venv27:
vx uv venv .venv27 --python 2.7
.venv27/bin/python -m pip install -r requirements-py27.txt
test312: venv312
.venv312/bin/python -m pytest
test37: venv37
.venv37/bin/python -m pytest
test27: venv27
.venv27/bin/python -m pytest
test-legacy: test37 test27
test: test312 test-legacy
Agents should use vx uv venv ... --python 3.7 and
vx uv venv ... --python 2.7; vx resolves those versions to managed
interpreters. Python 2.7 is a legacy compatibility path using PyPy2.7 and
PyPA's Python 2.7 virtualenv.pyz, so flag CPython-only extension risks early.
When a project promises compatibility across several runtime lines, record the
baseline runtime in vx.toml and put every compatibility lane in justfile.
This keeps local developer testing, CI, and AI-agent verification aligned.
[tools]
node = "22"
python = "3.12"
uv = "latest"
just = "latest"
[scripts]
test = "vx just test"
test-matrix = "vx just test-matrix"
[ai]
skills_hash = "<recorded by vx ai setup --project>"
test-node18:
vx node@18 npm test
test-node20:
vx node@20 npm test
test-node22:
vx node@22 npm test
venv37:
vx uv venv .venv37 --python 3.7
vx uv pip install --python .venv37 -r requirements-py37.txt
venv312:
vx uv venv .venv312 --python 3.12
vx uv pip install --python .venv312 -r requirements.txt
test-py37: venv37
.venv37/bin/python -m pytest tests/py37
test-py312: venv312
.venv312/bin/python -m pytest tests/py312
test-matrix: test-node18 test-node20 test-node22 test-py37 test-py312
test: test-matrix
Agents should use the matrix recipe (vx just test-matrix or
vx run test-matrix) when changing shared code. Add the smallest missing lane
when a bug report mentions an unsupported Python, Node.js, npm, pnpm, or yarn
version.
vx ai setup installs built-in vx skills globally by default. Use project scope
only when the repository wants local skill copies:
vx ai setup --project
vx ai check
vx ai setup --project --force
Project setup records [ai].skills_hash in vx.toml. vx ai check compares
that hash with the embedded skills hash and reminds developers to refresh stale
project skills.
| Constraint | Example | Meaning |
|---|---|---|
| Exact | "1.2.3" | Only version 1.2.3 |
| Major | "1" | Any 1.x.x |
| Minor | "1.2" | Any 1.2.x |
| Latest | "latest" | Always latest |
| Any | "*" | Any available version |
| Range | ">=1.0.0 <2.0.0" | Range constraint |
[tools]
# Cross-platform tools
node = "22"
uv = "latest"
# Windows-only
[tools.msvc]
version = "14.42"
os = ["windows"]
# macOS/Linux only
[tools.brew]
version = "latest"
os = ["macos", "linux"]
vx setup # Full project setup (sync + hooks)
vx sync # Install all tools from vx.toml
vx sync --clean # Remove unlisted tools
vx sync --check # Check without installing
vx run dev # Run development server
vx run test # Run tests
vx run build # Build project
vx run --list # List available scripts
vx lock # Generate vx.lock
vx lock --update # Update locked versions
vx lock --check # Verify lock file
The vx.lock file ensures reproducible builds:
# vx.lock - Auto-generated, do not edit
[tools]
node = { version = "22.0.0", checksum = "sha256:..." }
go = { version = "1.22.0", checksum = "sha256:..." }
vx dev # Enter project environment
vx env list # List environments
vx env activate # Print activation commands
eval $(vx env activate) # Activate in shell
Define in vx.toml:
[env]
NODE_ENV = "development"
DATABASE_URL = "postgresql://localhost:5432/dev"
API_KEY = { env = "API_KEY", required = true }
vx add node@22 # Add tool to vx.toml
vx add go rust uv # Add multiple tools
vx remove node # Remove tool from vx.toml
vx check # Verify tool constraints
vx check --json # JSON output
vx check --fix # Auto-fix issues
For monorepos, create vx.toml in root:
# Root vx.toml
[tools]
node = "22"
pnpm = "latest"
[scripts]
install = "pnpm install"
build = "pnpm -r build"
test = "pnpm -r test"
Individual packages can have their own vx.toml:
# packages/backend/vx.toml
[tools]
go = "1.22"
[scripts]
dev = "go run ./cmd/server"
Pin versions for CI/CD:
[tools]
node = "22.0.0" # Exact version for CI
Always commit vx.lock:
git add vx.lock
Group related scripts:
[scripts]
# Development
dev = "..."
watch = "..."
# Testing
test = "..."
test:watch = "..."
# Build
build = "..."
build:prod = "..."
Use hooks for automated checks:
[hooks]
pre_commit = ["vx run lint", "vx run test"]
post_checkout = ["vx sync"]
Create reusable templates:
# Create template from current project
vx template create my-template
# Use template
vx init --template my-template
~/.vx/templates/my-template/
├── vx.toml
├── .gitignore
├── README.md
└── hooks/
└── post_setup.sh
Teaches AI agents how to use vx, the universal dev tool manager. Use when the project has vx.toml or .vx/, or when the user mentions vx, tool version management, Git/GitHub operations, or cross-platform setup. vx auto-manages Node.js, Python, Go, Rust, and 142 providers via Starlark DSL provider.star files. Also covers MCP integration patterns and GitHub Actions.
Token-efficient command execution patterns for AI agents using vx. Use when running builds, tests, linting, GitHub operations, or any command that produces verbose output. Teaches agents to filter output cross-platform using vx-managed tools (vx rg, vx jq) instead of platform-specific syntax (Select-String, grep, findstr). Includes token measurement, savings tracking, and deep recipes for cargo, gh, pytest, and more.
Best practices for using vx effectively. Use when following recommended patterns for tool management, project setup, and team workflows with vx.
Complete vx CLI command reference. Use when looking up specific vx command syntax, flags, output formats, or token-efficient forwarding. vx-native commands support --json, --toon, --compact, and --output-format; forwarded tools keep native output unless compact mode is explicitly requested.
Troubleshooting guide for vx issues. Use when encountering installation failures, version conflicts, PATH issues, or other vx problems.
Teaches AI agents how to use vx, the universal dev tool manager. Use when the project has vx.toml or .vx/, or when the user mentions vx, tool version management, Git/GitHub operations, or cross-platform setup. vx auto-manages Node.js, Python, Go, Rust, and 138 tools via Starlark DSL providers. Also covers MCP integration patterns and GitHub Actions.