You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Goal
Prove the concept with a minimal, Bash-only increment. Install node and npm as pristine, versioned installations in the shared software repository, and route each project's global npm packages into a per-project directory so projects no longer collide. Launchers are implemented as Bash functions (like the existing claude function in cli/src/main/package/functions), not as shim files.
Scope
node + npm installed into the software repository under softwareRepositoryPath/// (pristine layout), sharing one copy of a version across projects.
Bash function per tool (node, npm) in functions that, inside a project, resolves the project's configured version and runs that binary from the repo; outside a project, falls back to the system binary (mirrors claude()).
global npm packages installed to a per-project prefix (e.g. under the project dir), so npm i -g in one project does not write into the shared node install.
works in Bash / POSIX.
Acceptance criteria
node and npm are installed into the pristine software repository, not ignored (isIgnoreSoftwareRepo no longer needed for the POC path).
two projects (A and B) on the same node version but different npm versions both run correctly from Bash, each resolving its own npm.
Feature idea
Related also to issue #352
Goal
Prove the concept with a minimal, Bash-only increment. Install node and npm as pristine, versioned installations in the shared software repository, and route each project's global npm packages into a per-project directory so projects no longer collide. Launchers are implemented as Bash functions (like the existing claude function in cli/src/main/package/functions), not as shim files.
Scope
Acceptance criteria
Additional context
No response