Skip to content

feat: startup_banner config, Theme migration in app.rs#3

Merged
jaikoo merged 1 commit intomainfrom
feat/tui-refactor
Apr 26, 2026
Merged

feat: startup_banner config, Theme migration in app.rs#3
jaikoo merged 1 commit intomainfrom
feat/tui-refactor

Conversation

@jaikoo
Copy link
Copy Markdown

@jaikoo jaikoo commented Apr 26, 2026

Summary

Three self-contained improvements on top of the merged TUI refactor (PR #2):

1. Config-pluggable startup banner

  • Added startup_banner: Option<String> field to RuntimeFeatureConfig in the runtime crate
  • Added parse_optional_startup_banner() parser reading startupBanner from settings.json
  • Added RuntimeConfig::startup_banner() accessor
  • run_repl() resolves banner style from config ("full" / "compact" / "none") when no explicit flag is passed

2. Theme migration in app.rs

  • full_banner() and compact_banner() now use Theme::DIM / Theme::RESET with named format args
  • Removes 14 hard-coded \x1b[2m / \x1b[0m sequences

3. Scaffolding for future complete_tool()

  • Added startup_banner: Option<BannerStyle> parameter to run_repl() signature
  • Existing call sites pass None (preserving current behavior)

Verification

  • cargo test -p rusty-claude-cli --bin claw — 230 passed
  • cargo test --workspace — 228 passed (2 pre-existing flaky init tests)
  • cargo check -p runtime — clean

…scaffolding

- Add startup_banner: Option<String> to RuntimeFeatureConfig in runtime crate
- Add parse_optional_startup_banner() parser for 'startupBanner' config key
- Add RuntimeConfig::startup_banner() accessor
- Wire BannerStyle::from_config() in run_repl() — reads settings.json
- Migrate full_banner() and compact_banner() to use Theme::DIM/Theme::RESET
- Add None arg to run_repl() call sites for new startup_banner parameter
- 230 tests pass, runtime crate compiles clean

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@jaikoo jaikoo merged commit 6b34b35 into main Apr 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants