diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 217e48f..3bb031a 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -32,11 +32,12 @@ jobs:
working-directory: ./website
run: npm ci
- - name: Extract metadata from anchor files
+ - name: Extract metadata and generate sitemap
working-directory: ./scripts
run: |
npm ci
node extract-metadata.js
+ node generate-sitemap.js
- name: Copy documentation files to public directory
run: |
diff --git a/package.json b/package.json
index e8e435f..4a15add 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,9 @@
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
- "extract-metadata": "node scripts/extract-metadata.js"
+ "extract-metadata": "node scripts/extract-metadata.js",
+ "generate-sitemap": "node scripts/generate-sitemap.js",
+ "build": "npm run extract-metadata && npm run generate-sitemap"
},
"keywords": [],
"author": "",
diff --git a/scripts/generate-sitemap.js b/scripts/generate-sitemap.js
new file mode 100755
index 0000000..f52061c
--- /dev/null
+++ b/scripts/generate-sitemap.js
@@ -0,0 +1,71 @@
+#!/usr/bin/env node
+
+/**
+ * generate-sitemap.js
+ *
+ * Generates sitemap.xml for the Semantic Anchors website
+ */
+
+const fs = require('fs');
+const path = require('path');
+
+// Paths
+const ANCHORS_DATA = path.join(__dirname, '..', 'website', 'public', 'data', 'anchors.json');
+const OUTPUT_FILE = path.join(__dirname, '..', 'website', 'public', 'sitemap.xml');
+const BASE_URL = 'https://llm-coding.github.io/Semantic-Anchors';
+
+// Read anchors data
+const anchorsData = JSON.parse(fs.readFileSync(ANCHORS_DATA, 'utf-8'));
+
+// Generate sitemap
+const today = new Date().toISOString().split('T')[0];
+
+let sitemap = `
+
+
+
+ ${BASE_URL}/
+ ${today}
+ weekly
+ 1.0
+
+
+
+
+ ${BASE_URL}/#/about
+ ${today}
+ monthly
+ 0.8
+
+
+
+
+ ${BASE_URL}/#/contributing
+ ${today}
+ monthly
+ 0.7
+
+
+`;
+
+// Add all anchors
+anchorsData.forEach(anchor => {
+ sitemap += `
+
+ ${BASE_URL}/#/anchor/${anchor.id}
+ ${today}
+ monthly
+ 0.6
+
+
+`;
+});
+
+sitemap += `
+`;
+
+// Write sitemap
+fs.writeFileSync(OUTPUT_FILE, sitemap, 'utf-8');
+
+console.log(`✓ Sitemap generated: ${OUTPUT_FILE}`);
+console.log(`✓ Total URLs: ${anchorsData.length + 3} (3 pages + ${anchorsData.length} anchors)`);
diff --git a/website/index.html b/website/index.html
index aa0939f..f0f9db7 100644
--- a/website/index.html
+++ b/website/index.html
@@ -4,8 +4,64 @@
-
-
Semantic Anchors
+
+
+ Semantic Anchors - Curated Catalog for LLM Communication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/public/robots.txt b/website/public/robots.txt
new file mode 100644
index 0000000..7e21c6e
--- /dev/null
+++ b/website/public/robots.txt
@@ -0,0 +1,10 @@
+# robots.txt for Semantic Anchors
+
+User-agent: *
+Allow: /
+
+# Sitemaps
+Sitemap: https://llm-coding.github.io/Semantic-Anchors/sitemap.xml
+
+# Disallow search bot indexing of specific paths if needed
+# (currently allowing all)
diff --git a/website/public/sitemap.xml b/website/public/sitemap.xml
new file mode 100644
index 0000000..8be917d
--- /dev/null
+++ b/website/public/sitemap.xml
@@ -0,0 +1,411 @@
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/
+ 2026-02-14
+ weekly
+ 1.0
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/about
+ 2026-02-14
+ monthly
+ 0.8
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/contributing
+ 2026-02-14
+ monthly
+ 0.7
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/adr-according-to-nygard
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/arc42
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/bem-methodology
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/bluf
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/c4-diagrams
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/chain-of-thought
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/clean-architecture
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/control-chart-shewhart
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/conventional-commits
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/cynefin-framework
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/devils-advocate
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/diataxis-framework
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/docs-as-code
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/domain-driven-design
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/dry-principle
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/ears-requirements
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/feynman-technique
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/five-whys
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/hexagonal-architecture
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/iec-61508-sil-levels
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/impact-mapping
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/jobs-to-be-done
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/madr
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/mece
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/mental-model-according-to-naur
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/morphological-box
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/mutation-testing
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/nelson-rules
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/problem-space-nvc
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/property-based-testing
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/pugh-matrix
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/pyramid-principle
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/rubber-duck-debugging
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/semantic-versioning
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/socratic-method
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/solid-principles
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/sota
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/spc
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/spot-principle
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/ssot-principle
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/tdd-chicago-school
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/tdd-london-school
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/testing-pyramid
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/timtowtdi
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/todotxt-flavoured-markdown
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/user-story-mapping
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/wardley-mapping
+ 2026-02-14
+ monthly
+ 0.6
+
+
+
+
+ https://llm-coding.github.io/Semantic-Anchors/#/anchor/what-qualifies-as-a-semantic-anchor
+ 2026-02-14
+ monthly
+ 0.6
+
+
+