Disabling and Uninstalling LumenFlow
LumenFlow is designed to be easy to remove. Adoption trust depends on a credible opt-out. Two first-class commands handle it:
pnpm lumenflow:disable/pnpm lumenflow:enable— reversible enforcement opt-outpnpm lumenflow:uninstall— destructive eject with dry-run default
Reversible Opt-Out
Section titled “Reversible Opt-Out”Use lumenflow:disable when you want to temporarily turn certification off without removing your
own hook or CI content. It publishes one micro-worktree commit that first makes workspace.yaml
non-certifying, then removes only LumenFlow-owned blocks from the generic pre-commit, pre-push, and
CI delegators and removes their integrity manifest. A failed write or push leaves the main checkout
unchanged.
-
Disable
-
Re-enable later
This atomically restores the generic delegators, digest-bound manifest, and the required
.gitignoreexceptions, then enables certification last. It preserves bytes outside LumenFlow markers. If the LumenFlow CI path contains marker-free content, repair stops rather than adopting or overwriting that project-owned file.
Both commands are idempotent after the requested state is already published. lumenflow:enable is
also the remediation for missing, stale, or tampered lifecycle evidence reported by
lumenflow:doctor.
Full Uninstall
Section titled “Full Uninstall”lumenflow:uninstall removes LumenFlow-generated files from your project. It defaults to
dry-run — you must pass --confirm to actually delete.
Prints the planned deletions without modifying disk. Run this first to inspect scope.
Actually removes files. Prints a restore hint (git checkout -- or git revert).
Uninstall Flags
Section titled “Uninstall Flags”| Flag | Effect |
|---|---|
--confirm | Actually delete (without this, dry-run). |
--keep-history | Preserve docs/operations/tasks/wu/ and .lumenflow/state/packs/software-delivery/stamps/. |
--keep-config | Preserve workspace.yaml and .lumenflow/constraints.md. |
--client <name> | Deprecated compatibility tombstone; no longer narrows scope and does not enable host-specific behavior. |
--json | Emit machine-readable JSON output. |
What Gets Removed
Section titled “What Gets Removed”LumenFlow classifies files into these categories, and uninstall acts accordingly:
| Category | Example | Action |
|---|---|---|
hook | .husky/pre-commit | Delete |
ci | .github/workflows/lumenflow-ci.yml | Delete |
state | .lumenflow/state/packs/software-delivery/ (and legacy .lumenflow/state/) | Delete |
stamp | .lumenflow/state/packs/software-delivery/stamps/ (and legacy .lumenflow/stamps/) | Delete (unless --keep-history) |
config | workspace.yaml, .lumenflow/constraints.md | Delete (unless --keep-config) |
docs | docs/operations/tasks/wu/ | Delete (unless --keep-history) |
Removing the npm Packages
Section titled “Removing the npm Packages”Uninstall does not touch node_modules or package.json dependencies. Remove the packages
separately:
Restore After Uninstall
Section titled “Restore After Uninstall”Because all deletions happen in your working tree, git is the restore path:
If you ran uninstall in a throwaway branch, simply discard the branch.