feat(tui): add onboarding tutorial with :tutorial command and first‑run UI

- Introduce `show_onboarding` UI setting (default true) and persist its state after first launch.
- Show onboarding status line and system status on initial run; fallback to normal status thereafter.
- Implement `show_tutorial` method displaying keybinding tips and system status.
- Register `:tutorial` command in command palette.
- Add migration documentation explaining `schema_version` update and deprecation of `agent.max_tool_calls`.
- Update README with description of the new tutorial command.
This commit is contained in:
2025-10-12 02:32:35 +02:00
parent d0d3079df5
commit 38aba1a6bb
4 changed files with 67 additions and 2 deletions

View File

@@ -625,6 +625,8 @@ pub struct UiSettings {
pub show_role_labels: bool,
#[serde(default = "UiSettings::default_wrap_column")]
pub wrap_column: u16,
#[serde(default = "UiSettings::default_show_onboarding")]
pub show_onboarding: bool,
}
impl UiSettings {
@@ -647,6 +649,10 @@ impl UiSettings {
fn default_wrap_column() -> u16 {
100
}
const fn default_show_onboarding() -> bool {
true
}
}
impl Default for UiSettings {
@@ -657,6 +663,7 @@ impl Default for UiSettings {
max_history_lines: Self::default_max_history_lines(),
show_role_labels: Self::default_show_role_labels(),
wrap_column: Self::default_wrap_column(),
show_onboarding: Self::default_show_onboarding(),
}
}
}