Local Tooling
binpm local tooling is anchored by committed manifest and lockfile documents at the repository root.
Manifest
binpm.toml is the committed project-local tool declaration file.
Tool command names must be executable basenames. Path separators, . and .. are invalid command names.
bin stores the selected upstream executable name or archive member path. Prefer setting it through the CLI:
Use --bin when a package archive contains more than one plausible executable or when the executable selected from the release differs from the local command name.
Target-specific asset overrides use [tools.<cmd>.targets.<target-key>].
Lockfile
binpm.lock is the committed deterministic project-local resolution file. It records release tags, target-specific assets, selected binaries, checksums, and installed paths.
Lockfile records must not include install timestamps, last-used timestamps, absolute cache paths, or other machine-local operational metadata.
Committed lockfiles must store sanitized canonical asset URLs only. They must never store query strings, fragments, credential-bearing URLs, or expiring signed download URLs.
Local Paths
Project-local executable files are installed under:
Other project-local runtime state stays under $repoRoot/.binpm.