Skip to content

ui(flows): consistent success headlines and file lists in init/install/setup/phase/docs #241

Description

@codeaholicguy

Scope

Mutating/flow commands: init, install, setup, phase, docs init-feature. They mostly use ui.* correctly, but have drift in result rendering.

Evidence

init completion:

AI DevKit project initialized successfully!   ← plain ui.text, no ✔/color
Next steps:
  • Review and customize templates in docs/ai/
  ...
  • Run `ai-devkit init` again to add more environments

docs init-feature:

✔ Created 3 feature doc(s) for my-feature.
docs/ai/requirements/2026-09-22-feature-my-feature.md
docs/ai/design/2026-09-22-feature-my-feature.md

setup: ui.summary (Setup Summary) + ui.table + Host Prerequisites + Next steps sections.

Problems

  1. init's final success line is plain text (ui.text("AI DevKit project initialized successfully!")) while phase, docs, and skill add's headline use ui.success — the biggest moment in the flow has the weakest styling. (Compounded by ui.success calls mid-flow like Created configuration file, so the ending is quieter than the steps.)
  2. docs init-feature file list is unstyled: plain relative paths, no indent, no dim, no -> prefix — reads as accidental output next to the ✔ line above it.
  3. Naive pluralization: 3 feature doc(s).
  4. setup mixes three section styles (ui.summary block, ui.table, bold-ish plain ui.text headers Host Prerequisites / Next steps) with inconsistent indenting between them.
  5. init next-steps bullets use with trailing \n embedded in the last ui.text string ("...environments\n") — manual spacing smuggled into content instead of a ui.breakline().
  6. No --dry-run-style preview anywhere: flows print what they did, not what they will do; not required now, but result rendering should at least be consistent so a future preview can mirror it.

Expectation

  • Every flow ends with a ui.success headline (✔ AI DevKit project initialized), steps above it dim/ℹ.
  • File lists as indented dim lines with a consistent prefix ( → docs/ai/...), matching whatever per-item convention skill adopts.
  • One section-header style for setup (bold ui.text + blank line), applied to all its sections.
  • Shared pluralization (3 feature docs).
  • No embedded \n in message strings; spacing via ui.breakline().

Files: packages/cli/src/commands/init.ts (~L236–300), packages/cli/src/commands/docs.ts (~L67–86), packages/cli/src/commands/setup.ts (~L38–68), packages/cli/src/commands/phase.ts (~L69–70)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions