From aa4d36c541e603ed4d60ee1185806c51818eccc9 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 20 Oct 2026 12:13:01 +0200 Subject: UI guidelines in AGENTS.md; README for the new frame Co-Authored-By: Claude Opus 5.5 --- AGENTS.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'AGENTS.md') diff --git a/AGENTS.md b/AGENTS.md index 9a8918c..f55d952 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -44,6 +44,27 @@ Design and phasing: `docs/superpowers/specs/`. Phase 1 (core) is that tool's own repo (e.g. `slackrepo_setup` for sbshadow) rather than working around it here. +## UI guidelines + +Every tab follows these (design: `docs/superpowers/specs/2026-10-20-sb-builder-ui-design.md`). + +1. Tabs are permanent and load their data lazily on first show (`loaded`, + `reload()`); the ribbon never opens or closes tabs. +2. Main ribbon: the tab's actions (`tab.actions`) in workflow order. Small + ribbon: view controls (`tab.view_actions`). Build them with + `sb_builder/ui.py` `action()`. Nothing actionable lives inside a view + except navigation links. +3. Change actions act on ticked rows, view actions on the highlighted row. A + row click toggles its tick; Ctrl+A / Ctrl+Shift+A select visible / clear. +4. An inapplicable action is disabled with `ui.enable(action, reason)`, the + reason in its tooltip; never hidden. +5. When a job this session started ends, its next step opens as a non-modal + dialog where the user is (`MainWindow.mine`, `NextStep`, + `HintResultDialog`); starting a job never switches tab; the Jobs tab shows + activity; a dismissed step can be taken again from the ribbon. +6. A modal confirm only for destructive or outward steps (delete hint, + publish, apply shadowing). + ## Conventions - GUI config: `$XDG_CONFIG_HOME/sb-builder/config.toml`. Helper config: -- cgit v1.2.3