singularity-forge/web/lib
Jean-Dominique Stepek 67f78a7314 fix: detect monorepo roots in project discovery to prevent workspace fragmentation (#2849)
When devRoot pointed at a monorepo, discoverProjects scanned one level
deep and listed each workspace/package as a separate project. Now it
checks for monorepo markers (pnpm-workspace.yaml, lerna.json, turbo.json,
nx.json, rush.json, package.json workspaces) before scanning children.
If the root is a monorepo, it returns it as a single project entry.

- Add detectMonorepo() to bridge-service with support for 6 monorepo formats
- Add isMonorepo signal to ProjectDetectionSignals
- Update discoverProjects to short-circuit when root is a monorepo
- Show 'Monorepo' tag in project list UI
- Add 24 tests covering all monorepo detection scenarios
2026-03-27 09:55:00 -06:00
..
auth.ts fix: use localStorage for auth token to enable multi-tab usage (#2785) 2026-03-26 20:06:50 -06:00
browser-slash-command-dispatch.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
command-surface-contract.ts feat: managed RTK integration with opt-in preference and web UI toggle (#2620) 2026-03-26 09:33:07 -06:00
dev-overrides.tsx feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
diagnostics-types.ts feat: enhance /gsd forensics with journal and activity log awareness 2026-03-25 18:19:08 +00:00
git-summary-contract.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
gsd-workspace-store.tsx fix: detect monorepo roots in project discovery to prevent workspace fragmentation (#2849) 2026-03-27 09:55:00 -06:00
image-utils.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
initial-gsd-header-filter.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
knowledge-captures-types.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
project-store-manager.tsx feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
project-url.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
pty-chat-parser.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
pty-manager.ts feat: managed RTK integration with opt-in preference and web UI toggle (#2620) 2026-03-26 09:33:07 -06:00
remaining-command-types.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
session-browser-contract.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
settings-types.ts feat: managed RTK integration with opt-in preference and web UI toggle (#2620) 2026-03-26 09:33:07 -06:00
shutdown-gate.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
use-editor-font-size.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
use-terminal-font-size.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
use-user-mode.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
utils.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
visualizer-types.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
workflow-action-execution.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
workflow-actions.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
workspace-status.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00