Skip to content

Commit d0464ac

Browse files
Merge pull request #7 from gitmem-dev/feature/OD-734-restore-docs-source
feat: restore Fumadocs source + visual enhancements (OD-734)
2 parents e0263d8 + a51b23d commit d0464ac

File tree

14 files changed

+681
-107
lines changed

14 files changed

+681
-107
lines changed

apps/docs/app/global.css

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,143 @@
11
@import "tailwindcss";
22
@import "fumadocs-ui/css/neutral.css";
33
@import "fumadocs-ui/css/preset.css";
4+
5+
/* GitMem brand: emerald/teal accent */
6+
@theme {
7+
--color-fd-primary: hsl(158, 64%, 32%);
8+
--color-fd-primary-foreground: hsl(0, 0%, 98%);
9+
--color-fd-ring: hsl(158, 64%, 42%);
10+
}
11+
12+
.dark {
13+
--color-fd-primary: hsl(158, 64%, 62%);
14+
--color-fd-primary-foreground: hsl(0, 0%, 9%);
15+
--color-fd-ring: hsl(158, 64%, 62%);
16+
}
17+
18+
/* Subtle gradient in dark mode like ocean preset */
19+
.dark body {
20+
background-image: linear-gradient(
21+
rgba(16, 185, 129, 0.08),
22+
transparent 20rem,
23+
transparent
24+
);
25+
background-repeat: no-repeat;
26+
}
27+
28+
/* Hero section styles for docs landing */
29+
.gitmem-hero {
30+
text-align: center;
31+
padding: 2rem 0 3rem;
32+
}
33+
34+
.gitmem-hero h1 {
35+
font-size: 2.5rem;
36+
font-weight: 800;
37+
letter-spacing: -0.025em;
38+
margin-bottom: 0.75rem;
39+
}
40+
41+
.gitmem-hero p {
42+
font-size: 1.125rem;
43+
max-width: 36rem;
44+
margin: 0 auto;
45+
opacity: 0.8;
46+
}
47+
48+
.gitmem-hero .hero-cta {
49+
display: flex;
50+
gap: 0.75rem;
51+
justify-content: center;
52+
margin-top: 1.5rem;
53+
flex-wrap: wrap;
54+
}
55+
56+
.gitmem-hero .hero-cta a {
57+
display: inline-flex;
58+
align-items: center;
59+
padding: 0.5rem 1.25rem;
60+
border-radius: 0.5rem;
61+
font-weight: 600;
62+
font-size: 0.875rem;
63+
transition: all 0.15s;
64+
text-decoration: none;
65+
}
66+
67+
.gitmem-hero .hero-cta a.primary {
68+
background: hsl(158, 64%, 32%);
69+
color: white;
70+
}
71+
72+
.gitmem-hero .hero-cta a.primary:hover {
73+
background: hsl(158, 64%, 28%);
74+
}
75+
76+
.dark .gitmem-hero .hero-cta a.primary {
77+
background: hsl(158, 64%, 52%);
78+
color: hsl(0, 0%, 9%);
79+
}
80+
81+
.dark .gitmem-hero .hero-cta a.primary:hover {
82+
background: hsl(158, 64%, 58%);
83+
}
84+
85+
.gitmem-hero .hero-cta a.secondary {
86+
border: 1px solid hsl(0, 0%, 80%);
87+
color: inherit;
88+
}
89+
90+
.gitmem-hero .hero-cta a.secondary:hover {
91+
background: hsl(0, 0%, 96%);
92+
}
93+
94+
.dark .gitmem-hero .hero-cta a.secondary {
95+
border-color: hsl(0, 0%, 25%);
96+
}
97+
98+
.dark .gitmem-hero .hero-cta a.secondary:hover {
99+
background: hsl(0, 0%, 15%);
100+
}
101+
102+
/* Memory loop diagram */
103+
.memory-loop {
104+
display: flex;
105+
align-items: center;
106+
justify-content: center;
107+
gap: 0.25rem;
108+
margin: 1.5rem auto;
109+
font-size: 0.875rem;
110+
font-weight: 600;
111+
flex-wrap: wrap;
112+
}
113+
114+
.memory-loop .step {
115+
padding: 0.375rem 0.75rem;
116+
border-radius: 0.375rem;
117+
background: hsl(158, 64%, 92%);
118+
color: hsl(158, 64%, 22%);
119+
}
120+
121+
.dark .memory-loop .step {
122+
background: hsla(158, 64%, 30%, 0.3);
123+
color: hsl(158, 64%, 72%);
124+
}
125+
126+
.memory-loop .arrow {
127+
color: hsl(0, 0%, 60%);
128+
font-weight: 400;
129+
}
130+
131+
/* Quick install block emphasis */
132+
.install-block {
133+
margin: 1.5rem 0;
134+
padding: 1.5rem;
135+
border-radius: 0.75rem;
136+
border: 1px solid hsl(158, 64%, 80%);
137+
background: hsl(158, 64%, 97%);
138+
}
139+
140+
.dark .install-block {
141+
border-color: hsla(158, 64%, 40%, 0.3);
142+
background: hsla(158, 64%, 15%, 0.15);
143+
}

apps/docs/content/docs/getting-started/installation.mdx

Lines changed: 111 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,54 @@
11
---
22
title: Installation
3-
description: Install GitMem via npx, global install, or MCP configuration.
3+
description: Install GitMem via the init wizard, manual MCP config, or global install.
44
---
55

6+
import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
7+
import { Steps, Step } from 'fumadocs-ui/components/steps'
8+
import { Callout } from 'fumadocs-ui/components/callout'
9+
import { Files, File, Folder } from 'fumadocs-ui/components/files'
10+
import { Accordions, Accordion } from 'fumadocs-ui/components/accordion'
11+
612
# Installation
713

8-
## Option 1: Init Wizard (Recommended)
14+
<Tabs items={["Init Wizard (Recommended)", "Manual MCP Config", "Global Install"]}>
15+
<Tab value="Init Wizard (Recommended)">
16+
17+
## Init Wizard
18+
19+
The recommended way to install GitMem. One command, interactive setup, safe to re-run.
920

1021
```bash
1122
cd your-project
1223
npx gitmem init
1324
```
1425

15-
The interactive wizard walks you through 6 steps:
16-
17-
1. **Memory Store** — Creates `.gitmem/` with 12 starter scars
18-
2. **MCP Server** — Adds gitmem to `.mcp.json`
19-
3. **Project Instructions** — Appends memory protocols to `CLAUDE.md`
20-
4. **Tool Permissions** — Adds `mcp__gitmem__*` to `.claude/settings.json`
21-
5. **Lifecycle Hooks** — Merges session/recall hooks (preserves your existing hooks)
22-
6. **Gitignore** — Adds `.gitmem/` to `.gitignore`
26+
<Steps>
27+
<Step>
28+
### Memory Store
29+
Creates `.gitmem/` directory with 12 starter scars covering common mistakes.
30+
</Step>
31+
<Step>
32+
### MCP Server
33+
Adds gitmem to `.mcp.json` so your AI client can discover it.
34+
</Step>
35+
<Step>
36+
### Project Instructions
37+
Appends memory protocols to `CLAUDE.md` (or your client's instruction file).
38+
</Step>
39+
<Step>
40+
### Tool Permissions
41+
Adds `mcp__gitmem__*` to `.claude/settings.json` so tools work without manual approval.
42+
</Step>
43+
<Step>
44+
### Lifecycle Hooks
45+
Merges session start and recall hooks. Preserves your existing hooks.
46+
</Step>
47+
<Step>
48+
### Gitignore
49+
Adds `.gitmem/` to `.gitignore` — memory data stays local.
50+
</Step>
51+
</Steps>
2352

2453
### Flags
2554

@@ -34,9 +63,28 @@ npx gitmem init --dry-run
3463
npx gitmem init --project my-app
3564
```
3665

37-
### Idempotent
38-
66+
<Callout type="info" title="Idempotent">
3967
Re-running `npx gitmem init` is safe — completed steps are skipped with "Already configured."
68+
</Callout>
69+
70+
### What Gets Created
71+
72+
<Files>
73+
<Folder name="your-project" defaultOpen>
74+
<Folder name=".gitmem" defaultOpen>
75+
<Folder name="scars">
76+
<File name="starter-scars.json" />
77+
</Folder>
78+
<File name="active-sessions.json" />
79+
</Folder>
80+
<Folder name=".claude">
81+
<File name="settings.json" />
82+
</Folder>
83+
<File name=".mcp.json" />
84+
<File name="CLAUDE.md" />
85+
<File name=".gitignore" />
86+
</Folder>
87+
</Files>
4088

4189
### Uninstall
4290

@@ -51,17 +99,22 @@ Cleanly reverses everything init did. Your `.gitmem/` data is preserved by defau
5199
npx gitmem uninstall --all
52100
```
53101

54-
## Option 2: MCP Server Only
102+
</Tab>
103+
<Tab value="Manual MCP Config">
104+
105+
## Manual MCP Configuration
55106

56-
If you want to configure the MCP server manually without the init wizard:
107+
If you want to configure the MCP server without the init wizard.
57108

58-
### Claude Code
109+
<Tabs items={["Claude Code", "Claude Desktop", "Cursor"]}>
110+
<Tab value="Claude Code">
59111

60112
```bash
61113
claude mcp add gitmem -- npx -y gitmem-mcp
62114
```
63115

64-
### Claude Desktop
116+
</Tab>
117+
<Tab value="Claude Desktop">
65118

66119
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
67120

@@ -76,9 +129,12 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
76129
}
77130
```
78131

79-
Restart Claude Desktop after saving.
132+
<Callout type="warn">
133+
Restart Claude Desktop after saving the config file.
134+
</Callout>
80135

81-
### Cursor
136+
</Tab>
137+
<Tab value="Cursor">
82138

83139
Add to `.cursor/mcp.json` in your project:
84140

@@ -93,7 +149,13 @@ Add to `.cursor/mcp.json` in your project:
93149
}
94150
```
95151

96-
## Option 3: Global Install
152+
</Tab>
153+
</Tabs>
154+
155+
</Tab>
156+
<Tab value="Global Install">
157+
158+
## Global Install
97159

98160
```bash
99161
npm install -g gitmem-mcp
@@ -111,6 +173,15 @@ Then reference the global binary in your MCP config:
111173
}
112174
```
113175

176+
<Callout type="info">
177+
Global install avoids the `npx` startup delay on each session. Useful for heavy users.
178+
</Callout>
179+
180+
</Tab>
181+
</Tabs>
182+
183+
---
184+
114185
## Verify Installation
115186

116187
After setup, ask your AI agent:
@@ -119,6 +190,10 @@ After setup, ask your AI agent:
119190
120191
You should see a list of available commands with your current tier and tool count.
121192

193+
<Callout type="success" title="Working correctly?">
194+
If `gitmem-help` returns a command list showing **23 tools (free tier)** or **29 tools (pro tier)**, you're good to go. Head to [Your First Session](/docs/getting-started/first-session) next.
195+
</Callout>
196+
122197
## Environment Variables
123198

124199
| Variable | Default | Purpose |
@@ -127,3 +202,20 @@ You should see a list of available commands with your current tier and tool coun
127202
| `GITMEM_DEFAULT_PROJECT` | `default` | Project namespace for scoping |
128203

129204
See [Configuration](/docs/getting-started/configuration) for full details.
205+
206+
## Troubleshooting
207+
208+
<Accordions type="single">
209+
<Accordion title="npx gitmem init hangs or fails">
210+
Ensure Node.js 18+ is installed (`node --version`). If behind a corporate proxy, try `npm install -g gitmem-mcp` first, then use `gitmem init` without npx.
211+
</Accordion>
212+
<Accordion title="Agent can't find gitmem tools">
213+
Check that `.mcp.json` exists in your project root and contains the gitmem server entry. For Claude Desktop, verify the config path matches your OS. Restart the client after config changes.
214+
</Accordion>
215+
<Accordion title="Permission errors on tool calls">
216+
Run `npx gitmem init` to add tool permissions to `.claude/settings.json`, or manually add `mcp__gitmem__*` to the `allow` array.
217+
</Accordion>
218+
<Accordion title="Starter scars show wrong age">
219+
Starter scars use fixed creation dates. This is cosmetic — the scars function correctly regardless of displayed age.
220+
</Accordion>
221+
</Accordions>

0 commit comments

Comments
 (0)