feat: add contextual help and stabilize repository layout
ForgeFlow quality gate / secret-scan (push) Failing after 28s
ForgeFlow quality gate / quality (push) Failing after 0s

This commit is contained in:
NuklearRabbit
2026-08-27 01:19:36 +02:00
parent d47c7b5e41
commit e882656e85
17 changed files with 660 additions and 82 deletions
+18 -2
View File
@@ -218,19 +218,35 @@ test("one-click troubleshooting excludes destructive or publishing Git actions",
);
});
test("premium repository workspace reserves separate rows for actions and release status", async () => {
test("premium repository workspace groups variable context above a stable tab row", async () => {
const renderer = await rendererSource();
const styles = await readFile(
new URL("../src/renderer/styles.css", import.meta.url),
"utf8",
);
assert.match(
styles,
/\.repo-workspace\s*\{[^}]*grid-template-rows:\s*auto auto auto 39px minmax\(0, 1fr\)/s,
/\.repo-workspace\s*\{[^}]*grid-template-rows:\s*auto auto 39px minmax\(0, 1fr\)/s,
);
assert.match(renderer, /<div class="repo-context">/);
assert.match(styles, /\.tabs\s*\{[^}]*overflow-x:\s*auto/s);
assert.match(styles, /\.tab\s*\{[^}]*white-space:\s*nowrap/s);
assert.match(styles, /prefers-reduced-motion/);
assert.match(styles, /ForgeFlow 0\.8 premium visual system/);
});
test("help center explains core workflows and supports contextual searchable guidance", async () => {
const renderer = await rendererSource();
assert.match(renderer, /function renderHelp\(\)/);
assert.match(renderer, /id: "workspace-sync"/);
assert.match(renderer, /id: "deployment-linking"/);
assert.match(renderer, /id: "deploy-keys"/);
assert.match(renderer, /id: "git-validator"/);
assert.match(renderer, /id="help-search"/);
assert.match(renderer, /data-action="open-context-help" data-topic="workspace-sync"/);
assert.match(renderer, /ui\.currentView === "help"/);
});
test("interactive project illustrations are semantic, responsive and motion-safe", async () => {
const renderer = await rendererSource();
const styles = await readFile(