Handbook
How to choose LENSES_WORKSPACE_ROOT for Studio and Wizard
How to pick a workspace root so Projects and Overview in Lenses (including Forge Studio and the Blueprints Wizard) show the repos and folders you expect. LENSES_WORKSPACE_ROOT is the environment variable that tells the…
What it is
How to pick a workspace root so Projects and Overview in Lenses (including Forge Studio and the Blueprints Wizard) show the repos and folders you expect. LENSES_WORKSPACE_ROOT is the environment variable that tells the server which directory on disk is the top of the tree to scan.
Parent: Workspace setup.
When to use it
When the dashboard looks empty, shows too much, or misses a repo you know exists — after you have picked a layout.
Prerequisites
- Common layouts read once.
- Ability to set an environment variable and restart the Lenses server.
Good vs bad roots
| Good | Bad |
|---|---|
| Parent of all repos you want cards for | A single repo folder when you need multi-repo visibility |
| Stable path your team can document | A transient mount or temp path that changes between sessions |
| Same path in docs and on the machine that runs the server | Each developer pointing at a different parent without agreeing |
Worked example — root too deep
Starting situation: You have three siblings under ~/work/acme/ but set LENSES_WORKSPACE_ROOT to ~/work/acme/billing-api.
Before:
LENSES_WORKSPACE_ROOT=~/work/acme/billing-api
Symptom: Projects shows only billing-api (or one tree); auth-lib never appears.
After:
LENSES_WORKSPACE_ROOT=~/work/acme
Restart the server. Projects should list both product folders you care about.
Worked example — root too shallow (too high)
Starting situation: You pointed the root at ~/work to “see everything.”
Symptom: Unrelated folders appear as discoverable trees; scans feel slow or noisy; teammates see repos that are not part of your program.
Fix: Narrow LENSES_WORKSPACE_ROOT to one program folder (e.g. ~/work/acme) and document that as the standard.
Symptom → likely mistake → fix
| Symptom | Likely mistake | Fix |
|---|---|---|
| Empty Projects / Overview | Root inside one repo only | Move root up one level to the parent that contains all clones |
| Missing one repo | That repo lives outside the chosen parent | Either move the clone under the documented parent or widen the root (team decision) |
| Different results after reboot | Root uses a relative or symlink path that resolves differently | Use a stable absolute path in runbooks |
Classic / works but paths feel wrong in Studio |
Same underlying root issue | Fix root first; then refresh Studio |
Root choice flow (visual)
Expected outcome (plain language)
After a correct root and restart:
- Projects lists the product repositories (or subtrees) your team agreed belong in this workspace.
- Overview and cross-repo views make sense for that same set — not your whole laptop.
How to verify success
- You can state the workspace root path in one sentence and it matches the running server configuration.
- A second teammate using the same path sees the same project set (modulo their own clone state).
What to do next
- Workspace setup
- When projects or scans look wrong if the root is right but scans still fail