JoyRide ships as production infrastructure inside LUMI at src/core/joyride/.
These files must import only from @core/joyride:
| File | Role |
|---|---|
src/core/task/index.ts |
Command lookup/store; cancel flush |
src/core/task/tools/handlers/SearchFilesToolHandler.ts |
Search lookup/store |
src/core/task/tools/handlers/AttemptCompletionHandler.ts |
Task completion flush |
src/extension.ts |
Shutdown diagnostics |
Import boundary enforcement against these files runs in the LUMI monorepo (JoyRideImportBoundary.test.ts with monorepo root).
JoyRide depends on LUMI host types (@shared/ExtensionMessage, @shared/services/Logger, git utilities). It is not published as a standalone npm package today — this repository is the source-of-truth mirror for documentation, contract, and implementation review.
To run the full test suite including integration boundary checks:
# In DietCodeMarie monorepo
npm run test:unit -- --grep "JoyRide"