Summary
The current fedify init implementation does not match the documented interactive flow and CLI options. This is visible in the npm distribution, but the underlying problem is that the implementation and documentation have diverged.
Steps to reproduce
- Run
npx -y @fedify/cli@2.0.5 init --help
- Compare the displayed options with the documentation at
docs/cli.md
- Run
npx -y @fedify/cli@2.0.5 init and observe the prompt order
Actual behavior
The current implementation:
- does not expose
-r/--runtime
- always goes through a web framework selection step
- does not provide a bare-bones/no-framework path
- prompts in the order
dir -> web framework -> package manager -> message queue -> key-value store
Expected behavior
Either:
- the implementation should match the documented flow and options
or:
- the documentation should be updated to match the implementation
At the moment they describe different products.
Evidence
The code in packages/init/src/command.ts defines only --web-framework, --package-manager, --kv-store, and --message-queue.
The code in packages/init/src/ask/mod.ts runs prompts in this order: fillDir, fillWebFramework, fillPackageManager, fillMessageQueue, fillKvStore.
However, docs/cli.md still documents:
-r/--runtime
- runtime-first flow
- optional web framework integration
fresh as a web framework option
Root cause
This appears to be a documentation/UX contract drift after the init functionality was moved into @fedify/init and the prompt model was simplified around package managers rather than an explicit runtime abstraction.
Suggested fix
Choose one source of truth and align the other side to it:
- If the current implementation is intended, update
docs/cli.md and related docs to remove --runtime, remove bare-bones wording, and document the actual prompt order and available frameworks
- If the documentation reflects the intended UX, restore a runtime abstraction in the CLI and reintroduce the documented no-framework flow
Notes
This issue is intentionally scoped to the prompt flow and CLI/documentation contract mismatch. The JSR/Deno crash reported in #623 should be tracked separately.
Summary
The current
fedify initimplementation does not match the documented interactive flow and CLI options. This is visible in the npm distribution, but the underlying problem is that the implementation and documentation have diverged.Steps to reproduce
npx -y @fedify/cli@2.0.5 init --helpdocs/cli.mdnpx -y @fedify/cli@2.0.5 initand observe the prompt orderActual behavior
The current implementation:
-r/--runtimedir -> web framework -> package manager -> message queue -> key-value storeExpected behavior
Either:
or:
At the moment they describe different products.
Evidence
The code in
packages/init/src/command.tsdefines only--web-framework,--package-manager,--kv-store, and--message-queue.The code in
packages/init/src/ask/mod.tsruns prompts in this order:fillDir,fillWebFramework,fillPackageManager,fillMessageQueue,fillKvStore.However,
docs/cli.mdstill documents:-r/--runtimefreshas a web framework optionRoot cause
This appears to be a documentation/UX contract drift after the
initfunctionality was moved into@fedify/initand the prompt model was simplified around package managers rather than an explicit runtime abstraction.Suggested fix
Choose one source of truth and align the other side to it:
docs/cli.mdand related docs to remove--runtime, remove bare-bones wording, and document the actual prompt order and available frameworksNotes
This issue is intentionally scoped to the prompt flow and CLI/documentation contract mismatch. The JSR/Deno crash reported in #623 should be tracked separately.