Skip to content

Commit 1a134c8

Browse files
committed
Remove all em dashes from docs site, fix og:description
1 parent 93f8b0f commit 1a134c8

7 files changed

Lines changed: 53 additions & 53 deletions

File tree

docs/.vitepress/config.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import tailwindcss from "@tailwindcss/vite";
44
export default defineConfig({
55
title: "OpenWolf",
66
description:
7-
"Token-conscious AI brain for Claude Code — invisible middleware that saves tokens, learns preferences, and prevents mistakes",
7+
"Token-conscious AI brain for Claude Code. Invisible middleware that saves tokens, learns preferences, and prevents mistakes.",
88
head: [
99
["link", { rel: "icon", type: "image/svg+xml", href: "/wolf.svg" }],
1010
[
@@ -33,15 +33,15 @@ export default defineConfig({
3333
"meta",
3434
{
3535
property: "og:title",
36-
content: "OpenWolf Token-Conscious AI Brain for Claude Code",
36+
content: "OpenWolf: Token-Conscious AI Brain for Claude Code",
3737
},
3838
],
3939
[
4040
"meta",
4141
{
4242
property: "og:description",
4343
content:
44-
"Invisible middleware that makes Claude Code smarter. Zero extra AI cost.",
44+
"Invisible middleware that makes Claude Code smarter. No API calls required.",
4545
},
4646
],
4747
],

docs/.vitepress/theme/components/HeroLanding.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const features = [
3838
{
3939
icon: "lightbulb",
4040
title: "Invisible Enforcement",
41-
desc: "You type claude and work normally. Hooks fire automatically tracking tokens, updating project maps, enforcing learned preferences.",
41+
desc: "You type claude and work normally. Hooks fire automatically, tracking tokens, updating project maps, enforcing learned preferences.",
4242
accent: "var(--ow-accent)",
4343
},
4444
{
@@ -62,13 +62,13 @@ const features = [
6262
{
6363
icon: "eye",
6464
title: "Design QC",
65-
desc: "Capture full-page sectioned screenshots with one command. Claude evaluates the design inline — no external services, no extra cost.",
65+
desc: "Capture full-page sectioned screenshots with one command. Claude evaluates the design inline. No external services, no extra cost.",
6666
accent: "#fb923c",
6767
},
6868
{
6969
icon: "grid",
7070
title: "Reframe",
71-
desc: "Ask Claude to help pick a UI framework. Built-in knowledge base covers 12 component libraries from shadcn/ui to Aceternity UI to DaisyUI.",
71+
desc: "Ask Claude to help pick a UI framework. Built-in knowledge base covers 12 component libraries, from shadcn/ui to Aceternity UI to DaisyUI.",
7272
accent: "#38bdf8",
7373
},
7474
];
@@ -158,7 +158,7 @@ const archFiles = [
158158
<div class="ow-terminal__line ow-terminal__line--out"><span class="ow-terminal__ok">✓</span> Claude Code hooks registered (6 hooks)</div>
159159
<div class="ow-terminal__line ow-terminal__line--out"><span class="ow-terminal__ok">✓</span> CLAUDE.md updated</div>
160160
<div class="ow-terminal__line ow-terminal__line--out"><span class="ow-terminal__ok">✓</span> Anatomy scan: 47 files indexed</div>
161-
<div class="ow-terminal__line ow-terminal__line--hint">You're ready. Just use <span class="ow-terminal__hl">'claude'</span> as normal OpenWolf is watching.</div>
161+
<div class="ow-terminal__line ow-terminal__line--hint">You're ready. Just use <span class="ow-terminal__hl">'claude'</span> as normal. OpenWolf is watching.</div>
162162
</div>
163163
</div>
164164
</div>
@@ -231,7 +231,7 @@ const archFiles = [
231231
<div class="ow-step__num">02</div>
232232
<div class="ow-step__content">
233233
<h3 class="ow-step__title">Work Normally</h3>
234-
<p class="ow-step__desc">Just use <code>claude</code> as you always do. Hooks fire invisibly tracking, learning, enforcing. You don't interact with any of it.</p>
234+
<p class="ow-step__desc">Just use <code>claude</code> as you always do. Hooks fire invisibly, tracking, learning, enforcing. You don't interact with any of it.</p>
235235
<div class="ow-step__cmd"><span class="ow-step__ps">$</span> claude</div>
236236
</div>
237237
</div>
@@ -278,7 +278,7 @@ const archFiles = [
278278
<div class="ow-section__header reveal">
279279
<span class="ow-label ow-label--warn">Hooks</span>
280280
<h2 class="ow-heading">The enforcement layer</h2>
281-
<p class="ow-subheading">Six hooks fire on every Claude action. They warn but never block. Pure Node.js — no network, no AI, no extra cost.</p>
281+
<p class="ow-subheading">Six hooks fire on every Claude action. They warn but never block. Pure Node.js. No network, no AI, no extra cost.</p>
282282
</div>
283283

284284
<div class="ow-hooks reveal">
@@ -365,7 +365,7 @@ const archFiles = [
365365

366366
<style>
367367
/* ================================================================
368-
OPENWOLF LANDING CUSTOM CSS (no DaisyUI dependency)
368+
OPENWOLF LANDING: CUSTOM CSS (no DaisyUI dependency)
369369
Works with VitePress light/dark via CSS custom properties
370370
================================================================ */
371371

docs/.vitepress/theme/custom.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* ===== OpenWolf Precision Dark Interface ===== */
1+
/* ===== OpenWolf: Precision Dark Interface ===== */
22

33
/* ---- Light mode ---- */
44
:root {
@@ -19,7 +19,7 @@
1919
--vp-font-family-base: "Inter", system-ui, -apple-system, sans-serif;
2020
--vp-font-family-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;
2121

22-
/* OpenWolf tokens light */
22+
/* OpenWolf tokens: light */
2323
--ow-bg-deep: #f6f7f9;
2424
--ow-bg-surface: #ffffff;
2525
--ow-bg-elevated: #ffffff;

docs/commands.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ openwolf scan --check
8484
Useful in CI pipelines to verify that `anatomy.md` has been kept in sync:
8585

8686
```bash
87-
openwolf scan --check || echo "anatomy.md is out of date — run openwolf scan"
87+
openwolf scan --check || echo "anatomy.md is out of date. Run openwolf scan"
8888
```
8989

9090
---

docs/dashboard.md

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ The dashboard has 10 panels, accessible from the sidebar.
2121
### Overview
2222

2323
The home screen. Shows:
24-
- **Project name and description** detected from `package.json`, `Cargo.toml`, README, or `cerebrum.md`
25-
- **Daemon status** green pulsing indicator when healthy
26-
- **Stat cards** files tracked, total sessions, estimated tokens saved
27-
- **Recent activity** last 5 entries from `memory.md`
24+
- **Project name and description**: detected from `package.json`, `Cargo.toml`, README, or `cerebrum.md`
25+
- **Daemon status**: green pulsing indicator when healthy
26+
- **Stat cards**: files tracked, total sessions, estimated tokens saved
27+
- **Recent activity**: last 5 entries from `memory.md`
2828

2929
### Activity Timeline
3030

@@ -36,28 +36,28 @@ Chronological log of everything Claude has done. Each action is a card with time
3636

3737
Two charts and waste alerts:
3838

39-
- **Usage Over Time** area chart showing input (reads) and output (writes) tokens per session
40-
- **Token Comparison** horizontal bar chart comparing:
41-
- **Without OpenWolf** (estimated overhead uses more tokens)
42-
- **With OpenWolf** (actual the savings)
43-
- **Waste Alerts** flagged patterns like repeated reads, unnecessary full-file reads, memory bloat
39+
- **Usage Over Time**: area chart showing input (reads) and output (writes) tokens per session
40+
- **Token Comparison**: horizontal bar chart comparing:
41+
- **Without OpenWolf** (estimated overhead, uses more tokens)
42+
- **With OpenWolf** (actual, the savings)
43+
- **Waste Alerts**: flagged patterns like repeated reads, unnecessary full-file reads, memory bloat
4444

4545
### Cron Control Center
4646

4747
Table of all scheduled tasks showing status, schedule (human-readable), last run, and next run. Each row has a **Run Now** button.
4848

4949
Below the table:
50-
- **Dead Letter Queue** failed tasks with error details and **Retry** buttons
51-
- **Execution History** last 30 runs with duration and status
50+
- **Dead Letter Queue**: failed tasks with error details and **Retry** buttons
51+
- **Execution History**: last 30 runs with duration and status
5252

5353
### Cerebrum Viewer
5454

5555
Structured view of `cerebrum.md`:
5656

57-
- **Do-Not-Repeat** prominent red-tinted cards with date badges (most important section)
58-
- **User Preferences** bullet list
59-
- **Key Learnings** card per learning
60-
- **Decision Log** collapsible cards with rationale
57+
- **Do-Not-Repeat**: prominent red-tinted cards with date badges (most important section)
58+
- **User Preferences**: bullet list
59+
- **Key Learnings**: card per learning
60+
- **Decision Log**: collapsible cards with rationale
6161

6262
Includes a search bar that filters across all sections.
6363

@@ -70,9 +70,9 @@ Most recent session is expanded by default.
7070
### Anatomy Browser
7171

7272
Interactive file tree built from `anatomy.md`. Directories are expandable nodes. Files show their description and a color-coded token badge:
73-
- **Green** under 200 tokens
74-
- **Amber**2001000 tokens
75-
- **Red** over 1000 tokens
73+
- **Green**: under 200 tokens
74+
- **Amber**: 200-1000 tokens
75+
- **Red**: over 1000 tokens
7676

7777
Search filters by filename or description. Stats bar shows total files, average tokens per file, and the largest file.
7878

@@ -92,28 +92,28 @@ Quick-filter by clicking common tags.
9292
Shows the status of the design QC capture system for visual regression and design review.
9393

9494
**Status indicators:**
95-
- **Capture status** whether the capture service is active or idle
96-
- **Last capture time** timestamp of the most recent screenshot
97-
- **Screenshot count** total captures taken in the current session
98-
- **Total size** disk space used by captured screenshots
95+
- **Capture status**: whether the capture service is active or idle
96+
- **Last capture time**: timestamp of the most recent screenshot
97+
- **Screenshot count**: total captures taken in the current session
98+
- **Total size**: disk space used by captured screenshots
9999

100100
**How it works:**
101101

102102
Design QC follows a three-step workflow:
103103

104-
1. **Capture** OpenWolf takes viewport-height sectioned screenshots of your running dev server, scrolling through the full page.
105-
2. **Evaluate** Claude reviews the screenshots against your design specs or general UI/UX best practices.
106-
3. **Fix** Claude suggests or applies code changes based on the evaluation.
104+
1. **Capture**: OpenWolf takes viewport-height sectioned screenshots of your running dev server, scrolling through the full page.
105+
2. **Evaluate**: Claude reviews the screenshots against your design specs or general UI/UX best practices.
106+
3. **Fix**: Claude suggests or applies code changes based on the evaluation.
107107

108108
The panel includes instructions for invoking Design QC with Claude. Use `openwolf designqc` from the CLI or trigger captures from this panel.
109109

110110
### AI Insights
111111

112112
AI-generated suggestions displayed in four cards:
113-
- **Achievements** (emerald) what was accomplished
114-
- **Improvements** (blue) code quality suggestions
115-
- **Next Tasks** (amber) recommended next steps
116-
- **Risks** (red) technical debt and risk items
113+
- **Achievements** (emerald): what was accomplished
114+
- **Improvements** (blue): code quality suggestions
115+
- **Next Tasks** (amber): recommended next steps
116+
- **Risks** (red): technical debt and risk items
117117

118118
Includes a **Regenerate** button that triggers the `project-suggestions` cron task.
119119

@@ -126,7 +126,7 @@ openwolf cron run project-suggestions
126126
## Design
127127

128128
- **Dark/light theme** with toggle in the sidebar (preference saved in localStorage)
129-
- **Responsive** sidebar collapses to bottom tab bar on mobile
130-
- **Live updates** WebSocket connection pushes `.wolf/` file changes in real time
129+
- **Responsive**: sidebar collapses to bottom tab bar on mobile
130+
- **Live updates**: WebSocket connection pushes `.wolf/` file changes in real time
131131
- **Lazy-loaded panels** with skeleton fallbacks
132-
- **Sidebar footer** links to [OpenWolf on GitHub](https://github.com/cytostack/openwolf) and shows version
132+
- **Sidebar footer**: links to [OpenWolf on GitHub](https://github.com/cytostack/openwolf) and shows version

docs/getting-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ You'll see:
3737
✓ Anatomy scan: 47 files indexed
3838
✓ Daemon: start manually with: openwolf daemon start
3939
40-
You're ready. Just use 'claude' as normal OpenWolf is watching.
40+
You're ready. Just use 'claude' as normal. OpenWolf is watching.
4141
```
4242

4343
That's it. No configuration needed. Just use `claude` as you normally would.

docs/hooks.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Hooks
22

3-
OpenWolf registers 6 hooks with Claude Code. They fire automatically on every action — no user interaction required.
3+
OpenWolf registers 6 hooks with Claude Code. They fire automatically on every action. No user interaction required.
44

55
All hooks are **pure Node.js file I/O**. No network calls, no AI, no external dependencies. They read JSON on stdin from Claude Code and communicate via exit codes and stderr.
66

@@ -59,8 +59,8 @@ All hooks are **pure Node.js file I/O**. No network calls, no AI, no external de
5959

6060
**What it does:**
6161
1. Checks if this file was already read this session
62-
2. If repeated: writes a warning to stderr _"⚡ OpenWolf: file.ts was already read this session (~380 tokens)"_
63-
3. Looks up the file in `anatomy.md` and prints the description_"📋 OpenWolf anatomy: file.ts Main entry point (~380 tok)"_
62+
2. If repeated: writes a warning to stderr. _"⚡ OpenWolf: file.ts was already read this session (~380 tokens)"_
63+
3. Looks up the file in `anatomy.md` and prints the description. _"📋 OpenWolf anatomy: file.ts, Main entry point (~380 tok)"_
6464
4. Records anatomy hit or miss in the session tracker
6565

6666
**Behavior:** Always exits 0 (allows the read). Warnings only, never blocks.
@@ -78,7 +78,7 @@ All hooks are **pure Node.js file I/O**. No network calls, no AI, no external de
7878
**What it does:**
7979
1. Reads `cerebrum.md` and extracts entries from the `## Do-Not-Repeat` section
8080
2. For each entry, checks if the content being written contains flagged patterns
81-
3. If matched: writes a warning to stderr_"⚠️ OpenWolf cerebrum warning: 'never use var' check your code"_
81+
3. If matched: writes a warning to stderr. _"⚠️ OpenWolf cerebrum warning: 'never use var', check your code"_
8282

8383
**Pattern matching:** Simple regex on quoted strings and "never use X" / "avoid X" phrases. No LLM involved.
8484

@@ -109,9 +109,9 @@ All hooks are **pure Node.js file I/O**. No network calls, no AI, no external de
109109
**Stdin:** `{ "tool_name": "Write", "tool_input": { "file_path": "...", "content": "..." } }`
110110

111111
**What it does:**
112-
1. **Updates `anatomy.md`** reads the written file, extracts a description, estimates tokens, upserts the entry in the correct directory section. Writes atomically (temp + rename).
113-
2. **Appends to `memory.md`** logs the action with timestamp, file path, and token estimate.
114-
3. **Records in `_session.json`** file, action type, tokens, timestamp.
112+
1. **Updates `anatomy.md`**: reads the written file, extracts a description, estimates tokens, upserts the entry in the correct directory section. Writes atomically (temp + rename).
113+
2. **Appends to `memory.md`**: logs the action with timestamp, file path, and token estimate.
114+
3. **Records in `_session.json`**: file, action type, tokens, timestamp.
115115

116116
**Timeout:** 10 seconds (longer because anatomy update involves file parsing)
117117

0 commit comments

Comments
 (0)