Skip to main content

Module constants

Module constants 

Source

Constants§

AGENTS_MD_FILE
Where devp skill --agent agents-md writes its marked block — the cross-tool convention read by Codex, Jules, Amp, Antigravity and others.
AGENT_SKILLS_SUBDIR
Subdirectory of an agent’s home where Agent Skills live, one directory per skill.
AIDER_CONVENTIONS_FILE
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.
AMAZON_Q_RULES_FILE
Where devp skill --agent amazon-q writes its rules (Amazon Q Developer reads every file in .amazonq/rules/).
ANTIGRAVITY_RULES_FILE
Where devp skill --agent antigravity writes the per-repository rules — Antigravity (Google) reads workspace rules from .agent/rules/.
APP_NAME
Application name.
ATTRIBUTION_LINE
The one-line credit printed under interactive output.
AUTHOR
Author of dev-prune.
BYTES_PER_GIB
One gibibyte, for turning cache_max_gb into the byte count a cache is measured in.
CACHE_CAP_DEFAULT_KEY
The cache_max_gb key that caps every manager without naming one.
CACHE_CLEAR_TIMEOUT_SECS
Ceiling for one devp caches clear step.
CACHE_QUERY_TIMEOUT_SECS
Timeout for the “where does your cache live?” queries devp caches makes.
CLAUDE_HOME_DIR
Directory under the user’s home that marks a Claude Code installation.
CLINE_RULES_FILE
Where devp skill --agent cline writes its rules (Cline reads every file in the .clinerules/ directory).
CLIPBOARD_COMMANDS_LINUX
Linux clipboard commands devp skill --copy tries in order, before falling back to CLIPBOARD_COMMAND_WINDOWS for WSL. Each pairs the binary with the arguments that target the clipboard proper rather than the X11 primary-selection buffer.
CLIPBOARD_COMMAND_MACOS
macOS clipboard command that devp skill --copy shells out to.
CLIPBOARD_COMMAND_WINDOWS
Windows clipboard command that devp skill --copy shells out to. Also reachable from WSL, since clip.exe sits on PATH there too.
CODE_ROOT_NAMES
Home-relative directory names that conventionally hold a developer’s repositories.
CONFIG_DIR_NAME
Config directory name under user config root.
CONTAINER_PRUNE_TIMEOUT_SECS
Timeout for one reclaim step of devp caches clear <engine>.
CONTAINER_QUERY_TIMEOUT_SECS
Timeout for asking a container engine how much disk it is using.
CONTINUE_RULES_FILE
Where devp skill --agent continue writes its rules (Continue reads every file in .continue/rules/).
COPILOT_INSTRUCTIONS_FILE
The shared file devp skill --agent copilot owns a marked block inside.
CURSOR_RULES_FILE
Where devp skill --agent cursor writes the per-repository rules.
DECLARED_ADAPTER_NAME
The adapter name the declared-directory pass answers to.
DEFAULT_ALLOW_MANIFEST_REWRITE
Whether an adapter whose sync command edits tracked manifests may run it.
DEFAULT_AUTO_CONFIG
Default for whether link and init write a .devprune.json into repositories they register.
DEFAULT_AUTO_DAEMON
Whether the setup pass installs the OS scheduler.
DEFAULT_AUTO_DISCOVER
Default for whether the scheduled pass looks for unregistered repositories by itself.
DEFAULT_AUTO_HOOKS
Whether the setup pass installs the global Git auto-registration hooks.
DEFAULT_AUTO_HOOKS_CHAIN
Whether the setup pass installs the Git hooks in front of another tool’s.
DEFAULT_AUTO_SETUP
Whether dev-prune installs its missing integrations by itself.
DEFAULT_AUTO_UPDATE
Whether a known-newer release installs itself at the end of a prune pass. On by default — see Settings::auto_update.
DEFAULT_BUILD_IDLE_DAYS
Default idle threshold for build-tree directories, in days.
DEFAULT_CHECK_INTERVAL_DAYS
Default interval in days between background daemon prune runs.
DEFAULT_COMMAND_TIMEOUT_SECS
Default timeout in seconds for lockfile enforcement / CLI commands (10 minutes).
DEFAULT_IDLE_DAYS
Default idle threshold in days before a repository is eligible for pruning.
DEFAULT_LANGUAGE
Language for dev-prune’s own headings and summary lines.
DEFAULT_MIN_SIZE_MB
Default size floor, in MiB, below which a bloat directory is left alone.
DEFAULT_RECOMMENDATIONS
Whether a dry run ends with the switched-off-adapter recommendations. On by default; see Settings::recommendations.
DEFAULT_REQUIRE_CONFIRMATION
Default setting for requiring interactive confirmation before pruning.
DEFAULT_SCAN_DEPTH
How far below a repository root project discovery descends, by default.
DEFAULT_UPDATE_CHECK
Whether the periodic release check runs. On by default — see Settings::update_check.
DEFAULT_VERSION_LOCK
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.
DEVPRUNE_IGNORE_FILE
Filename that, when present in a repo root, causes dev-prune to skip that repo entirely.
ENV_CONFIG_DIR_OVERRIDE
Global environment variable name to override config directory location.
ENV_LANGUAGE
Environment variable that overrides the language setting for one invocation.
ENV_NATIVE_ARCH
Windows environment variable that carries the machine’s architecture when the running process is emulated.
ENV_NO_AUTO_SETUP
Environment variable that suppresses the automatic setup pass entirely.
ENV_NO_MIGRATE_PROMPT
Environment variable that stops both install scripts from asking anything.
ENV_NO_TUI
Set to any value to keep every full-screen view from opening, so the line-by-line fallback runs instead.
ENV_OFFLINE
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.
EPHEMERAL_ANCESTORS
Directory names that mean “the contents of this are disposable”.
EPHEMERAL_REPO_PREFIXES
Repository directory names that mean the same thing, wherever they are.
EPHEMERAL_WORKTREE_FRAGMENTS
Path fragments that mark a registry entry as an ephemeral AI-agent worktree.
GEMINI_MD_FILE
The shared file devp skill --agent gemini owns a marked block inside — the Gemini CLI reads one context file per repository.
GITDIR_PREFIX
The line prefix in a linked worktree’s .git file that names its metadata directory inside the main repository (gitdir: <main>/.git/worktrees/<name>).
GIT_DUBIOUS_OWNERSHIP
The phrase Git uses when it refuses a working tree owned by another account.
GIT_NOT_A_REPOSITORY
The phrase Git uses when the path it was pointed at is not a working tree at all.
GRAPHIFY_OUTPUT_DIR
Output directory graphify writes at the root of the folder it was pointed at, per its own SKILL.md. There is no lockfile that proves it can be rebuilt: doing so re-runs every extraction pass, LLM calls included, so this is reported under “Tools” and never a prune candidate.
HISTORY_STARTS_AT
The release that started recording per-repository totals and the pass history.
HOMEBREW_TAP
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.
HOMEPAGE_URL
Project homepage.
INSTALL_PS1_URL
The PowerShell installer — same two callers as INSTALL_SH_URL.
INSTALL_RECEIPT_FILE
The install receipt, written beside the managed binary by whichever installer put it there. See crate::receipt.
INSTALL_SH_URL
The shell installer, printed as an upgrade command and re-run by devp update --install when the running binary came from it.
JSON_SCHEMA_URL
Public URL for the JSON Schema used by IDEs for .devprune.json IntelliSense.
JUNIE_GUIDELINES_FILE
The shared file devp skill --agent junie owns a marked block inside — JetBrains Junie reads one guidelines file, not a directory.
KILOCODE_RULES_FILE
Where devp skill --agent kilocode writes its rules (Kilo Code reads every file in .kilocode/rules/).
KIRO_STEERING_FILE
Where devp skill --agent kiro writes its rules (Kiro reads every file in .kiro/steering/).
LATEST_RELEASE_URL
The release page for the latest published release.
LICENCE_NOTICE
The licence sentence under the declaration, in both wizard paths.
MACOS_LAUNCHD_LABEL
Label of the macOS LaunchAgent the daemon registers (also names its plist file).
MAX_SCAN_DEPTH_LIMIT
Upper bound accepted for scan_depth.
MIN_DISCOVERY_ROOT_DEPTH
Fewest path components a directory must have before discovery will scan it.
MSRV
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.
OPENVSX_URL
The Open VSX listing, which is what VSCodium, Cursor and Windsurf resolve against.
PER_REPO_CONFIG_FILE
Name of the structured per-repository configuration file stored inside repo roots.
PNPM_VOLUME_STORE_DIR
Directory name pnpm gives a store it has to put on a volume of its own.
PROJECT_REPO_CONFIG_FILE
Name of the committed, team-wide half of a repository’s configuration.
PRUNE_HISTORY_LIMIT
How many prune passes devp stats keeps a summary of.
PRUNE_LOG_FILENAME
Name of the append-only prune log, beside the registry.
PRUNE_LOG_LIMIT
How many passes the prune log keeps in full, per-directory detail.
PRUNE_LOG_STARTS_AT
The release devp history starts recording per-directory detail in.
READING_MACHINE
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.
RECOMMENDED_CACHE_CAP
What the first run suggests for cache_max_gb.
RECOMMENDED_CACHE_MAX_GB
The cache size cap the first run suggests, in gibibytes.
REGISTRY_FILENAME
Name of the registry JSON file.
RELEASES_LIST_API_URL
GitHub API endpoint listing releases newest-first, for the extension .vsix.
RELEASES_URL
GitHub releases page, shown whenever an upgrade is relevant.
RELEASE_DOWNLOAD_BASE
Where a release’s assets live, with {tag} standing in for v1.4.0.
REPO_URL
Canonical source repository.
RESTORE_RATE_MIN_MILLIS
The shortest restore worth learning a throughput from, in milliseconds.
RESTORE_RATE_SAMPLE_CAP
How many restore measurements one adapter’s throughput average is worth.
ROO_RULES_FILE
Where devp skill --agent roo writes its rules (Roo Code reads every file in .roo/rules/).
RULES_BLOCK_END
RULES_BLOCK_START
Markers around the block in COPILOT_INSTRUCTIONS_FILE that dev-prune manages. Everything outside them belongs to the user and is never touched.
SCHEDULER_POWER_PATCH_FILE
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.
SCHEDULER_POWER_REFUSED_MARKER
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.
SCHEDULER_WINDOWLESS_REFUSED_MARKER
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.
SCOOP_BUCKET_NAME
The Scoop bucket name and the repository behind it. scoop bucket add takes both, and the name is what scoop install then resolves dev-prune against.
SCOOP_BUCKET_URL
Repository URL for SCOOP_BUCKET_NAME.
SETUP_CONSENT_FILE
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.
STATUS_SCAN_MAX_THREADS
Ceiling on the threads devp status uses to size repositories.
STATUS_SCAN_THREADS_ENV
Overrides the computed status-scan thread count. Clamped to STATUS_SCAN_MAX_THREADS; 1 forces a sequential scan.
STATUS_SCAN_THREADS_PER_CORE
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.
TAGLINE
What the banner says the tool is, in one line.
TAGLINE_SAFETY
The half of the pitch that is a promise rather than a description.
TOOL_OUTPUT_MAX_LINES
How many lines of a failed command’s output are relayed into a report.
TRAE_RULES_FILE
Where devp skill --agent trae writes its rules (Trae reads every file in .trae/rules/).
TROUBLESHOOTING_URL
Documentation URL for troubleshooting lockfile and pruning failures.
UNDERSTAND_ANYTHING_DIR
Output directory understand-anything writes at the root of the project it scanned (UA_DIR in its own persistence/index.ts). Same reasoning as GRAPHIFY_OUTPUT_DIR: rebuilding it costs LLM calls, so it is reported, not pruned.
UPDATE_CHECK_INTERVAL_DAYS
Default interval, in days, between automatic release checks.
UPDATE_CHECK_TIMEOUT_SECS
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.
UPDATE_DOWNLOAD_TIMEOUT_SECS
Timeout for downloading a release binary in devp update --install.
VERSION
Application crate version derived dynamically from Cargo.toml.
VERSION_STAMP
The stamp this build carries, which is what the scan above finds.
VERSION_STAMP_MARK
The marker devp trust looks for when reading another copy’s version.
VIRUSTOTAL_FILE_BASE
Where a SHA-256 becomes a scan report, with the digest appended as the last segment.
VOLUME_PICK_STAMP_PREFIX
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.
VOLUME_PICK_STAMP_SUFFIX
Extension of the volume dry-run stamp file.
VOLUME_PICK_WINDOW_SECS
How long a completed volume dry run arms the real pick list, in seconds.
VSCODE_EXTENSION_ID
Marketplace identifier (publisher.name) of the VS Code extension, as understood by code --install-extension.
VSCODE_MARKETPLACE_URL
Where a person can read about the extension before installing it.
VSCODE_RELEASE_TAG_PREFIX
Tag prefix identifying a release of the VS Code extension rather than of the binary.
WINDOWS_TASK_NAME
Name of the Windows Task Scheduler task the daemon registers.
WINDOWS_WINDOWLESS_BIN
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.
WINDSURF_RULES_FILE
Where devp skill --agent windsurf writes the per-repository rules.
WINGET_PACKAGE_ID
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.
ZED_RULES_FILE
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.

Statics§

DEV_PRUNE_BUILD_STAMP
The stamp, kept in the compiled binary by being an exported symbol nothing may drop.
LONG_VERSION
The body of devp --version.

Functions§

release_asset_name
The release-asset name for one platform, without the .sha256 suffix.