Skip to main content

Module setup

Module setup 

Source
Expand description

Idempotent installation of dev-prune’s integrations.

dev-prune is only really installed once the parts that let it work without being thought about are in place: the devp alias, the exported SKILL.md that AI assistants read, the Git hooks that keep the registry current, and the OS scheduler that runs the passes. Each one here is created only when it is missing, which is what makes it safe to run on every install, reinstall and upgrade — and it does run on each of those, through the version stamp written at the end of a completed pass.

Nothing in here is fatal. A machine without git, a core.hooksPath that belongs to husky, a locked-down scheduler: each is reported and stepped over, because none of them should stop devp init from registering repositories.

Structs§

SetupReport
The result of one integration pass.

Enums§

Outcome
What one integration did during a pass.

Constants§

ENV_NO_AUTO_SETUP
Environment variable that suppresses the automatic pass entirely.

Functions§

auto_setup_enabled
Whether unattended installation is permitted at all.
auto_setup_if_due
The unattended pass, run at most once per installed version.
ensure_alias
Create the devp alias next to the real binary, and keep it current.
ensure_daemon
Install the OS scheduler if it is not already registered.
ensure_hooks
Install the global Git hooks, unless git is absent or the slot belongs to someone else.
ensure_integrations
Run one integration pass, installing whatever is missing.
ensure_integrations_if_enabled
Run an integration pass unless unattended installation is switched off.
ensure_skill_file
Export the bundled SKILL.md so AI assistants have something to read.
setup_is_due
Whether the unattended pass is due: a fresh install, or the first run after an upgrade.
skill_path
Path that devp skill and this module export SKILL.md to.
stable_exe_path
Absolute path to a copy of this binary that will still be there next week.
suppress_next_auto_setup
Invalidate the stamp so the next human-run command performs a pass.
unattended_environment
The reason this looks like a machine nobody is sitting at, if it does.