From 9f7e718ea2b8e5ddbf5e8cfb9fe34f1620f0b3dc Mon Sep 17 00:00:00 2001 From: Justin Diclemente Date: Wed, 24 Jun 2026 23:11:44 -0400 Subject: [PATCH] fix: normalize nav and indexing surfaces --- about.html | 24 ++++++- about/index.html | 1 + agents.html | 24 ++++++- blog.html | 24 ++++++- blog/agent-first-documentation/index.html | 26 ++++++- blog/dotdog-workspace-bridge/index.html | 22 +++++- blog/google-ard-dotdog/index.html | 26 ++++++- blog/index.html | 1 + blog/karpathy-wiki-brain/index.html | 26 ++++++- collar.html | 26 ++++++- dogbench.html | 24 ++++++- dogbench/index.html | 32 +++++++++ dogfood.html | 24 ++++++- dotdog.html | 24 ++++++- dotdog/index.html | 25 ++++++- github.html | 69 +++++------------- github/index.html | 33 +++++++-- handbook.html | 24 ++++++- homebrew.html | 23 +++++- index.html | 24 ++++++- leash.html | 26 ++++++- llms.txt | 27 ++++--- site-map.json | 88 +++++++++++++++++++---- sitemap.xml | 5 +- 24 files changed, 540 insertions(+), 108 deletions(-) diff --git a/about.html b/about.html index 49c85db..765f2ee 100644 --- a/about.html +++ b/about.html @@ -19,19 +19,41 @@ .card{border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;background:#fafafa} .card a{font-weight:700;text-decoration:none} .card p{font-size:.92rem;margin-top:4px} + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ +

About specdog

diff --git a/about/index.html b/about/index.html index 0610c0e..882fd57 100644 --- a/about/index.html +++ b/about/index.html @@ -6,6 +6,7 @@ About specdog + diff --git a/agents.html b/agents.html index 4f12438..1d5a6ab 100644 --- a/agents.html +++ b/agents.html @@ -33,19 +33,41 @@ th { font-weight: 600; color: #1a1a2e; } td { color: #374151; } footer { margin-top: 48px; padding-top: 20px; border-top: 1px solid #e5e7eb; color: #9ca3af; font-size: .8em; } + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ +

For AI Agents

diff --git a/blog.html b/blog.html index e9cfc5a..ab8df02 100644 --- a/blog.html +++ b/blog.html @@ -17,19 +17,41 @@ .post a{font-weight:700;text-decoration:none;color:#d97706} .post a:hover{text-decoration:underline} .meta{color:#6b7280;font-size:.9rem;margin-top:4px} + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ +

Blog

diff --git a/blog/agent-first-documentation/index.html b/blog/agent-first-documentation/index.html index 6fec0d5..e1ba5e5 100644 --- a/blog/agent-first-documentation/index.html +++ b/blog/agent-first-documentation/index.html @@ -8,19 +8,41 @@ - +
spec-driven documentation
diff --git a/blog/dotdog-workspace-bridge/index.html b/blog/dotdog-workspace-bridge/index.html index 718de54..475f0b2 100644 --- a/blog/dotdog-workspace-bridge/index.html +++ b/blog/dotdog-workspace-bridge/index.html @@ -18,6 +18,26 @@ h1{font-size:2.25rem;line-height:1.12;margin:8px 0 12px}.dek{font-size:1.08rem;color:#4b5563;margin-bottom:24px}.meta{color:#6b7280;font-size:.9rem;margin-bottom:24px} h2{font-size:1.35rem;margin:34px 0 10px;border-bottom:1px solid #e5e7eb;padding-bottom:6px}p{color:#374151;margin:0 0 16px}ul{padding-left:22px;color:#374151}li{margin:8px 0}a{color:#d97706}code{color:#2563eb} pre{background:#1e293b;color:#e2e8f0;border-radius:10px;padding:16px;overflow:auto}pre code{color:#93c5fd}.callout{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:14px 16px;margin:24px 0;color:#92400e}.back{margin-top:34px} + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ @@ -29,9 +49,9 @@ for agents dogfood blog - github leash collar + dogbench
dotdog update
diff --git a/blog/google-ard-dotdog/index.html b/blog/google-ard-dotdog/index.html index e1ffb77..132c4c0 100644 --- a/blog/google-ard-dotdog/index.html +++ b/blog/google-ard-dotdog/index.html @@ -8,19 +8,41 @@ - +
agent discovery
diff --git a/blog/index.html b/blog/index.html index 026ebb5..79161bb 100644 --- a/blog/index.html +++ b/blog/index.html @@ -6,6 +6,7 @@ Blog | specdog + diff --git a/blog/karpathy-wiki-brain/index.html b/blog/karpathy-wiki-brain/index.html index b6ee5d4..d4d853b 100644 --- a/blog/karpathy-wiki-brain/index.html +++ b/blog/karpathy-wiki-brain/index.html @@ -8,19 +8,41 @@ - +
LLM systems
diff --git a/collar.html b/collar.html index 343255c..1ae3651 100644 --- a/collar.html +++ b/collar.html @@ -13,7 +13,7 @@ nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; } nav a:hover, nav a.active { color: #d97706; } h1 { font-size: 2.2em; margin-bottom: 8px; } - .hero-art { display: block; width: min(100%, 360px); margin: 0 auto 20px; } + .hero-art { display: block; width: 100px; height: 100px; margin: 0 auto 20px; } h2 { font-size: 1.35em; margin: 36px 0 12px; border-bottom: 1px solid #e5e7eb; padding-bottom: 6px; } pre { background: #f1f5f9; border: 1px solid #cbd5e1; border-radius: 6px; padding: 14px 18px; font-size: .85em; overflow-x: auto; margin: 8px 0; } table { width: 100%; border-collapse: collapse; margin: 16px 0; } @@ -26,19 +26,41 @@ .explain strong { color: #92400e; } footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid #e5e7eb; text-align: center; font-size: .85em; color: #9ca3af; } a { color: #d97706; } + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ + Friendly robot wearing a specdog collar diff --git a/dogbench.html b/dogbench.html index eeadf36..23ce856 100644 --- a/dogbench.html +++ b/dogbench.html @@ -6,18 +6,40 @@ dogbench | specdog + + diff --git a/dogbench/index.html b/dogbench/index.html index 475984f..37c8afd 100644 --- a/dogbench/index.html +++ b/dogbench/index.html @@ -29,9 +29,41 @@ .scenario-desc{color:#94a3b8;font-size:.85em;margin:4px 0 12px} .mcp-overhead{color:#94a3b8;font-size:.8em} .version{color:#4ade80;font-weight:600} + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ + +

🐕 dogbench

github.com/specdog/dogbench

diff --git a/dogfood.html b/dogfood.html index 9b0e65b..23fec75 100644 --- a/dogfood.html +++ b/dogfood.html @@ -37,19 +37,41 @@ footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid #e5e7eb; text-align: center; font-size: .85em; color: #9ca3af; } footer span { font-family: monospace; } .pipeline { margin: 16px 0; font-family: monospace; font-size: .85em; line-height: 1.4; color: #334155; } + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ +

dotdog Dogfood 🐕

diff --git a/dotdog.html b/dotdog.html index f288b1d..2daf20f 100644 --- a/dotdog.html +++ b/dotdog.html @@ -5,7 +5,27 @@ dotdog | specdog - + + diff --git a/dotdog/index.html b/dotdog/index.html index d090316..6d7637f 100644 --- a/dotdog/index.html +++ b/dotdog/index.html @@ -28,20 +28,41 @@ .btn { display:inline-block; padding:10px 18px; border-radius:8px; text-decoration:none; font-weight:700; } .primary { background:#f59e0b; color:#1a1a2e; } .secondary { background:#f1f5f9; color:#1e293b; border:1px solid #cbd5e1; } + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ +
diff --git a/github.html b/github.html index 4b31707..88f360f 100644 --- a/github.html +++ b/github.html @@ -3,71 +3,34 @@ -specdog — agent discovery - - +Redirecting to For AI Agents | specdog + + + -
-

Agent discovery

-

Paste these into the public site and repo surfaces so search and chat agents can find specdog cleanly.

- -
-

robots.txt

-
User-agent: *
-Allow: /
-Sitemap: https://specdog.github.io/sitemap.xml
-
- -
-

llms.txt

-
# specdog
-
-- https://specdog.github.io/ — org landing page
-- https://specdog.github.io/dotdog — dotdog docs
-- https://specdog.github.io/collar — collar docs
-- https://specdog.github.io/dogbench — dogbench benchmark
-- https://specdog.github.io/blog — blog index
-
- -
-

ai-catalog.json

-
{
-  "name": "specdog",
-  "capabilities": [
-    {"type": "website", "name": "Landing", "url": "https://specdog.github.io"},
-    {"type": "docs", "name": "dotdog", "url": "https://specdog.github.io/dotdog"},
-    {"type": "docs", "name": "collar", "url": "https://specdog.github.io/collar"},
-    {"type": "docs", "name": "dogbench", "url": "https://specdog.github.io/dogbench"},
-    {"type": "blog", "name": "specdog blog", "url": "https://specdog.github.io/blog"}
-  ]
-}
-
- -

Keep this page short. Use it as the canonical snippet source for discoverability.

-
+

Redirecting to For AI Agents.

+ diff --git a/github/index.html b/github/index.html index 954dfab..88f360f 100644 --- a/github/index.html +++ b/github/index.html @@ -3,9 +3,34 @@ -Agent discovery | specdog - - +Redirecting to For AI Agents | specdog + + + + - + + +

Redirecting to For AI Agents.

+ + diff --git a/handbook.html b/handbook.html index 0d855fc..cfaf655 100644 --- a/handbook.html +++ b/handbook.html @@ -34,19 +34,41 @@ .copy-btn.copied { color: #4ade80; } .copy-btn svg { width: 16px; height: 16px; } footer { margin-top: 48px; padding-top: 20px; border-top: 1px solid #e5e7eb; color: #9ca3af; font-size: .8em; } + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ +

Spec-Driven Development

Spec-Driven Development (SDD) is a methodology that makes software specs the ground truth for AI coding agents. Instead of the agent reading prose and guessing, it queries a compiled knowledge graph.

diff --git a/homebrew.html b/homebrew.html index 47730a5..08e38ee 100644 --- a/homebrew.html +++ b/homebrew.html @@ -26,19 +26,40 @@ nav { display: flex; justify-content: center; gap: 24px; padding: 0 0 32px; } nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; } nav a:hover { color: #d97706; } + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */

dotdog / Homebrew

macOS-native install. No config.

diff --git a/index.html b/index.html index 8486d0b..24e2d4d 100644 --- a/index.html +++ b/index.html @@ -59,19 +59,41 @@ .product-card p { margin:4px 0 0; color:#4b5563; font-size:.86em; line-height:1.45; } footer { margin-top: 24px; color: #9ca3af; font-size: .8em; } footer a { color: #9ca3af; } + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ +
diff --git a/leash.html b/leash.html index c804199..dca1a1f 100644 --- a/leash.html +++ b/leash.html @@ -13,7 +13,7 @@ nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; } nav a:hover, nav a.active { color: #d97706; } h1 { font-size: 2.2em; margin-bottom: 8px; } - .hero-art { display: block; width: min(100%, 360px); margin: 0 auto 20px; } + .hero-art { display: block; width: 100px; height: 100px; margin: 0 auto 20px; } h2 { font-size: 1.35em; margin: 36px 0 12px; border-bottom: 1px solid #e5e7eb; padding-bottom: 6px; } pre { background: #f1f5f9; border: 1px solid #cbd5e1; border-radius: 6px; padding: 14px 18px; font-size: .85em; overflow-x: auto; margin: 8px 0; } table { width: 100%; border-collapse: collapse; margin: 16px 0; } @@ -23,19 +23,41 @@ .badge-row { display: flex; gap: 12px; align-items: center; margin: 16px 0; flex-wrap: wrap; } footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid #e5e7eb; text-align: center; font-size: .85em; color: #9ca3af; } a { color: #d97706; } + + + /* shared navigation */ + body { padding-top: 24px; margin-top: 0; } + nav { + display: flex; + justify-content: center; + align-items: center; + gap: 18px; + flex-wrap: wrap; + width: min(calc(100vw - 48px), 960px); + margin: 0 auto 32px; + padding: 8px 0 0; + position: relative; + left: 50%; + transform: translateX(-50%); + } + nav a { color: #6b7280; text-decoration: none; font-size: .9em; font-weight: 500; line-height: 1.4; } + nav a:hover, nav a.active { color: #d97706; } + /* end shared navigation */ + Friendly robot being walked on a leash by a specdog mascot diff --git a/llms.txt b/llms.txt index 4e0e723..7a064f7 100644 --- a/llms.txt +++ b/llms.txt @@ -1,21 +1,26 @@ # specdog +> spec-driven development tools for structured specs, agent-readable graphs, multi-repo workspaces, and agent harnesses. + +## Main pages - https://specdog.github.io/ — landing page -- https://specdog.github.io/about — about page +- https://specdog.github.io/dotdog — dotdog CLI and MCP tooling +- https://specdog.github.io/about — project overview +- https://specdog.github.io/handbook — spec-driven development guide +- https://specdog.github.io/agents — AI agent instructions +- https://specdog.github.io/dogfood — dotdog self-validation dashboard - https://specdog.github.io/blog — blog index -- https://specdog.github.io/github — agent discovery snippets -- https://specdog.github.io/dotdog — dotdog docs -- https://specdog.github.io/collar — collar docs -- https://specdog.github.io/dogbench — dogbench benchmark -- https://specdog.github.io/leash — leash project - +- https://specdog.github.io/collar — DAG-first agent harness +- https://specdog.github.io/leash — robotics harness +- https://specdog.github.io/dogbench — token and agent-readability benchmark ## Blog posts +- https://specdog.github.io/blog/dotdog-workspace-bridge/ — Dotdog workspace manifests for multi-repo products - https://specdog.github.io/blog/agent-first-documentation/ — agent-first documentation - https://specdog.github.io/blog/google-ard-dotdog/ — agentic resource discovery - https://specdog.github.io/blog/karpathy-wiki-brain/ — project memory and entity graphs -## Agent discovery -- Use /agents for runtime instructions. -- Use /handbook for the spec-driven development guide. -- Use /sitemap.xml for crawlable routes. +## Discovery files +- https://specdog.github.io/sitemap.xml — search crawler sitemap +- https://specdog.github.io/robots.txt — crawler access and sitemap declaration +- https://specdog.github.io/llms.txt — this curated agent-readable index diff --git a/site-map.json b/site-map.json index 899756b..bc84132 100644 --- a/site-map.json +++ b/site-map.json @@ -1,17 +1,79 @@ { "pages": [ - {"path": "/", "title": "specdog"}, - {"path": "/dotdog", "title": "dotdog"}, - {"path": "/about", "title": "About"}, - {"path": "/blog", "title": "Blog"}, - {"path": "/github", "title": "Discovery"}, - {"path": "/handbook", "title": "Guide"}, - {"path": "/agents", "title": "For Agents"}, - {"path": "/dogfood", "title": "Dogfood"}, - {"path": "/collar", "title": "collar"}, - {"path": "/dogbench", "title": "dogbench"}, - {"path": "/leash", "title": "leash"} + { + "path": "/", + "title": "specdog" + }, + { + "path": "/dotdog", + "title": "dotdog" + }, + { + "path": "/about", + "title": "About" + }, + { + "path": "/handbook", + "title": "Guide" + }, + { + "path": "/agents", + "title": "For Agents" + }, + { + "path": "/dogfood", + "title": "Dogfood" + }, + { + "path": "/blog", + "title": "Blog" + }, + { + "path": "/blog/dotdog-workspace-bridge/", + "title": "Dotdog Workspaces" + }, + { + "path": "/blog/agent-first-documentation/", + "title": "Agent-first documentation" + }, + { + "path": "/blog/google-ard-dotdog/", + "title": "Agentic resource discovery" + }, + { + "path": "/blog/karpathy-wiki-brain/", + "title": "Project memory" + }, + { + "path": "/collar", + "title": "collar" + }, + { + "path": "/leash", + "title": "leash" + }, + { + "path": "/dogbench", + "title": "dogbench" + } ], - "nav": ["/", "/dotdog", "/about", "/blog", "/github", "/handbook", "/agents", "/dogfood", "/leash", "/collar"], - "skip": ["blog.html", "about.html", "github.html", "dogbench.html", "leash.html"] + "nav": [ + "/", + "/dotdog", + "/about", + "/handbook", + "/agents", + "/dogfood", + "/blog", + "/leash", + "/collar", + "/dogbench" + ], + "skip": [ + "blog.html", + "about.html", + "github.html", + "dogbench.html", + "leash.html" + ] } diff --git a/sitemap.xml b/sitemap.xml index 3e1f426..39459c4 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -34,14 +34,11 @@ https://specdog.github.io/blog/karpathy-wiki-brain/ - https://specdog.github.io/github + https://specdog.github.io/collar https://specdog.github.io/leash - - https://specdog.github.io/collar - https://specdog.github.io/dogbench