Existing Projects
LumenFlow is a Node-distributed governance CLI, but the repository it governs can use any language or framework. Existing source layout, package manager, ticket system, and CI can remain in place.
Prerequisites
Section titled “Prerequisites”- a Git repository;
- Node.js 26.0.0 or newer for the CLI (Node.js 26.8.1 Current recommended);
- pnpm 11.4.0 or newer (12.3.4 Current recommended) or npm 12.0.2 or newer;
- access to the private LumenFlow package channel.
Install and merge
Section titled “Install and merge”-
Confirm the clone has an attributable local Git identity.
If either value is empty, the developer sets it for this clone:
-
Install the CLI locally.
-
Merge the LumenFlow scaffold into the existing repository.
The command preserves project-owned tool instructions and host hooks. It creates or updates the LumenFlow-owned contract and managed workspace surfaces.
A project-owned tool file (for example
CLAUDE.md) retained from an older LumenFlow release may still carry a directive telling an agent to edit a now-managed file.pnpm lumenflow:doctorandpnpm lumenflow:upgradedetect that specific line and print a non-gating advisory naming the file, the exact line, and the remedy: move project-owned rules intoLUMENFLOW.local.md, then replace the file body with a pointer toLUMENFLOW.mdandLUMENFLOW.local.md. LumenFlow never edits the file itself.On a later
pnpm lumenflow:upgrade, the CLI also reconciles its managed ignore rules and stops tracking runtime telemetry under the legacy.lumenflow/telemetrypath or the.lumenflow/state/packs/software-delivery/telemetrynamespace. Existing telemetry files stay in the working tree, and new writes are ignored. Lifecycle evidence such as WU events, migration state, completion stamps and the lifecycle-enforcement manifest remains tracked. -
Verify the installation and discover the current commands.
Running
--helpbefore first use is audited safe only for commands listed bypnpm lumenflow:commands. It does not extend to project-authored scripts: read an unfamiliar script or ask its author before assuming a flag is a no-op, especially one that can deploy, authenticate, or contact an external service.Doctor may also report a verified Turbo/pnpm compatibility warning when the consumer has a valid multi-document pnpm lockfile and a consumer-local Turbo version older than stable
2.9.7. Upgrade the consumer-owned directturbodependency to stable2.9.7or newer with the project’s package manager, then commit the manifest and lockfile changes through the normal workflow. Missing or ambiguous local evidence is reported as unknown. The compatibility issue may makewu:prepfall back to a full typecheck; any extra time depends on the project workload and has not been measured by this diagnostic. -
Complete lane lifecycle once before the first delivery WU.
The generated structure includes:
- workspace.yaml - LUMENFLOW.md - LUMENFLOW.local.md (optional, project-owned additions) - .lumenflow/ - constraints.md - skills/ - docs/tasks/ (default) or docs/operations/tasks/ (arc42)
Map your repository to lanes
Section titled “Map your repository to lanes”Use lane commands rather than editing either lane representation in workspace.yaml:
Top-level kernel lanes and software_delivery.lanes.definitions are related but distinct. The lane
lifecycle synchronizes them and keeps scope permissions aligned with delivery code paths.
Map your quality commands
Section titled “Map your quality commands”Initialization auto-detects dotnet, java, go, rust, and python presets from repository
markers (*.csproj/*.sln, pom.xml/build.gradle, go.mod, Cargo.toml,
pyproject.toml/requirements.txt/setup.py). ruby, php, and node are real presets too, but
none has a marker rule yet — any project whose markers don’t match one of the five above (including
a genuine Ruby, PHP, or unrecognized-ecosystem repo) silently falls back to the node preset. Pass
an explicit --preset whenever detection is wrong or your ecosystem isn’t in the detected five:
Use fully qualified config keys for supported overrides:
Run pnpm config:set --help before changing a key and use the generated
Configuration Reference for the current schema.
Create a verification WU
Section titled “Create a verification WU”This documentation-only WU proves the lifecycle without requiring a fake source change:
Developer access and project-owned hooks
Section titled “Developer access and project-owned hooks”Git hosting permissions decide who may clone and push. LumenFlow requires a non-empty Git name and email for attribution, but its generated surfaces do not pin a person, organization domain, or GitHub account. If an existing repository hook compares developers against a personal allowlist, that is project-owned access policy: remove it or move the machine-specific safeguard into local Git configuration before onboarding another developer.
Worktrees share the clone’s local Git configuration through the common Git directory, so a valid per-clone identity applies to every claimed WU.
Gradual adoption
Section titled “Gradual adoption”- Start with new work; do not bulk-convert every old ticket.
- Keep the external roadmap and link structured external work items when needed.
- Run
pnpm gatesin CI alongside existing checks. - Upgrade with
pnpm lumenflow:upgrade --latest; do not copy files from a newer repository.
Next steps
Section titled “Next steps”- Manual Quickstart — first governed WU
- Language Guides — preset-specific commands
- Team Workflow — lanes and handoffs
- Troubleshooting — recovery paths