The shared file devp skill --agent aider owns a marked block inside. Aider is the
one target that does not read its file on its own: CONVENTIONS.md is loaded only
by aider --read CONVENTIONS.md or a read: CONVENTIONS.md line in
.aider.conf.yml, which is why writing it prints that instruction.
Whether the installed version is pinned where it is. Off by default, and the only
setting that outranks every other update path – see Settings::version_lock.
Environment variable that keeps the process off the network entirely — the release
check and the extension-download fallback alike. Set by the test suites, useful on
air-gapped machines; the durable per-user switch is
devp config set update_check false.
The Homebrew tap that carries the formula, as brew tap takes it. Not homebrew-core:
plain brew install dev-prune resolves there, and that has a notability bar this
project has not cleared. See docs/DISTRIBUTION.md.
Minimum supported Rust version, derived dynamically from rust-version in
Cargo.toml — which is the single source of truth for the MSRV. Only cargo install users ever meet it; every other channel ships a prebuilt binary.
Shown while devp trust and the configurator ask the OS about the scheduler and
Git hooks, then overwritten in place. Kept here because its width is what the
erase writes over, so the two must not be able to drift apart.
Scratch file the power-settings re-registration writes the patched task XML to,
inside the config directory. schtasks /Create /XML only reads from a file.
Marker recording that this machine’s scheduler refused the re-registration that
lifts the power gates off the task (see windows::apply_power_settings). Same
contract as the windowless marker above: written on refusal so settled passes stop
retrying, swept by the next explicit install.
Marker file (in the config directory) recording that this machine’s Task Scheduler
refused the sessionless (S4U) task registration, so setup keeps the console task
instead of retrying the upgrade on every pass.
File in the config directory recording the first-run answer to “may dev-prune set
itself up?” — granted or declined. Its absence means the question has never been
asked, or that devp uninstall put it back that way. Separate from the version
stamp on purpose: the stamp is rewritten on every upgrade, and an answer somebody
gave once must survive all of them.
Threads per reported core for the status scan. Above one because the scan waits on
the disk far more than on the CPU; well below what the disk will queue, because past
that point the extra threads only take turns.
Default timeout for the release check. Short on purpose — this is a convenience,
and a user waiting on a hung socket is worse than not knowing. Override with
devp config set update_check_timeout_secs when a proxy needs longer.
Prefix of the per-engine stamp a completed volume dry run leaves in the config
directory (volume-pick-docker.stamp holds the Unix time it finished). The real
--include-volumes pick list only arms while a stamp is fresh, so the first time
anyone types the real command they get the dry run instead of a deletion prompt.
File name of the windowless scheduler binary — the same CLI built for the GUI
subsystem, the relationship pythonw.exe has to python.exe. A [[bin]] target, so
it ships in the Windows archives and cargo install places it; nothing generates it
on a user’s machine.
The WinGet package identifier, as published in packaging/winget/ and in the
manifests submitted to microsoft/winget-pkgs. devp update and devp uninstall name
it back to the user, so a typo here sends someone to a command that does not resolve.
The shared file devp skill --agent zed owns a marked block inside. Zed reads
.rules ahead of every other convention, so a repository that also has an
AGENTS.md still needs this one.