Skip to content

Commit 6f57baa

Browse files
Chris Crawfordclaude
andcommitted
feat: redesign docs landing page with improved messaging and branding
Overhaul the docs index with stronger GitMem positioning, expanded feature cards, brand-consistent styling, and production-ready asset paths. - Rewrite "What is GitMem?" copy to emphasize compounding memory from human-agent interaction (wins, scars, decisions, corrections) - Add nav logo (logo.svg) with dark mode invert - Update banner.svg logo fill to white for dark background - Add 2 new feature cards (Decisions, Knowledge Graph) for 6 total - Add red accent left-border + hover effects on cards - Add light-red hover state on secondary CTAs matching nav accent - Neutralize install block from pink to gray - Hide DocsTitle/DocsDescription on index page for custom hero layout - Fix asset paths for production (/docs/ prefix) and update deploy workflow - Rename "Home" nav link to "Website" Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 247f45f commit 6f57baa

7 files changed

Lines changed: 100 additions & 44 deletions

File tree

.github/workflows/deploy-docs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ jobs:
5252
cp apps/docs/out/llms-full.txt _landing/llms-full.txt
5353
# Copy static assets that live at site root in the Next.js build
5454
[ -f apps/docs/out/banner.svg ] && cp apps/docs/out/banner.svg _landing/docs/banner.svg
55+
[ -f apps/docs/out/logo.svg ] && cp apps/docs/out/logo.svg _landing/docs/logo.svg
5556
5657
- name: Push to landing repo
5758
run: |

apps/docs/app/docs/[[...slug]]/page.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ export default async function Page(props: PageProps) {
1919
if (!page) notFound();
2020

2121
const MDX = page.data.body;
22+
const isIndex = !params.slug || params.slug.length === 0;
2223

2324
return (
2425
<DocsPage toc={page.data.toc}>
25-
<DocsTitle>{page.data.title}</DocsTitle>
26-
<DocsDescription>{page.data.description}</DocsDescription>
26+
{!isIndex && <DocsTitle>{page.data.title}</DocsTitle>}
27+
{!isIndex && <DocsDescription>{page.data.description}</DocsDescription>}
2728
<DocsBody>
2829
<MDX components={{ ...defaultMdxComponents }} />
2930
</DocsBody>

apps/docs/app/global.css

Lines changed: 66 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,35 @@
2525
background-repeat: no-repeat;
2626
}
2727

28+
29+
/* Reduce gap between sidebar and content */
30+
@theme {
31+
--fd-page-width: 1400px;
32+
}
33+
34+
/* Nav logo: invert black to white in dark mode */
35+
.dark .nav-logo {
36+
filter: invert(1) !important;
37+
}
38+
2839
/* Banner image on docs landing */
2940
.gitmem-banner {
30-
margin: 0 auto 1.5rem;
41+
margin: 0 auto 0;
3142
max-width: 48rem;
32-
border-radius: 0.75rem;
3343
overflow: hidden;
34-
border: 1px solid hsl(0, 0%, 85%);
3544
}
3645

37-
.dark .gitmem-banner {
38-
border-color: hsl(0, 0%, 20%);
46+
/* Screen-reader only h1 for SEO */
47+
.sr-only {
48+
position: absolute;
49+
width: 1px;
50+
height: 1px;
51+
padding: 0;
52+
margin: -1px;
53+
overflow: hidden;
54+
clip: rect(0, 0, 0, 0);
55+
white-space: nowrap;
56+
border-width: 0;
3957
}
4058

4159
.gitmem-banner img {
@@ -47,7 +65,7 @@
4765
/* Hero section styles for docs landing */
4866
.gitmem-hero {
4967
text-align: center;
50-
padding: 2rem 0 3rem;
68+
padding: 0 0 0.5rem;
5169
}
5270

5371
.gitmem-hero h1 {
@@ -68,7 +86,7 @@
6886
display: flex;
6987
gap: 0.75rem;
7088
justify-content: center;
71-
margin-top: 1.5rem;
89+
margin-top: 0.75rem;
7290
flex-wrap: wrap;
7391
}
7492

@@ -83,22 +101,27 @@
83101
text-decoration: none;
84102
}
85103

104+
.gitmem-hero .hero-cta .github-icon {
105+
margin-right: 0.375rem;
106+
vertical-align: -0.125em;
107+
}
108+
86109
.gitmem-hero .hero-cta a.primary {
87-
background: hsl(358, 84%, 42%);
110+
background: hsl(0, 0%, 15%);
88111
color: white;
89112
}
90113

91114
.gitmem-hero .hero-cta a.primary:hover {
92-
background: hsl(358, 84%, 36%);
115+
background: hsl(0, 0%, 25%);
93116
}
94117

95118
.dark .gitmem-hero .hero-cta a.primary {
96-
background: hsl(358, 84%, 52%);
97-
color: white;
119+
background: hsl(0, 0%, 95%);
120+
color: hsl(0, 0%, 10%);
98121
}
99122

100123
.dark .gitmem-hero .hero-cta a.primary:hover {
101-
background: hsl(358, 84%, 58%);
124+
background: hsl(0, 0%, 100%);
102125
}
103126

104127
.gitmem-hero .hero-cta a.secondary {
@@ -107,15 +130,19 @@
107130
}
108131

109132
.gitmem-hero .hero-cta a.secondary:hover {
110-
background: hsl(0, 0%, 96%);
133+
background: hsl(358, 84%, 97%);
134+
border-color: hsl(358, 84%, 80%);
135+
color: hsl(358, 84%, 38%);
111136
}
112137

113138
.dark .gitmem-hero .hero-cta a.secondary {
114139
border-color: hsl(0, 0%, 25%);
115140
}
116141

117142
.dark .gitmem-hero .hero-cta a.secondary:hover {
118-
background: hsl(0, 0%, 15%);
143+
background: hsla(358, 84%, 30%, 0.2);
144+
border-color: hsl(358, 84%, 45%);
145+
color: hsl(358, 84%, 72%);
119146
}
120147

121148
/* Memory loop diagram */
@@ -152,13 +179,13 @@
152179
margin: 1.5rem 0;
153180
padding: 1.5rem;
154181
border-radius: 0.75rem;
155-
border: 1px solid hsl(358, 84%, 85%);
156-
background: hsl(358, 84%, 98%);
182+
border: 1px solid hsl(0, 0%, 85%);
183+
background: hsl(0, 0%, 97%);
157184
}
158185

159186
.dark .install-block {
160-
border-color: hsla(358, 84%, 40%, 0.3);
161-
background: hsla(358, 84%, 15%, 0.15);
187+
border-color: hsl(0, 0%, 25%);
188+
background: hsl(0, 0%, 12%);
162189
}
163190

164191
/* Inline signup form */
@@ -244,3 +271,24 @@
244271
.dark .signup-inline .signup-ok {
245272
color: hsl(145, 50%, 55%);
246273
}
274+
275+
/* Make feature/explore cards pop */
276+
[data-card="true"] {
277+
border-left: 3px solid hsl(358, 84%, 65%) !important;
278+
transition: all 0.15s ease !important;
279+
}
280+
281+
[data-card="true"]:hover {
282+
border-left-color: hsl(358, 84%, 52%) !important;
283+
box-shadow: 0 2px 8px hsla(358, 84%, 40%, 0.12) !important;
284+
transform: translateY(-1px);
285+
}
286+
287+
.dark [data-card="true"] {
288+
border-left-color: hsl(358, 84%, 45%) !important;
289+
}
290+
291+
.dark [data-card="true"]:hover {
292+
border-left-color: hsl(358, 84%, 55%) !important;
293+
box-shadow: 0 2px 12px hsla(358, 84%, 30%, 0.25) !important;
294+
}

apps/docs/content/docs/index.mdx

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,27 @@ import { Cards, Card } from 'fumadocs-ui/components/card'
77
import { Callout } from 'fumadocs-ui/components/callout'
88
import { Steps, Step } from 'fumadocs-ui/components/steps'
99

10+
<h1 className="sr-only">GitMem — Institutional memory for AI coding agents</h1>
11+
1012
<div className="gitmem-banner">
1113
<img src="/docs/banner.svg" alt="GitMem — Institutional memory for AI coding agents" />
1214
</div>
1315

1416
<div className="gitmem-hero">
1517

16-
# GitMem
17-
18-
Institutional memory for AI coding agents.
19-
Every mistake learned from. Every win remembered.
20-
21-
<div className="memory-loop">
22-
<span className="step">recall</span>
23-
<span className="arrow">&rarr;</span>
24-
<span className="step">work</span>
25-
<span className="arrow">&rarr;</span>
26-
<span className="step">learn</span>
27-
<span className="arrow">&rarr;</span>
28-
<span className="step">close</span>
29-
<span className="arrow">&rarr;</span>
30-
<span className="step">recall</span>
31-
</div>
32-
3318
<div className="hero-cta">
3419
<a href="/docs/getting-started/installation" className="primary">Get Started</a>
35-
<a href="https://github.com/gitmem-dev/gitmem" className="secondary">GitHub</a>
20+
<a href="https://github.com/gitmem-dev/gitmem" className="secondary"><svg className="github-icon" viewBox="0 0 16 16" fill="currentColor" width="16" height="16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>GitHub</a>
3621
<a href="/docs/tools" className="secondary">Tool Reference</a>
3722
</div>
3823

3924
</div>
4025

41-
---
42-
4326
## What is GitMem?
4427

45-
Every time an AI agent makes a mistake, fixes a bug, or discovers a better approach, that knowledge disappears when the session ends. GitMem captures these lessons and surfaces them automatically before the agent takes similar actions.
28+
Every time an AI agent makes a mistake, fixes a bug, or discovers a better approach, that knowledge disappears when the session ends. GitMem is an MCP server that gives AI coding agents **persistent institutional memory** — the ability to learn from mistakes, remember what works, track decisions, and carry context across sessions and projects.
29+
30+
It's not a note-taker. It's a **memory system with teeth**: scars surface automatically before the agent repeats a mistake, sessions close with structured reflection, and open threads carry forward so nothing falls through the cracks. One `npx gitmem-mcp init` and every session builds on the last — mistakes, wins, decisions, and human corrections compound into an agent that gets sharper in your dev context over time.
4631

4732
<Cards>
4833
<Card title="Scars" href="/docs/concepts/scars">
@@ -57,6 +42,12 @@ Every time an AI agent makes a mistake, fixes a bug, or discovers a better appro
5742
<Card title="Threads" href="/docs/concepts/threads">
5843
Unresolved work that carries across sessions. Never lose track of open items.
5944
</Card>
45+
<Card title="Decisions" href="/docs/concepts/learning-types">
46+
Architectural choices logged with rationale and alternatives considered. Searchable forever.
47+
</Card>
48+
<Card title="Knowledge Graph" href="/docs/tools/graph-traverse">
49+
Trace any decision, scar, or session back to its origin. See how your institutional memory connects.
50+
</Card>
6051
</Cards>
6152

6253
## Quick Start

apps/docs/lib/layout.shared.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,18 @@ import type { BaseLayoutProps } from "fumadocs-ui/layouts/shared";
33
export function baseOptions(): BaseLayoutProps {
44
return {
55
nav: {
6-
title: "GitMem",
6+
title: (
7+
<>
8+
<img
9+
src="/docs/logo.svg"
10+
alt=""
11+
className="nav-logo"
12+
style={{ width: 24, height: 24 }}
13+
/>
14+
GitMem
15+
</>
16+
),
17+
url: "/docs",
718
},
819
links: [
920
{
@@ -12,7 +23,7 @@ export function baseOptions(): BaseLayoutProps {
1223
active: "nested-url",
1324
},
1425
{
15-
text: "Home",
26+
text: "Website",
1627
url: "https://gitmem.ai",
1728
external: true,
1829
},

apps/docs/public/banner.svg

Lines changed: 1 addition & 1 deletion
Loading

apps/docs/public/logo.svg

Lines changed: 4 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)