Skip to content

fedify init prompt flow and documented CLI options are out of sync #625

@dahlia

Description

@dahlia

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

  1. Run npx -y @fedify/cli@2.0.5 init --help
  2. Compare the displayed options with the documentation at docs/cli.md
  3. 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.

Metadata

Metadata

Assignees

Labels

breaking changeRequires backward-incompatible changecomponent/buildBuild system and packagingcomponent/cliCLI tools relatedtype/bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions