Summary
Currently, skills and soul configuration are bundled inside the junior repo/package. This makes it impossible to run junior as a standalone package pointed at a custom working directory with user-defined skills and soul. We want to support a mode where junior can be installed as a package and loaded against an external directory for skills and soul configuration.
Current Behavior
- Skills and soul files are bundled directly in the junior repository.
- There is no mechanism to point a running junior instance at an external working directory.
- Customizing junior requires forking or modifying the repo directly.
Gap / Opportunity
- Users/teams should be able to install junior as a package and bring their own skills/soul without modifying the package itself.
- Enables multi-tenant or org-specific deployments where skills and soul differ per team.
Prior Art
- Many CLI tools support a
--config-dir or working directory override (e.g., ESLint config resolution, dbt project dir flag) — same pattern applies here.
Options
- Add a
--working-dir (or JUNIOR_WORKING_DIR) flag/env var that overrides the default bundled skills/soul path at runtime.
- Support a config file (e.g.,
junior.config.js) in the working directory that declares where to load skills and soul from.
Recommended Direction
- Implement a
--working-dir CLI flag and/or JUNIOR_WORKING_DIR env var. When set, junior loads skills and soul from that directory instead of the bundled defaults.
Acceptance Criteria
Risks
- Schema/format mismatches between externally provided skills and what junior expects — needs validation or clear error messaging.
Summary
Currently, skills and soul configuration are bundled inside the junior repo/package. This makes it impossible to run junior as a standalone package pointed at a custom working directory with user-defined skills and soul. We want to support a mode where junior can be installed as a package and loaded against an external directory for skills and soul configuration.
Current Behavior
Gap / Opportunity
Prior Art
--config-diror working directory override (e.g., ESLint config resolution, dbt project dir flag) — same pattern applies here.Options
--working-dir(orJUNIOR_WORKING_DIR) flag/env var that overrides the default bundled skills/soul path at runtime.junior.config.js) in the working directory that declares where to load skills and soul from.Recommended Direction
--working-dirCLI flag and/orJUNIOR_WORKING_DIRenv var. When set, junior loads skills and soul from that directory instead of the bundled defaults.Acceptance Criteria
Risks