feat(studio): guided-setup wizard (reuses chain init engine)

A Welcome 'Setup assistant' button opens a wizard that collects
scenario / intent / target (+ approval & data-local toggles), then calls
`chain init --answers` to preview the assembled plan and `--apply --force`
to write the config — reusing the Rust deterministic engine, no logic
duplicated. New SystemActions.chainInit; copyable errors via
showFaiProcessError; EN+DE l10n. analyze clean; smoke test + existing
welcome/sidebar tests pass.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-06-21 21:04:13 +02:00
parent 36a8252f67
commit c9fa068991
9 changed files with 509 additions and 0 deletions

View file

@ -8,6 +8,51 @@ import 'app_localizations.dart';
class AppLocalizationsDe extends AppLocalizations {
AppLocalizationsDe([String locale = 'de']) : super(locale);
@override
String get guidedSetupTitle => 'Setup-Assistent';
@override
String get guidedSetupIntro =>
'Beantworte drei Fragen — Ch∆In stellt passende Konfiguration, Modul-Set und Start-Flow zusammen.';
@override
String get guidedSetupScenario => 'Szenario';
@override
String get guidedSetupIntent => 'Aufgabe';
@override
String get guidedSetupTarget => 'Wo läuft es?';
@override
String get guidedSetupApproval =>
'Menschlichen Freigabe-Schritt vor dem KI-Schritt verlangen';
@override
String get guidedSetupDataLocal => 'Daten müssen lokal bleiben (air-gapped)';
@override
String get guidedSetupReviewHeading => 'Diesen Plan wird Ch∆In anwenden:';
@override
String get guidedSetupApply => 'Setup übernehmen';
@override
String get guidedSetupApplied =>
'Setup übernommen. Schließe mit den Schritten unten ab:';
@override
String get guidedSetupBack => 'Zurück';
@override
String get guidedSetupNext => 'Weiter';
@override
String get guidedSetupCancel => 'Abbrechen';
@override
String get guidedSetupClose => 'Schließen';
@override
String get appTitle => 'Ch∆In Studio';