IDE Prompt Source Selection
Why
specfact init ide now sits downstream of two separate changes:
- bundle-owned prompt/templates are moving into
specfact-cli-modules
- modules may be installed in different runtime roots such as
~/.specfact/modules, <repo>/.specfact/modules, built-in core package roots, and optional custom roots
The older proposal treated this as only a prompt selector. That is no longer enough. The remaining work in specfact-cli is the orchestration layer that discovers installed prompt/resource sources, lets users select them, and exports them safely without making core own those payloads again.
What Changes
- narrow this issue to
specfact-cli orchestration only
- keep prompt/template payload migration in
specfact-cli-modules change packaging-01-bundle-resource-payloads (nold-ai/specfact-cli-modules#101)
- build an installation-aware prompt/resource catalog for
specfact init ide from core built-ins plus discovered installed modules across user, project, and configured custom roots
- default
specfact init ide to exporting all discovered prompt sources
- add interactive and non-interactive source selection with
core and full installed module ids
- keep exported prompt files attributable to their owning source so collisions are deterministic and readable
- keep
specfact init ide as an anytime re-sync/export command only; it must not download, install, or extract bundles itself
- emit actionable guidance to the correct bootstrap/install path when resources are missing, for example
specfact module init --scope <user|project> or specfact module install --scope <user|project>
Capabilities
New Capabilities
init-ide-prompt-selection: specfact init ide can export prompts from core and selected installed modules with consistent interactive and non-interactive behavior
init-ide-installed-resource-orchestration: specfact init ide can discover installed prompt/resource payloads from the effective module roots and direct users to the correct install/bootstrap command when those payloads are absent
Acceptance Criteria
specfact init ide builds its prompt-source catalog from the effective installed module roots for the current repository context, including user scope, project scope, built-in core modules, and configured custom roots
- default execution exports all discovered prompt sources by default rather than only the first matching root
- interactive mode shows a source picker containing
core plus installed module ids that actually contribute prompt resources
- non-interactive mode accepts
--prompts all, --prompts core, and comma-separated full module ids
- the command does not download or install module archives; missing sources produce actionable guidance to run the correct core install/bootstrap command for the relevant scope
- exported prompt files are grouped or namespaced by source so prompt provenance remains visible and collisions stay deterministic
- the scope respects canonical command ownership from active migration changes and must not reintroduce obsolete command paths into prompt export or recommendations
Dependencies
backlog-module-ownership-cleanup must land first so backlog prompt ownership is no longer split across core and module
packaging-02-cross-platform-runtime-and-module-resources provides the installed-resource discovery foundation in specfact-cli and remains the owner of payload discovery mechanics
specfact-cli-modules/packaging-01-bundle-resource-payloads (nold-ai/specfact-cli-modules#101) must provide the bundle-owned prompt/template payloads that this change selects and exports
module-migration-11-project-codebase-ownership-realignment provides command-surface alignment context so exported prompts do not preserve obsolete grouped command ownership
- existing
specfact module init and specfact module install commands in specfact-cli remain the install/bootstrap path for user/project module roots; init ide extends only the post-install discovery/export path
OpenSpec
- Change:
init-ide-prompt-source-selection
- Repo path:
openspec/changes/init-ide-prompt-source-selection/
IDE Prompt Source Selection
Why
specfact init idenow sits downstream of two separate changes:specfact-cli-modules~/.specfact/modules,<repo>/.specfact/modules, built-in core package roots, and optional custom rootsThe older proposal treated this as only a prompt selector. That is no longer enough. The remaining work in
specfact-cliis the orchestration layer that discovers installed prompt/resource sources, lets users select them, and exports them safely without making core own those payloads again.What Changes
specfact-cliorchestration onlyspecfact-cli-moduleschangepackaging-01-bundle-resource-payloads(nold-ai/specfact-cli-modules#101)specfact init idefrom core built-ins plus discovered installed modules across user, project, and configured custom rootsspecfact init ideto exporting all discovered prompt sourcescoreand full installed module idsspecfact init ideas an anytime re-sync/export command only; it must not download, install, or extract bundles itselfspecfact module init --scope <user|project>orspecfact module install --scope <user|project>Capabilities
New Capabilities
init-ide-prompt-selection:specfact init idecan export prompts from core and selected installed modules with consistent interactive and non-interactive behaviorinit-ide-installed-resource-orchestration:specfact init idecan discover installed prompt/resource payloads from the effective module roots and direct users to the correct install/bootstrap command when those payloads are absentAcceptance Criteria
specfact init idebuilds its prompt-source catalog from the effective installed module roots for the current repository context, including user scope, project scope, built-in core modules, and configured custom rootscoreplus installed module ids that actually contribute prompt resources--prompts all,--prompts core, and comma-separated full module idsDependencies
backlog-module-ownership-cleanupmust land first so backlog prompt ownership is no longer split across core and modulepackaging-02-cross-platform-runtime-and-module-resourcesprovides the installed-resource discovery foundation inspecfact-cliand remains the owner of payload discovery mechanicsspecfact-cli-modules/packaging-01-bundle-resource-payloads(nold-ai/specfact-cli-modules#101) must provide the bundle-owned prompt/template payloads that this change selects and exportsmodule-migration-11-project-codebase-ownership-realignmentprovides command-surface alignment context so exported prompts do not preserve obsolete grouped command ownershipspecfact module initandspecfact module installcommands inspecfact-cliremain the install/bootstrap path for user/project module roots;init ideextends only the post-install discovery/export pathOpenSpec
init-ide-prompt-source-selectionopenspec/changes/init-ide-prompt-source-selection/