Project and selection commands
pinset detect
Read traditional project version files and report selections, constraints, ignored tools, unsupported values, and conflicts.
View source on GitHub ↗| Field | Description |
|---|---|
| Purpose | Read traditional project version files and report selections, constraints, ignored tools, unsupported values, and conflicts. |
| Syntax and arguments | pinset detect [--cwd <path>] [--json]. Discovery stops at the nearest .git file/directory; without one it scans only the start directory. |
| Modifies state | No. It does not use the network, create Pinset state, execute third-party tools, or modify source files. |
| Example | pinset detect --cwd ./app --json |
| JSON | Yes. Data contains start, boundary, target_config, can_import, and stable Provider-ordered findings. |
| Exit | 0 when the local scan completes, including reports with conflicts or no importable selection; 2 only when discovery itself cannot start. |
| Key errors | Missing/inaccessible start directory. Unsafe, malformed, or unrepresentable source files are report findings rather than command errors. |
Recognized selection sources include .nvmrc, .node-version, .bun-version, .go-version, .python-version, .java-version, .sdkmanrc, rust-toolchain(.toml), global.json, .fvmrc, legacy FVM project JSON, .tool-versions, mise.toml, and unambiguous fields in package.json, go.mod, and go.work. Version ranges from package manifests are informational only. Symlinks, non-files, non-UTF-8 sources, and files larger than 1 MiB are rejected in the report.
/en/docs/commands/detectPinset 2.1