Skip to content

Commit b08fc20

Browse files
style: align visual theme with Agent Governance Toolkit (#41)
* docs: full doc site upgrade — Getting Started, Integration, Platforms, schema Add 8 new documentation pages and overhaul mkdocs.yml: New pages: - docs/quickstart.md: 5-minute guide — keygen, emit, verify - docs/verification.md: five-step offline verification protocol with code examples for signature, key resolution, hardware chain - docs/schema.md: full field reference for all TRACE v0.1 claims - docs/integration/agt.md: AGT integration — TraceConfig, key mgmt, Level 0 → Level 2 upgrade path - docs/integration/cmcp.md: cMCP integration — architecture, Cedar policy example, MCP agent connection, platform matrix - docs/platforms/amd-sev-snp.md: AMD SEV-SNP fields, verification, cloud instance table, on-premises support - docs/platforms/intel-tdx.md: Intel TDX fields, PCCS verification - docs/platforms/nvidia-h100.md: NVIDIA H100 CC, combined CPU+GPU attestation, GTC Berlin reference mkdocs.yml: - Expand nav: Getting Started / Integration / Platforms top-level tabs - Add navigation.footer, navigation.expand, content.code.annotate, content.tooltips, search.share, navigation.instant.progress - Add social links: PyPI, Discord, GitHub - Add copyright, feedback ratings, version provider (mike) - Set site_url to https://agentrust.io/trace (target domain) - Remove examples/ from exclude_docs - Add pymdownx.tasklist, pymdownx.keys, footnotes extensions - custom_dir: docs/overrides for theme customisation workflow: add concurrency group, pages/id-token permissions, git config step, CNAME path trigger CNAME: agentrust.io (custom domain for GitHub Pages) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(docs): fix docs_dir build error + improve workflow The original docs_dir: . caused a hard error in mkdocs >=1.6: 'docs_dir should not be the parent directory of the config file' Fix: workflow now assembles a .docs_build/ directory with the correct layout before invoking mkdocs, then generates a build-time config that overrides docs_dir. All nav paths are preserved unchanged. Also: - Add pre-build Python assembly step to workflow - Add concurrency group to prevent parallel deploys - Add git config step - Remove empty custom_dir from mkdocs.yml theme (would cause error) - Keep docs_dir: . in source config (the workflow overrides it) - Add social links, footer nav, better features to mkdocs.yml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(docs): use yaml.full_load to handle !!python/name tags in mkdocs.yml yaml.safe_load rejects the Python-specific YAML tags used by mkdocs-material (e.g. !!python/name:material.extensions.emoji.twemoji). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(docs): use sed for docs_dir override, avoid !!python/name yaml issue yaml.full_load also fails (tries to import material.extensions.emoji at parse time). Replace Python-based config generation with a simple sed substitution and a shell-based file copy assembly step. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * style: align visual theme with Agent Governance Toolkit - Primary color → #8251EE (AGT NextGen Purple) across light + dark - Add teal→purple→violet gradient accent strip to header top edge - Switch to GitHub Primer system font stack (font: false disables Roboto) - Dark mode bg → #0d1117 (GitHub-neutral, matching AGT slate scheme) - Update icon.svg gradient: teal→#8251EE→#C661F7 (teal→purple→violet) - Add Primer-style h2 border-bottom, semibold headings - Header: plain canvas + border-bottom (no gradient bg), same as AGT - Tables, admonitions, code blocks: Primer border-radius + border style Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 0cca37f commit b08fc20

4 files changed

Lines changed: 328 additions & 23 deletions

File tree

‎.github/workflows/docs.yml‎

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ concurrency:
2626
group: docs-deploy
2727
cancel-in-progress: false
2828

29+
concurrency:
30+
group: docs-deploy
31+
cancel-in-progress: false
32+
2933
jobs:
3034
deploy:
3135
name: Build and deploy docs
@@ -51,5 +55,30 @@ jobs:
5155
git config user.name "github-actions[bot]"
5256
git config user.email "github-actions[bot]@users.noreply.github.com"
5357
58+
- name: Assemble docs build directory
59+
run: |
60+
BUILD=.docs_build
61+
mkdir -p $BUILD
62+
63+
# Copy docs/ subtree (preserves paths: docs/crosswalks/, docs/integration/, etc.)
64+
if [ -d docs ]; then cp -r docs $BUILD/docs; fi
65+
66+
# Copy spec/ and examples/
67+
if [ -d spec ]; then cp -r spec $BUILD/spec; fi
68+
if [ -d examples ]; then cp -r examples $BUILD/examples; fi
69+
70+
# Root-level files referenced in nav
71+
for fname in README.md CHANGELOG.md CONTRIBUTING.md GOVERNANCE.md ROADMAP.md LIMITATIONS.md CNAME; do
72+
if [ -f "$fname" ]; then cp "$fname" "$BUILD/$fname"; fi
73+
done
74+
75+
echo "Build dir contains $(find $BUILD -type f | wc -l) files"
76+
77+
- name: Generate build config
78+
run: |
79+
# Avoid yaml.safe_load / !!python/name: tag issues — just text-substitute docs_dir
80+
sed 's|^docs_dir: \.$|docs_dir: .docs_build|' mkdocs.yml > .mkdocs_build.yml
81+
echo "Build config written to .mkdocs_build.yml"
82+
5483
- name: Build and deploy to GitHub Pages
55-
run: mkdocs gh-deploy --force --clean --verbose
84+
run: mkdocs gh-deploy --force --clean --config-file .mkdocs_build.yml

‎docs/assets/icon.svg‎

Lines changed: 5 additions & 3 deletions
Loading

‎docs/stylesheets/extra.css‎

Lines changed: 290 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,301 @@
1-
:root {
2-
--md-primary-fg-color: #7c3aed;
3-
--md-primary-fg-color--light: #a78bfa;
4-
--md-primary-fg-color--dark: #5b21b6;
5-
--md-accent-fg-color: #0ea5e9;
1+
/*
2+
* TRACE spec — visual theme aligned with Agent Governance Toolkit (AGT)
3+
* Primary brand: NextGen Purple (#8251EE), accent strip: teal→purple→violet
4+
* Font stack: GitHub Primer system fonts (no Google Fonts)
5+
*/
6+
7+
/* ==========================================================================
8+
1. Color tokens
9+
========================================================================== */
10+
11+
:root,
12+
[data-md-color-scheme="default"] {
13+
--md-primary-fg-color: #8251EE;
14+
--md-primary-fg-color--light: #9B7AF2;
15+
--md-primary-fg-color--dark: #6A3FD9;
16+
--md-accent-fg-color: #8251EE;
17+
--md-accent-fg-color--transparent: rgba(130, 81, 238, 0.10);
18+
--md-typeset-a-color: #8251EE;
19+
20+
--md-default-bg-color: #ffffff;
21+
--md-default-bg-color--light: #f6f8fa;
22+
23+
--trace-text: #1f2328;
24+
--trace-text-muted: #59636e;
25+
--trace-border: #d1d9e0;
26+
--trace-surface: #f6f8fa;
27+
--trace-code-bg: #f6f8fa;
628
}
729

830
[data-md-color-scheme="slate"] {
9-
--md-primary-fg-color: #818cf8;
10-
--md-primary-fg-color--light: #a5b4fc;
11-
--md-primary-fg-color--dark: #6366f1;
12-
--md-accent-fg-color: #38bdf8;
13-
--md-default-bg-color: #0f0a1e;
14-
--md-default-bg-color--light: #1a1033;
15-
--md-code-bg-color: #1e1533;
31+
--md-primary-fg-color: #9B7AF2;
32+
--md-primary-fg-color--light: #C661F7;
33+
--md-primary-fg-color--dark: #8251EE;
34+
--md-accent-fg-color: #5BD2BE;
35+
--md-accent-fg-color--transparent: rgba(91, 210, 190, 0.15);
36+
--md-typeset-a-color: #9B7AF2;
37+
38+
--md-default-bg-color: #0d1117;
39+
--md-default-bg-color--light: #151b23;
40+
--md-code-bg-color: #151b23;
41+
42+
--trace-text: #f0f6fc;
43+
--trace-text-muted: #9198a1;
44+
--trace-border: #3d444d;
45+
--trace-surface: #151b23;
46+
--trace-code-bg: #151b23;
47+
}
48+
49+
50+
/* ==========================================================================
51+
2. Typography — GitHub Primer system font stack
52+
========================================================================== */
53+
54+
:root {
55+
--trace-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
56+
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
57+
--trace-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
58+
"Liberation Mono", monospace;
59+
}
60+
61+
body,
62+
.md-typeset,
63+
.md-header,
64+
.md-tabs,
65+
.md-nav,
66+
.md-footer {
67+
font-family: var(--trace-font-sans);
68+
}
69+
70+
.md-typeset code,
71+
.md-typeset pre,
72+
.md-typeset kbd,
73+
.md-code__content,
74+
.highlight pre {
75+
font-family: var(--trace-font-mono);
76+
}
77+
78+
.md-typeset {
79+
font-size: 16px;
80+
line-height: 1.5;
81+
color: var(--trace-text);
82+
}
83+
84+
.md-typeset h1 {
85+
font-weight: 600;
86+
letter-spacing: -0.015em;
87+
line-height: 1.25;
88+
color: var(--trace-text);
89+
}
90+
91+
[data-md-color-scheme="slate"] .md-typeset h1 {
92+
color: #ffffff;
1693
}
1794

95+
.md-typeset h2 {
96+
font-weight: 600;
97+
letter-spacing: -0.01em;
98+
line-height: 1.25;
99+
border-bottom: 1px solid var(--trace-border);
100+
padding-bottom: 0.4rem;
101+
margin-top: 2rem;
102+
}
103+
104+
.md-typeset h3 {
105+
font-weight: 600;
106+
line-height: 1.25;
107+
margin-top: 1.5rem;
108+
}
109+
110+
111+
/* ==========================================================================
112+
3. Header — plain canvas + 2px gradient accent strip (teal→purple→violet)
113+
========================================================================== */
114+
18115
.md-header {
19-
background: linear-gradient(135deg, #0d0a1f 0%, #071828 100%);
116+
background-color: var(--md-default-bg-color);
117+
color: var(--trace-text);
118+
border-bottom: 1px solid var(--trace-border);
119+
box-shadow: none;
120+
position: sticky;
121+
top: 0;
122+
z-index: 4;
123+
}
124+
125+
[data-md-color-scheme="slate"] .md-header {
126+
background-color: var(--md-default-bg-color);
127+
color: var(--trace-text);
128+
}
129+
130+
/* Teal → Purple → Violet — same family as AGT's accent strip */
131+
.md-header::before {
132+
content: "";
133+
position: absolute;
134+
top: 0;
135+
left: 0;
136+
right: 0;
137+
height: 2px;
138+
background: linear-gradient(90deg, #5BD2BE 0%, #8251EE 50%, #C661F7 100%);
139+
z-index: 1;
140+
}
141+
142+
.md-tabs {
143+
background-color: var(--md-default-bg-color);
144+
color: var(--trace-text);
145+
border-bottom: 1px solid var(--trace-border);
146+
box-shadow: none;
147+
position: sticky;
148+
top: 65px;
149+
z-index: 3;
150+
}
151+
152+
[data-md-color-scheme="slate"] .md-tabs {
153+
background-color: var(--md-default-bg-color);
154+
color: var(--trace-text);
155+
}
156+
157+
.md-header__title,
158+
.md-header__topic,
159+
.md-header__button,
160+
.md-header__option {
161+
color: var(--trace-text);
162+
}
163+
164+
.md-search__input {
165+
background-color: var(--trace-surface);
166+
color: var(--trace-text);
167+
}
168+
169+
.md-search__input::placeholder {
170+
color: var(--trace-text-muted);
171+
}
172+
173+
174+
/* ==========================================================================
175+
4. Navigation
176+
========================================================================== */
177+
178+
.md-nav__title {
179+
font-weight: 600;
180+
font-size: 0.75rem;
181+
text-transform: uppercase;
182+
letter-spacing: 0.05em;
183+
color: var(--trace-text-muted);
184+
}
185+
186+
.md-nav__link--active {
187+
font-weight: 600;
188+
color: var(--md-primary-fg-color) !important;
189+
}
190+
191+
.md-tabs__link--active {
192+
font-weight: 600;
193+
color: var(--md-primary-fg-color) !important;
194+
}
195+
196+
197+
/* ==========================================================================
198+
5. Code blocks
199+
========================================================================== */
200+
201+
.md-typeset pre > code,
202+
.md-typeset .highlight pre {
203+
background-color: var(--trace-code-bg);
204+
border: 1px solid var(--trace-border);
205+
border-radius: 6px;
20206
}
21207

208+
.md-typeset code:not(pre code) {
209+
background-color: var(--trace-code-bg);
210+
border: 1px solid var(--trace-border);
211+
border-radius: 4px;
212+
padding: 0.1em 0.35em;
213+
color: var(--md-primary-fg-color);
214+
}
215+
216+
217+
/* ==========================================================================
218+
6. Tables — GitHub Primer style
219+
========================================================================== */
220+
221+
.md-typeset table:not([class]) {
222+
border-collapse: collapse;
223+
width: 100%;
224+
border: 1px solid var(--trace-border);
225+
border-radius: 6px;
226+
overflow: hidden;
227+
}
228+
229+
.md-typeset table:not([class]) th {
230+
background-color: var(--trace-surface);
231+
font-weight: 600;
232+
font-size: 0.85rem;
233+
color: var(--trace-text);
234+
border-bottom: 1px solid var(--trace-border);
235+
padding: 0.5rem 0.75rem;
236+
}
237+
238+
.md-typeset table:not([class]) td {
239+
border-bottom: 1px solid var(--trace-border);
240+
padding: 0.5rem 0.75rem;
241+
vertical-align: top;
242+
}
243+
244+
.md-typeset table:not([class]) tr:last-child td {
245+
border-bottom: none;
246+
}
247+
248+
249+
/* ==========================================================================
250+
7. Admonitions
251+
========================================================================== */
252+
253+
.md-typeset .admonition,
254+
.md-typeset details {
255+
border-radius: 6px;
256+
border: 1px solid var(--trace-border);
257+
}
258+
259+
.md-typeset .admonition.note,
260+
.md-typeset details.note {
261+
border-color: var(--md-primary-fg-color);
262+
}
263+
264+
.md-typeset .admonition.warning,
265+
.md-typeset details.warning {
266+
border-color: #d29922;
267+
}
268+
269+
.md-typeset .admonition.danger,
270+
.md-typeset details.danger {
271+
border-color: #da3633;
272+
}
273+
274+
.md-typeset .admonition.tip,
275+
.md-typeset details.tip {
276+
border-color: #5BD2BE;
277+
}
278+
279+
280+
/* ==========================================================================
281+
8. Footer
282+
========================================================================== */
283+
284+
.md-footer {
285+
background-color: var(--trace-surface);
286+
border-top: 1px solid var(--trace-border);
287+
color: var(--trace-text-muted);
288+
}
289+
290+
.md-footer-meta {
291+
background-color: var(--trace-surface);
292+
}
293+
294+
295+
/* ==========================================================================
296+
9. Hero section
297+
========================================================================== */
298+
22299
.md-hero__inner {
23300
padding-top: 2rem;
24301
}

0 commit comments

Comments
 (0)