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:
@@ -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(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user