F∆I Studio — desktop GUI for the F∆I hub
Find a file
flemming-it d0e15ca385
Some checks failed
Security / Security check (push) Failing after 2s
feat(studio): Settings dialog gets macOS-style sidebar categories
The Settings dialog was a single 800-line vertical scroll — Hub
endpoint, channels, System AI, MCP, n8n, registry credentials,
hub auth token, default scope, theme plugin, maintenance all
stacked. Stefan: 'inzwischen zu unübersichtlich als langes
feld, untergruppierungen wären toll, wie z.B. in den MacOS
Einstellungen'.

Splits the panel into six focused categories driven by a
left sidebar:

  - **General**: Hub endpoint (host/port/TLS), channels,
    default scope
  - **Appearance**: theme plugin picker (applies instantly)
  - **System AI**: operator-managed LLM endpoint for Studio
    helpers
  - **Integrations**: MCP servers + n8n endpoints
  - **Security**: registry credentials + hub auth token
  - **Maintenance**: reset / destructive ops

Sidebar uses macOS-style icon + label rows with a highlighted
selection pill. Content area is per-category, scrollable
within its own panel. The dialog widens from 520→820 px and
gains a fixed height (620 px) so the layout doesn't jump as
the operator switches categories.

Each panel opens with a title + one-sentence description so
the operator knows what they're looking at before scanning the
controls — same pattern Apple uses in System Settings.

Also adds the missing 'meta' dependency that FaiLog's
@visibleForTesting needed. Studio bumped to 0.63.0.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
2026-06-04 10:37:19 +02:00
.forgejo/workflows ci(security): add self-test harness (mirror of fai/platform) 2026-05-10 21:41:23 +02:00
.githooks ci(hooks): pre-commit security check (mirror of fai/platform) 2026-05-09 13:32:26 +02:00
assets/docs feat(studio): Welcome page Phase B — embedded doc reader (v0.38.0) 2026-05-09 00:24:31 +02:00
docs chore(security): externalise confidentiality term list 2026-05-25 21:06:17 +02:00
lib feat(studio): Settings dialog gets macOS-style sidebar categories 2026-06-04 10:37:19 +02:00
linux fix(studio): narrow default window to 1280x900 2026-06-01 16:06:50 +02:00
macos fix(studio): narrow default window to 1280x900 2026-06-01 16:06:50 +02:00
test test(studio): seven FaiLog cases + visibleForTesting path override 2026-06-04 02:43:06 +02:00
tools chore(security): externalise confidentiality term list 2026-05-25 21:06:17 +02:00
windows fix(studio): narrow default window to 1280x900 2026-06-01 16:06:50 +02:00
.gitignore feat: F∆I Studio MVP scaffold (Tier-2 desktop GUI) 2026-05-05 14:19:39 +02:00
.metadata feat: F∆I Studio MVP scaffold (Tier-2 desktop GUI) 2026-05-05 14:19:39 +02:00
.security-allow ci(hooks): pre-commit security check (mirror of fai/platform) 2026-05-09 13:32:26 +02:00
analysis_options.yaml feat: F∆I Studio MVP scaffold (Tier-2 desktop GUI) 2026-05-05 14:19:39 +02:00
l10n.yaml feat(studio): app-wide i18n via flutter_localizations (v0.24.0) 2026-05-08 01:19:32 +02:00
pubspec.lock feat(studio): Settings dialog gets macOS-style sidebar categories 2026-06-04 10:37:19 +02:00
pubspec.yaml feat(studio): Settings dialog gets macOS-style sidebar categories 2026-06-04 10:37:19 +02:00
README.md chore(studio): switch to fai_client_sdk (renamed from fai_dart_sdk) 2026-05-26 13:46:32 +02:00

F∆I Studio

Desktop GUI client for the F∆I Platform hub. Tier-2 generic platform client per docs/architecture/client.md. Connects to a local or remote fai serve over gRPC.

Status (2026-05-05): MVP scaffold. Three pages with mock data, no live gRPC connection yet. Validates the visual direction before the Dart SDK is wired in.

Pages (MVP scope)

  1. Modules — installed modules, capabilities, declared permissions. Click → manifest detail.
  2. Audit — live stream of hub events (when wired). Filter by event type and flow.
  3. Approvals — pending system.approval@^0 reviews with approve / reject buttons.

These three cover the platform's central properties: composition (modules), audit (events), human-in-the-loop (approvals).

Stack

  • Flutter 3.40+ (Desktop: macOS, Linux, Windows)
  • gRPC client via fai_client_sdk (sibling repo; pinned by relative path during development)
  • No external runtime dependencies; bundles its own Dart VM

Run locally

flutter run -d macos

Repo placement

Will be published as fai/studio on Forgejo (git.flemming.ws). The local directory fai_studio/ follows the established fai_platform/ layout convention.

Why "Studio" and not "Stage"

"Stage" collided too easily with "staging environment" in developer English. "Studio" is the established industry pattern for creator-tools (Visual Studio, Android Studio, RStudio) and matches the GUI's audience of module developers, operators, and power users. The rename was applied across all docs/ in the platform repo on 2026-05-05.