diff --git a/.gitignore b/.gitignore index 53cc5eb..b0ae8b9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ node_modules/ *.png !website/public/logo.png !website/public/icon.png +!docs/workflow-diagram.png .playwright-mcp/ *:Zone.Identifier website/public/CONTRIBUTING.html diff --git a/docs/spec-driven-workflow.de.html b/docs/spec-driven-workflow.de.html index 6fad4bb..0f7da0d 100644 --- a/docs/spec-driven-workflow.de.html +++ b/docs/spec-driven-workflow.de.html @@ -598,6 +598,11 @@

Das Grundprinzip: Klei

Workflow-Übersicht

+
+
+Workflow-Übersicht +
+
@@ -664,7 +669,7 @@

Voraussetzungen

AGENTS.md als Projektgedächtnis

-

AGENTS.md ist ein offener Standard zur Steuerung von KI-Coding-Agenten. +

AGENTS.md ist ein offener Standard zur Steuerung von KI-Coding-Agenten. Die Datei liegt im Repository-Root und wird automatisch zu Beginn jeder Session gelesen. Sie dient als Projektgedächtnis: Coding-Konventionen, Architekturentscheidungen, Dateistruktur und Verweise auf wichtige Dokumente.

diff --git a/docs/spec-driven-workflow.html b/docs/spec-driven-workflow.html index eee7394..44c8f97 100644 --- a/docs/spec-driven-workflow.html +++ b/docs/spec-driven-workflow.html @@ -598,6 +598,11 @@

The Key Principle: Small S

Workflow Overview

+
+
+Workflow Overview +
+
@@ -663,7 +668,7 @@

Prerequisites

AGENTS.md as Project Memory

-

AGENTS.md is an open standard for guiding AI coding agents. +

AGENTS.md is an open standard for guiding AI coding agents. The file lives in your repository root and is read automatically at the start of every session. It serves as the project memory: coding conventions, architectural decisions, file structure, and pointers to important documents.

diff --git a/docs/workflow-diagram.png b/docs/workflow-diagram.png new file mode 100644 index 0000000..db2cfe3 Binary files /dev/null and b/docs/workflow-diagram.png differ diff --git a/scripts/render-docs.js b/scripts/render-docs.js index 4a908d3..bea5c83 100644 --- a/scripts/render-docs.js +++ b/scripts/render-docs.js @@ -100,6 +100,8 @@ function copyHtmlDoc(srcPath, destPath) { '#/anchor/' ) html = html.replace(/https:\/\/llm-coding\.github\.io\/Semantic-Anchors\//g, '#/') + // Fix relative image paths for SPA context (content is injected at root level) + html = html.replace(/src="([^"/][^"]*\.(png|jpg|svg|gif))"/g, 'src="docs/$1"') fs.writeFileSync(destPath, html, 'utf-8') console.log(`Copied: ${path.relative(ROOT, destPath)}`) } catch (err) { @@ -116,3 +118,10 @@ copyHtmlDoc( path.join(ROOT, 'docs/spec-driven-workflow.de.html'), path.join(WEB_DOCS, 'spec-driven-workflow.de.html') ) + +// Copy assets referenced by workflow docs +const workflowDiagram = path.join(ROOT, 'docs/workflow-diagram.png') +if (fs.existsSync(workflowDiagram)) { + fs.copyFileSync(workflowDiagram, path.join(WEB_DOCS, 'workflow-diagram.png')) + console.log(`Copied: ${path.relative(ROOT, path.join(WEB_DOCS, 'workflow-diagram.png'))}`) +} diff --git a/website/index.html b/website/index.html index afba4a7..5ee6c55 100644 --- a/website/index.html +++ b/website/index.html @@ -13,6 +13,9 @@ + + + diff --git a/website/src/styles/asciidoctor-scoped.css b/website/src/styles/asciidoctor-scoped.css index e012d71..4d95a14 100644 --- a/website/src/styles/asciidoctor-scoped.css +++ b/website/src/styles/asciidoctor-scoped.css @@ -189,9 +189,81 @@ & .admonitionblock { margin: 1.25rem 0; - padding: 1rem; border-left: 4px solid; background: #f5f5f5; + border-radius: 0.25rem; + } + + & .admonitionblock > table { + border-collapse: separate; + border: 0; + background: none; + width: 100%; + margin: 0; + } + + & .admonitionblock > table td { + border: 0; + } + + & .admonitionblock > table td.icon { + text-align: center; + width: 80px; + vertical-align: middle; + } + + & .admonitionblock > table td.icon i { + font-size: 2.5em; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + cursor: default; + } + + & .admonitionblock > table td.icon .icon-note::before { + content: '\f05a'; + font-family: FontAwesome; + color: #19407c; + } + + & .admonitionblock > table td.icon .icon-tip::before { + content: '\f0eb'; + font-family: FontAwesome; + text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); + color: #111; + } + + & .admonitionblock > table td.icon .icon-warning::before { + content: '\f071'; + font-family: FontAwesome; + color: #bf6900; + } + + & .admonitionblock > table td.icon .icon-caution::before { + content: '\f06d'; + font-family: FontAwesome; + color: #bf3400; + } + + & .admonitionblock > table td.icon .icon-important::before { + content: '\f06a'; + font-family: FontAwesome; + color: #bf0000; + } + + & .admonitionblock > table td.icon .title { + font-weight: bold; + font-family: 'Open Sans', 'DejaVu Sans', sans-serif; + text-transform: uppercase; + } + + & .admonitionblock > table td.content { + padding: 1rem 1.25rem; + border-left: 1px solid #dddddf; + color: rgba(0, 0, 0, 0.6); + word-wrap: anywhere; + } + + & .admonitionblock > table td.content > :last-child > :last-child { + margin-bottom: 0; } & .admonitionblock.note {