Skip to content
This repository was archived by the owner on Aug 11, 2026. It is now read-only.

Commit c625e16

Browse files
committed
widen homepage to 1100px with hero/code split layout
Hero section now uses a two-column grid: - Left: brainfile wordmark, headline, subline, CTA links - Right: CodeShowcase tabs (Board → Task → Contract → Validation) Below the fold stays single-column at the wider 1100px max-width. Stacks vertically on mobile (<640px).
1 parent 5e8ca53 commit c625e16

1 file changed

Lines changed: 33 additions & 27 deletions

File tree

docs/.vitepress/theme/HomeLayout.vue

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,21 @@ onUnmounted(() => {
5757
</nav>
5858

5959
<main class="home-content">
60-
<!-- Section 1: Opening (with dot grid background) -->
61-
<section class="opening fade-section">
60+
<!-- Section 1: Hero split — text left, code right -->
61+
<section class="hero-split fade-section">
6262
<div class="dot-grid-bg"></div>
63-
<h1 class="wordmark">brainfile</h1>
64-
<p class="headline">An open protocol for agent-to-agent task coordination.</p>
65-
<p class="subline">Human-in-the-loop compatible. File-system native. MIT licensed.</p>
66-
<div class="opening-links">
67-
<a href="/reference/protocol" class="link-primary">Read the Specification <span class="arrow">&rarr;</span></a>
68-
<a href="/quick-start" class="link-secondary">Quick Start <span class="arrow">&rarr;</span></a>
63+
<div class="hero-left">
64+
<h1 class="wordmark">brainfile</h1>
65+
<p class="headline">An open protocol for agent-to-agent task coordination.</p>
66+
<p class="subline">Human-in-the-loop compatible. File-system native. MIT licensed.</p>
67+
<div class="opening-links">
68+
<a href="/reference/protocol" class="link-primary">Read the Specification <span class="arrow">&rarr;</span></a>
69+
<a href="/quick-start" class="link-secondary">Quick Start <span class="arrow">&rarr;</span></a>
70+
</div>
71+
</div>
72+
<div class="hero-right">
73+
<CodeShowcase />
6974
</div>
70-
</section>
71-
72-
<!-- Section 2: The Protocol -->
73-
<section class="protocol-hero fade-section">
74-
<span class="section-label">A contract is a file.</span>
75-
<CodeShowcase />
7675
</section>
7776

7877
<!-- Section 2b: Contract Lifecycle -->
@@ -159,7 +158,7 @@ onUnmounted(() => {
159158
display: flex;
160159
align-items: center;
161160
justify-content: space-between;
162-
max-width: 800px;
161+
max-width: 1100px;
163162
margin: 0 auto;
164163
padding: 2rem 1.5rem 0;
165164
}
@@ -191,16 +190,28 @@ onUnmounted(() => {
191190
192191
/* ---- Content container ---- */
193192
.home-content {
194-
max-width: 800px;
193+
max-width: 1100px;
195194
margin: 0 auto;
196195
padding: 0 1.5rem;
197196
}
198197
199-
/* ---- Section 1: Opening (with dot grid) ---- */
200-
.opening {
198+
/* ---- Section 1: Hero split ---- */
199+
.hero-split {
200+
position: relative;
201+
display: grid;
202+
grid-template-columns: 1fr 1fr;
203+
gap: 3rem;
204+
align-items: center;
205+
padding-top: 8rem;
206+
padding-bottom: 6rem;
207+
}
208+
209+
.hero-left {
210+
position: relative;
211+
}
212+
213+
.hero-right {
201214
position: relative;
202-
padding-top: 10rem;
203-
padding-bottom: 8rem;
204215
}
205216
206217
.dot-grid-bg {
@@ -284,11 +295,6 @@ onUnmounted(() => {
284295
transform: translateX(3px);
285296
}
286297
287-
/* ---- Section 2: Protocol hero ---- */
288-
.protocol-hero {
289-
padding-bottom: 8rem;
290-
}
291-
292298
.section-label {
293299
display: block;
294300
font-family: 'JetBrains Mono', monospace;
@@ -839,7 +845,8 @@ onUnmounted(() => {
839845
gap: 1rem;
840846
}
841847
842-
.opening {
848+
.hero-split {
849+
grid-template-columns: 1fr;
843850
padding-top: 6rem;
844851
padding-bottom: 5rem;
845852
}
@@ -860,7 +867,6 @@ onUnmounted(() => {
860867
grid-template-columns: 1fr;
861868
}
862869
863-
.protocol-hero,
864870
.lifecycle,
865871
.how-it-works,
866872
.architecture,

0 commit comments

Comments
 (0)