Skip to content

Commit 438e102

Browse files
mayurpiseclaude
andcommitted
fix(web): repair double-encoded UTF-8 mojibake in index.html
The <title>, og:title, twitter:title and 23 body strings contained a double-encoded em-dash (bytes c3 a2 c2 80 c2 94) and one corrupted right arrow (c3 a2 c2 86 c2 92), so the browser tab and meta tags rendered "Draft â" with stray control glyphs. Replaced the bad byte sequences with the correct UTF-8 — (e2 80 94) and → (e2 86 92). Page is UTF-8. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent bb17ca4 commit 438e102

1 file changed

Lines changed: 26 additions & 26 deletions

File tree

web/index.html

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@
33
<head>
44
<meta charset="UTF-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6-
<title>Draft — Code Intelligence Built Into Your AI Coding Agent</title>
6+
<title>Draft Code Intelligence Built Into Your AI Coding Agent</title>
77
<meta name="description" content="Free open-source plugin for Claude Code, Cursor, Copilot, Antigravity, and Gemini. Powered by codebase-memory-mcp — a 159-language local knowledge-graph engine. Spec-driven planning, three-stage review, 14-dimension bug hunting. 33 commands, MIT.">
88
<meta name="author" content="mayurpise">
99
<meta name="theme-color" content="#7c3aed">
1010
<meta name="keywords" content="claude code plugin, code intelligence, knowledge graph, knowledge graph engine, codebase-memory-mcp, ai code review, ai tdd, context-driven development, spec-driven development, tree-sitter, callers, blast radius, hotspots, ai bug hunting, github copilot plugin, gemini plugin, cursor ai plugin, antigravity ide, ai coding agent, ACID audit, open source developer tools, MIT licensed">
1111
<meta name="robots" content="index, follow">
1212
<link rel="icon" type="image/svg+xml" href="favicon.svg">
13-
<meta property="og:title" content="Draft — Code Intelligence for Your AI Coding Agent">
13+
<meta property="og:title" content="Draft Code Intelligence for Your AI Coding Agent">
1414
<meta property="og:description" content="Powered by codebase-memory-mcp — 159-language local knowledge-graph engine. Spec-driven planning, three-stage review — in one plugin for Claude Code, Cursor, Copilot, Antigravity, and Gemini. 33 commands, free forever.">
1515
<meta property="og:type" content="website">
1616
<meta property="og:url" content="https://getdraft.dev">
1717
<meta property="og:image" content="https://getdraft.dev/social-preview.png">
1818
<meta property="og:image:alt" content="Draft: Code intelligence built into your AI coding agent">
1919
<meta name="twitter:card" content="summary_large_image">
20-
<meta name="twitter:title" content="Draft — Code Intelligence for Your AI Coding Agent">
20+
<meta name="twitter:title" content="Draft Code Intelligence for Your AI Coding Agent">
2121
<meta name="twitter:description" content="Powered by codebase-memory-mcp — 159 languages, 100% local. Spec-driven planning + three-stage review. One plugin for Claude Code, Cursor, Copilot, Antigravity, Gemini. 33 commands. Free forever.">
2222
<meta name="twitter:image" content="https://getdraft.dev/social-preview.png">
2323
<meta name="twitter:image:alt" content="Draft: Code intelligence built into your AI coding agent">
@@ -94,7 +94,7 @@
9494
"name": "What AI coding agents does Draft support?",
9595
"acceptedAnswer": {
9696
"@type": "Answer",
97-
"text": "Draft supports Claude Code, Cursor, GitHub Copilot, Antigravity IDE, and Gemini. It integrates natively with each platform using their respective configuration formats — slash commands for Claude Code and Cursor, copilot-instructions.md for Copilot, and .gemini.md for Gemini and Antigravity."
97+
"text": "Draft supports Claude Code, Cursor, GitHub Copilot, Antigravity IDE, and Gemini. It integrates natively with each platform using their respective configuration formats slash commands for Claude Code and Cursor, copilot-instructions.md for Copilot, and .gemini.md for Gemini and Antigravity."
9898
}
9999
},
100100
{
@@ -118,15 +118,15 @@
118118
"name": "Does Draft work with my existing project?",
119119
"acceptedAnswer": {
120120
"@type": "Answer",
121-
"text": "Yes. Running /draft:init performs a 5-phase analysis of your existing codebase, generating architecture documentation, AI context files, and signal classifications. It works with any language, framework, or project structure — brownfield or greenfield."
121+
"text": "Yes. Running /draft:init performs a 5-phase analysis of your existing codebase, generating architecture documentation, AI context files, and signal classifications. It works with any language, framework, or project structure brownfield or greenfield."
122122
}
123123
},
124124
{
125125
"@type": "Question",
126126
"name": "How is Draft different from other AI coding tools?",
127127
"acceptedAnswer": {
128128
"@type": "Answer",
129-
"text": "Draft is not an AI coding tool — it is a methodology layer that runs on top of existing AI agents. While tools like Cursor or Copilot generate code, Draft ensures that code follows approved specifications, passes TDD gates, and fits your architecture. It adds structure and quality gates, not another AI model."
129+
"text": "Draft is not an AI coding tool it is a methodology layer that runs on top of existing AI agents. While tools like Cursor or Copilot generate code, Draft ensures that code follows approved specifications, passes TDD gates, and fits your architecture. It adds structure and quality gates, not another AI model."
130130
}
131131
},
132132
{
@@ -235,7 +235,7 @@
235235
<a href="#changelog-strip" class="release-pill">
236236
<span class="release-pill-tag">v3.1.5</span>
237237
<span class="release-pill-text">The knowledge graph is now engine-only &mdash; indexed locally and queried live, with no machine-readable snapshot committed to your repo</span>
238-
<span class="release-pill-arrow">→</span>
238+
<span class="release-pill-arrow"></span>
239239
</a>
240240
<h1>Stop shipping<br><span class="gradient-text">AI-generated bugs</span>.</h1>
241241
<p class="tagline">One command runs a three-stage review on your branch &mdash; validation, spec compliance, code quality &mdash; and writes the missing tests. Powered by a tree-sitter knowledge graph of your repo. <strong>Free forever.</strong> For Claude Code, Cursor, Copilot, Antigravity, and Gemini.</p>
@@ -376,7 +376,7 @@ <h4>With Draft</h4>
376376
</section>
377377

378378
<!-- ============================================================ -->
379-
<!-- INTERACTIVE PLAYGROUND — Knowledge Graph Demo -->
379+
<!-- INTERACTIVE PLAYGROUND Knowledge Graph Demo -->
380380
<!-- ============================================================ -->
381381
<section id="playground" class="section section-playground">
382382
<div class="section-glow section-glow--violet"></div>
@@ -569,13 +569,13 @@ <h3>Platform engineers</h3>
569569
</section>
570570

571571
<!-- ============================================================ -->
572-
<!-- SECTION 3: HOW IT WORKS — /draft:init Deep Dive -->
572+
<!-- SECTION 3: HOW IT WORKS /draft:init Deep Dive -->
573573
<!-- ============================================================ -->
574574
<section id="how-it-works" class="section">
575575
<div class="section-glow section-glow--cyan"></div>
576576
<div class="section-inner">
577577
<span class="section-label">The Foundation</span>
578-
<h2><code>/draft:init</code> — your codebase, <span class="text-cyan">fully mapped</span></h2>
578+
<h2><code>/draft:init</code> your codebase, <span class="text-cyan">fully mapped</span></h2>
579579
<p class="section-subtitle">One command performs a 5-phase deep analysis of your entire codebase. Every future interaction is grounded in this understanding.</p>
580580

581581
<!-- Init phases showcase -->
@@ -618,7 +618,7 @@ <h4>State Persistence &mdash; Pay the cost once</h4>
618618
<div class="init-state-grid">
619619
<div class="init-state-item">
620620
<span class="init-state-file">freshness.json</span>
621-
<p>SHA-256 hashes of every analyzed file. <code>/draft:init refresh</code> only re-analyzes files with changed hashes — no full re-scan.</p>
621+
<p>SHA-256 hashes of every analyzed file. <code>/draft:init refresh</code> only re-analyzes files with changed hashes no full re-scan.</p>
622622
</div>
623623
<div class="init-state-item">
624624
<span class="init-state-file">signals.json</span>
@@ -641,7 +641,7 @@ <h3 class="pipeline-heading">Then: Spec &rarr; Implement &rarr; Verify</h3>
641641
<div class="pipeline-connector"></div>
642642
<h3>Spec &amp; Plan</h3>
643643
<p class="pipeline-cmd">/draft:plan</p>
644-
<p>Collaborative intake — AI asks one question at a time, contributes expertise, surfaces risks. Builds spec progressively with citations from DDD, Clean Architecture, OWASP.</p>
644+
<p>Collaborative intake AI asks one question at a time, contributes expertise, surfaces risks. Builds spec progressively with citations from DDD, Clean Architecture, OWASP.</p>
645645
</div>
646646
<div class="pipeline-step" data-step="3">
647647
<div class="pipeline-icon pipeline-icon--rose">
@@ -734,7 +734,7 @@ <h3>3-Stage Code Review</h3>
734734
</div>
735735
</div>
736736
<h3>Collaborative Intake</h3>
737-
<p>AI as expert partner — asks one question at a time, contributes patterns, risks, trade-offs. Builds spec progressively with citations from DDD, Clean Architecture, OWASP.</p>
737+
<p>AI as expert partner asks one question at a time, contributes patterns, risks, trade-offs. Builds spec progressively with citations from DDD, Clean Architecture, OWASP.</p>
738738
<div class="bento-stats"><span>AI as partner</span></div>
739739
</div>
740740

@@ -747,7 +747,7 @@ <h3>Collaborative Intake</h3>
747747
<span class="bento-tag">Exhaustive Sweep</span>
748748
</div>
749749
<h3>14-Dimension Bug Hunt</h3>
750-
<p>Systematic defect discovery across 14 dimensions: correctness, reliability, security, performance, UI responsiveness, concurrency, state management, API contracts, accessibility, configuration, tests, dependency/supply chain security, algorithmic complexity, and i18n/l10n. Severity-ranked with file:line locations. Only HIGH/CONFIRMED confidence — false-positive elimination and taint tracking built in.</p>
750+
<p>Systematic defect discovery across 14 dimensions: correctness, reliability, security, performance, UI responsiveness, concurrency, state management, API contracts, accessibility, configuration, tests, dependency/supply chain security, algorithmic complexity, and i18n/l10n. Severity-ranked with file:line locations. Only HIGH/CONFIRMED confidence false-positive elimination and taint tracking built in.</p>
751751
<div class="bento-stats">
752752
<span>14 dimensions</span><span>Taint tracking</span><span>Confidence filtering</span><span>Regression tests</span>
753753
</div>
@@ -773,7 +773,7 @@ <h3>ACID Deep Review</h3>
773773
</div>
774774
</div>
775775
<h3>Pattern Learning</h3>
776-
<p>Scans your codebase for recurring patterns (3+ occurrences). Discovers conventions to skip and anti-patterns to always flag. Every quality command updates <code>guardrails.md</code> after each run — your codebase teaches Draft what to enforce, and false positives disappear over time.</p>
776+
<p>Scans your codebase for recurring patterns (3+ occurrences). Discovers conventions to skip and anti-patterns to always flag. Every quality command updates <code>guardrails.md</code> after each run your codebase teaches Draft what to enforce, and false positives disappear over time.</p>
777777
<div class="bento-stats"><span>Auto-learning</span><span>Temporal analysis</span><span>guardrails.md</span></div>
778778
</div>
779779

@@ -1141,7 +1141,7 @@ <h2>Install in <span class="text-cyan">30 seconds</span></h2>
11411141
<p class="install-note install-note--global">Prefer a persistent command? Install once with <code>npm install -g @drafthq/draft</code>, then run <code>draft install &lt;host&gt;</code>. Use <code>draft list</code> to see every host.</p>
11421142

11431143
<div class="callout">
1144-
<strong>No vendor lock-in.</strong> Your specs, plans, and architecture docs are plain markdown files in your repo. Switch tools any time — your project knowledge stays with you.
1144+
<strong>No vendor lock-in.</strong> Your specs, plans, and architecture docs are plain markdown files in your repo. Switch tools any time your project knowledge stays with you.
11451145
</div>
11461146
</div>
11471147
</section>
@@ -1154,7 +1154,7 @@ <h2>Install in <span class="text-cyan">30 seconds</span></h2>
11541154
<div class="section-inner">
11551155
<span class="section-label">Deep Analysis</span>
11561156
<h2>Your codebase, <span class="text-violet">fully understood</span></h2>
1157-
<p class="section-subtitle">/draft:init performs a 5-phase codebase analysis — not a diagram of intent, a map of reality.</p>
1157+
<p class="section-subtitle">/draft:init performs a 5-phase codebase analysis not a diagram of intent, a map of reality.</p>
11581158

11591159
<div class="arch-grid">
11601160
<div class="glass-card arch-card">
@@ -1180,7 +1180,7 @@ <h3>System Constraints</h3>
11801180
<div class="glass-card arch-card">
11811181
<div class="arch-num">5</div>
11821182
<h3>Extension Cookbooks</h3>
1183-
<p>Step-by-step guides: "Add a new endpoint", "Add a new model" — file-by-file instructions.</p>
1183+
<p>Step-by-step guides: "Add a new endpoint", "Add a new model" file-by-file instructions.</p>
11841184
</div>
11851185
<div class="glass-card arch-card">
11861186
<div class="arch-num">S</div>
@@ -1194,24 +1194,24 @@ <h3>State Persistence</h3>
11941194
<div class="glass-card dual-card">
11951195
<h4>.ai-context.md</h4>
11961196
<p class="dual-meta">Machine-optimized &middot; 200-400 lines</p>
1197-
<p>Dense tables, YAML frontmatter, flat sections. Token-efficient — minimal prose, maximum signal. Consumed by all Draft commands and external AI tools.</p>
1197+
<p>Dense tables, YAML frontmatter, flat sections. Token-efficient minimal prose, maximum signal. Consumed by all Draft commands and external AI tools.</p>
11981198
</div>
11991199
<div class="dual-divider"></div>
12001200
<div class="glass-card dual-card">
12011201
<h4>architecture.md</h4>
12021202
<p class="dual-meta">Graph-primary &middot; High-signal with explicit fidelity</p>
1203-
<p>Prose paragraphs, annotated Mermaid diagrams, onboarding framing. Source of truth — all mutations happen here. For engineers, leads, and PR reviewers.</p>
1203+
<p>Prose paragraphs, annotated Mermaid diagrams, onboarding framing. Source of truth all mutations happen here. For engineers, leads, and PR reviewers.</p>
12041204
</div>
12051205
<div class="dual-divider"></div>
12061206
<div class="glass-card dual-card">
12071207
<h4>guardrails.md</h4>
12081208
<p class="dual-meta">Auto-learning &middot; Hard rules + discovered patterns</p>
1209-
<p>Human-defined constraints plus auto-discovered conventions and anti-patterns. Quality commands read this file, skip known patterns, and flag violations — then update it after every run. Your codebase teaches Draft what to enforce.</p>
1209+
<p>Human-defined constraints plus auto-discovered conventions and anti-patterns. Quality commands read this file, skip known patterns, and flag violations then update it after every run. Your codebase teaches Draft what to enforce.</p>
12101210
</div>
12111211
</div>
12121212

12131213
<div class="callout">
1214-
<strong>Pay the analysis cost once, benefit on every interaction.</strong> Reduces token cost, eliminates hallucinations, improves accuracy. The AI writes code that fits your system because it <em>knows</em> your system — and guardrails ensure it respects your rules.
1214+
<strong>Pay the analysis cost once, benefit on every interaction.</strong> Reduces token cost, eliminates hallucinations, improves accuracy. The AI writes code that fits your system because it <em>knows</em> your system and guardrails ensure it respects your rules.
12151215
</div>
12161216
</div>
12171217
</section>
@@ -1224,7 +1224,7 @@ <h4>guardrails.md</h4>
12241224
<div class="section-inner">
12251225
<span class="section-label">Built For Your Role</span>
12261226
<h2>Who it's <span class="text-cyan">for</span></h2>
1227-
<p class="section-subtitle">Draft speaks different languages to different roles — but the value compounds across your entire organization.</p>
1227+
<p class="section-subtitle">Draft speaks different languages to different roles but the value compounds across your entire organization.</p>
12281228

12291229
<div class="audience-grid">
12301230
<div class="glass-card audience-card" data-accent="cyan">
@@ -1413,7 +1413,7 @@ <h2>Frequently asked <span class="text-amber">questions</span></h2>
14131413
<details class="faq-item glass-card">
14141414
<summary class="faq-question">What AI coding agents does Draft support?</summary>
14151415
<div class="faq-answer">
1416-
<p>Draft supports Claude Code, Cursor, GitHub Copilot, Antigravity IDE, and Gemini. It integrates natively with each platform using their respective configuration formats — slash commands for Claude Code and Cursor, copilot-instructions.md for Copilot, and .gemini.md for Gemini and Antigravity.</p>
1416+
<p>Draft supports Claude Code, Cursor, GitHub Copilot, Antigravity IDE, and Gemini. It integrates natively with each platform using their respective configuration formats slash commands for Claude Code and Cursor, copilot-instructions.md for Copilot, and .gemini.md for Gemini and Antigravity.</p>
14171417
</div>
14181418
</details>
14191419

@@ -1434,14 +1434,14 @@ <h2>Frequently asked <span class="text-amber">questions</span></h2>
14341434
<details class="faq-item glass-card">
14351435
<summary class="faq-question">Does Draft work with my existing project?</summary>
14361436
<div class="faq-answer">
1437-
<p>Yes. Running <code>/draft:init</code> performs a 5-phase analysis of your existing codebase, generating architecture documentation, AI context files, and signal classifications. It works with any language, framework, or project structure — brownfield or greenfield.</p>
1437+
<p>Yes. Running <code>/draft:init</code> performs a 5-phase analysis of your existing codebase, generating architecture documentation, AI context files, and signal classifications. It works with any language, framework, or project structure brownfield or greenfield.</p>
14381438
</div>
14391439
</details>
14401440

14411441
<details class="faq-item glass-card">
14421442
<summary class="faq-question">How is Draft different from other AI coding tools?</summary>
14431443
<div class="faq-answer">
1444-
<p>Draft is not an AI coding tool — it is a methodology layer that runs on top of existing AI agents. While tools like Cursor or Copilot generate code, Draft ensures that code follows approved specifications, passes TDD gates, and fits your architecture. It adds structure and quality gates, not another AI model.</p>
1444+
<p>Draft is not an AI coding tool it is a methodology layer that runs on top of existing AI agents. While tools like Cursor or Copilot generate code, Draft ensures that code follows approved specifications, passes TDD gates, and fits your architecture. It adds structure and quality gates, not another AI model.</p>
14451445
</div>
14461446
</details>
14471447

0 commit comments

Comments
 (0)