SEO: add title and description to all integration pages (#787)

* SEO: add title and description to all integration pages

All 17 integration docs pages were missing title and description
frontmatter, causing Docusaurus to generate unhelpful titles like
"OpenClaw | Hindsight" and pull body text as meta descriptions.

- Add keyword-rich title and description frontmatter to all integration
  pages in both docs/ (current) and versioned_docs/version-0.4/
- Add scripts/check-integration-seo.mjs to enforce title + description
  on all future integration pages
- Wire the check into the build script so it runs locally and in CI

* Fix missing frontmatter on docs/sdks/integrations/openclaw.md

* Regenerate docs skill after integration page SEO updates
This commit is contained in:
Chris Bartholomew 2026-03-30 17:53:43 -04:00 committed by GitHub
parent 99122055f0
commit 45ffc7fe90
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
52 changed files with 171 additions and 1 deletions

View file

@ -1,5 +1,7 @@
---
sidebar_position: 8
title: "AG2 (AutoGen) Persistent Memory with Hindsight | Integration Guide"
description: "Add long-term persistent memory to your AG2 (AutoGen) agents with Hindsight. Automatic fact extraction, entity tracking, and recall tools that persist across conversations."
---
# AG2

View file

@ -1,5 +1,7 @@
---
sidebar_position: 9
title: "Agno Agent Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to Agno agents using Hindsight's retain, recall, and reflect tools. Plug into Agno's native Toolkit pattern for long-term memory across sessions."
---
# Agno

View file

@ -1,5 +1,7 @@
---
sidebar_position: 4
title: "Vercel AI SDK Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to any Vercel AI SDK application with five ready-to-use Hindsight tools. Retain conversations, recall context, and reflect on past interactions — works with any model."
---
# Vercel AI SDK

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "Vercel Chat SDK Persistent Memory with Hindsight | Integration"
description: "Give your Vercel Chat SDK bot persistent, per-user memory across Slack, Discord, Teams, and more. Single handler wrapper, no custom plumbing required."
---
# Vercel Chat SDK

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "Claude Code Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Claude Code with Hindsight. Automatically captures conversations and recalls relevant context across sessions using Claude Code's hook-based architecture."
---
# Claude Code

View file

@ -1,5 +1,7 @@
---
sidebar_position: 6
title: "Codex CLI Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to OpenAI Codex CLI with Hindsight. Three Python hook scripts automatically recall context before each prompt and retain conversations — no workflow changes required."
---
# Codex

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "CrewAI Persistent Memory with Hindsight | Integration Guide"
description: "Add long-term memory to your CrewAI agent crews. Hindsight provides fact extraction, entity tracking, and temporal awareness — persisted automatically across all crew runs."
---
# CrewAI

View file

@ -1,5 +1,7 @@
---
sidebar_position: 10
title: "Hermes Agent Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Hermes Agent with Hindsight. Automatically recalls context before every LLM call and retains conversations for future sessions."
---
# Hermes Agent

View file

@ -1,5 +1,7 @@
---
sidebar_position: 7
title: "LangGraph & LangChain Persistent Memory with Hindsight"
description: "Add long-term memory to LangGraph and LangChain agents with Hindsight. Three integration patterns — tools, nodes, and BaseStore adapter — for persistent memory across agent runs."
---
# LangGraph / LangChain

View file

@ -1,5 +1,7 @@
---
sidebar_position: 1
title: "LiteLLM Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to any LLM application via LiteLLM and Hindsight. Universal integration — works with any model or provider with just a few lines of code."
---
# LiteLLM

View file

@ -1,5 +1,7 @@
---
sidebar_position: 8
title: "LlamaIndex Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to LlamaIndex agents with Hindsight. Supports agent-driven tools (HindsightToolSpec) and automatic memory via the BaseMemory interface."
---
# LlamaIndex

View file

@ -1,5 +1,7 @@
---
sidebar_position: 2
title: "Hindsight Local MCP Server | Persistent Memory for Claude"
description: "Run Hindsight as a local MCP server with embedded PostgreSQL — no external setup required. Ideal for Claude Code and Claude Desktop for long-term memory across conversations."
---
# Local MCP Server

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "NemoClaw Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to NemoClaw sandboxed agents with Hindsight. One command adds automated memory extraction and auto-recall to any NemoClaw sandbox — no code changes required."
---
# NemoClaw

View file

@ -1,5 +1,7 @@
---
sidebar_position: 4
title: "OpenClaw Persistent Memory with Hindsight | Plugin Integration"
description: "Add persistent, automated memory to your OpenClaw agent with Hindsight. Local-first, open source — one plugin install replaces built-in memory with structured knowledge extraction and auto-recall."
---
# OpenClaw

View file

@ -1,5 +1,7 @@
---
sidebar_position: 6
title: "Pydantic AI Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Pydantic AI agents with Hindsight. Async-native retain, recall, and reflect tools — persistent memory across all agent runs with no thread-pool hacks."
---
# Pydantic AI

View file

@ -1,5 +1,7 @@
---
sidebar_position: 3
title: "Hindsight Agent Memory Skill | AI Coding Assistant Integration"
description: "Give AI coding assistants like Claude Code and Codex persistent memory across sessions with Hindsight's Agent Skill — a reusable prompt template for long-term context retention."
---
# Skills

View file

@ -1,5 +1,7 @@
---
sidebar_position: 13
title: "Strands Agents Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Strands Agents SDK agents with Hindsight. Retain, recall, and reflect tools using Strands' native @tool pattern for persistent memory across sessions."
---
# Strands Agents

View file

@ -5,7 +5,7 @@
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "node scripts/check-code-parity.mjs && docusaurus build",
"build": "node scripts/check-code-parity.mjs && node scripts/check-integration-seo.mjs && docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",

View file

@ -0,0 +1,70 @@
#!/usr/bin/env node
/**
* Validates that every integration docs page has `title` and `description`
* in its frontmatter for SEO purposes.
*
* Only checks docs/sdks/integrations/ (the current/unreleased version).
* Versioned docs are frozen snapshots and checked separately on release.
*
* Run: node scripts/check-integration-seo.mjs
*/
import { readFileSync, readdirSync } from 'node:fs';
import { join, relative } from 'node:path';
import { fileURLToPath } from 'node:url';
import { dirname } from 'node:path';
const __dirname = dirname(fileURLToPath(import.meta.url));
const integrationsDir = join(__dirname, '..', 'docs', 'sdks', 'integrations');
const IGNORED_FILES = ['_template.md', '_category_.json'];
function parseFrontmatter(content) {
if (!content.startsWith('---')) return {};
const end = content.indexOf('\n---', 3);
if (end === -1) return {};
const fm = content.slice(4, end);
const fields = {};
for (const line of fm.split('\n')) {
const match = line.match(/^(\w[\w-]*):\s*(.+)$/);
if (match) fields[match[1]] = match[2].trim();
}
return fields;
}
// ─── Main ────────────────────────────────────────────────────────────────────
const files = readdirSync(integrationsDir).filter(
f => (f.endsWith('.md') || f.endsWith('.mdx')) && !IGNORED_FILES.includes(f)
);
const violations = [];
for (const filename of files) {
const filepath = join(integrationsDir, filename);
const content = readFileSync(filepath, 'utf8');
const fm = parseFrontmatter(content);
const missing = [];
if (!fm.title) missing.push('title');
if (!fm.description) missing.push('description');
if (missing.length > 0) {
violations.push({ filename, missing });
}
}
if (violations.length > 0) {
console.error('[integration-seo] ❌ The following integration pages are missing required frontmatter:\n');
for (const { filename, missing } of violations) {
console.error(` docs/sdks/integrations/${filename} — missing: ${missing.join(', ')}`);
}
console.error('\nAll integration pages must have both `title` and `description` in their frontmatter.');
console.error('Example:\n');
console.error(' ---');
console.error(' sidebar_position: 1');
console.error(' title: "MyFramework Persistent Memory with Hindsight | Integration"');
console.error(' description: "Add long-term memory to MyFramework agents with Hindsight. ..."');
console.error(' ---');
process.exit(1);
} else {
console.log(`[integration-seo] ✅ All ${files.length} integration pages have title and description.`);
}

View file

@ -1,5 +1,7 @@
---
sidebar_position: 8
title: "AG2 (AutoGen) Persistent Memory with Hindsight | Integration Guide"
description: "Add long-term persistent memory to your AG2 (AutoGen) agents with Hindsight. Automatic fact extraction, entity tracking, and recall tools that persist across conversations."
---
# AG2

View file

@ -1,5 +1,7 @@
---
sidebar_position: 9
title: "Agno Agent Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to Agno agents using Hindsight's retain, recall, and reflect tools. Plug into Agno's native Toolkit pattern for long-term memory across sessions."
---
# Agno

View file

@ -1,5 +1,7 @@
---
sidebar_position: 4
title: "Vercel AI SDK Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to any Vercel AI SDK application with five ready-to-use Hindsight tools. Retain conversations, recall context, and reflect on past interactions — works with any model."
---
# Vercel AI SDK

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "Vercel Chat SDK Persistent Memory with Hindsight | Integration"
description: "Give your Vercel Chat SDK bot persistent, per-user memory across Slack, Discord, Teams, and more. Single handler wrapper, no custom plumbing required."
---
# Vercel Chat SDK

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "Claude Code Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Claude Code with Hindsight. Automatically captures conversations and recalls relevant context across sessions using Claude Code's hook-based architecture."
---
# Claude Code

View file

@ -1,5 +1,7 @@
---
sidebar_position: 6
title: "Codex CLI Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to OpenAI Codex CLI with Hindsight. Three Python hook scripts automatically recall context before each prompt and retain conversations — no workflow changes required."
---
# Codex

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "CrewAI Persistent Memory with Hindsight | Integration Guide"
description: "Add long-term memory to your CrewAI agent crews. Hindsight provides fact extraction, entity tracking, and temporal awareness — persisted automatically across all crew runs."
---
# CrewAI

View file

@ -1,5 +1,7 @@
---
sidebar_position: 10
title: "Hermes Agent Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Hermes Agent with Hindsight. Automatically recalls context before every LLM call and retains conversations for future sessions."
---
# Hermes Agent

View file

@ -1,5 +1,7 @@
---
sidebar_position: 7
title: "LangGraph & LangChain Persistent Memory with Hindsight"
description: "Add long-term memory to LangGraph and LangChain agents with Hindsight. Three integration patterns — tools, nodes, and BaseStore adapter — for persistent memory across agent runs."
---
# LangGraph / LangChain

View file

@ -1,5 +1,7 @@
---
sidebar_position: 1
title: "LiteLLM Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to any LLM application via LiteLLM and Hindsight. Universal integration — works with any model or provider with just a few lines of code."
---
# LiteLLM

View file

@ -1,5 +1,7 @@
---
sidebar_position: 8
title: "LlamaIndex Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to LlamaIndex agents with Hindsight. Supports agent-driven tools (HindsightToolSpec) and automatic memory via the BaseMemory interface."
---
# LlamaIndex

View file

@ -1,5 +1,7 @@
---
sidebar_position: 2
title: "Hindsight Local MCP Server | Persistent Memory for Claude"
description: "Run Hindsight as a local MCP server with embedded PostgreSQL — no external setup required. Ideal for Claude Code and Claude Desktop for long-term memory across conversations."
---
# Local MCP Server

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "NemoClaw Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to NemoClaw sandboxed agents with Hindsight. One command adds automated memory extraction and auto-recall to any NemoClaw sandbox — no code changes required."
---
# NemoClaw

View file

@ -1,5 +1,7 @@
---
sidebar_position: 4
title: "OpenClaw Persistent Memory with Hindsight | Plugin Integration"
description: "Add persistent, automated memory to your OpenClaw agent with Hindsight. Local-first, open source — one plugin install replaces built-in memory with structured knowledge extraction and auto-recall."
---
# OpenClaw

View file

@ -1,5 +1,7 @@
---
sidebar_position: 6
title: "Pydantic AI Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Pydantic AI agents with Hindsight. Async-native retain, recall, and reflect tools — persistent memory across all agent runs with no thread-pool hacks."
---
# Pydantic AI

View file

@ -1,5 +1,7 @@
---
sidebar_position: 3
title: "Hindsight Agent Memory Skill | AI Coding Assistant Integration"
description: "Give AI coding assistants like Claude Code and Codex persistent memory across sessions with Hindsight's Agent Skill — a reusable prompt template for long-term context retention."
---
# Skills

View file

@ -1,5 +1,7 @@
---
sidebar_position: 13
title: "Strands Agents Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Strands Agents SDK agents with Hindsight. Retain, recall, and reflect tools using Strands' native @tool pattern for persistent memory across sessions."
---
# Strands Agents

View file

@ -1,5 +1,7 @@
---
sidebar_position: 8
title: "AG2 (AutoGen) Persistent Memory with Hindsight | Integration Guide"
description: "Add long-term persistent memory to your AG2 (AutoGen) agents with Hindsight. Automatic fact extraction, entity tracking, and recall tools that persist across conversations."
---
# AG2

View file

@ -1,5 +1,7 @@
---
sidebar_position: 9
title: "Agno Agent Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to Agno agents using Hindsight's retain, recall, and reflect tools. Plug into Agno's native Toolkit pattern for long-term memory across sessions."
---
# Agno

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "Vercel Chat SDK Persistent Memory with Hindsight | Integration"
description: "Give your Vercel Chat SDK bot persistent, per-user memory across Slack, Discord, Teams, and more. Single handler wrapper, no custom plumbing required."
---
# Vercel Chat SDK

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "Claude Code Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Claude Code with Hindsight. Automatically captures conversations and recalls relevant context across sessions using Claude Code's hook-based architecture."
---
# Claude Code

View file

@ -1,5 +1,7 @@
---
sidebar_position: 6
title: "Codex CLI Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to OpenAI Codex CLI with Hindsight. Three Python hook scripts automatically recall context before each prompt and retain conversations — no workflow changes required."
---
# Codex

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "CrewAI Persistent Memory with Hindsight | Integration Guide"
description: "Add long-term memory to your CrewAI agent crews. Hindsight provides fact extraction, entity tracking, and temporal awareness — persisted automatically across all crew runs."
---
# CrewAI

View file

@ -1,5 +1,7 @@
---
sidebar_position: 10
title: "Hermes Agent Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Hermes Agent with Hindsight. Automatically recalls context before every LLM call and retains conversations for future sessions."
---
# Hermes Agent

View file

@ -1,5 +1,7 @@
---
sidebar_position: 7
title: "LangGraph & LangChain Persistent Memory with Hindsight"
description: "Add long-term memory to LangGraph and LangChain agents with Hindsight. Three integration patterns — tools, nodes, and BaseStore adapter — for persistent memory across agent runs."
---
# LangGraph / LangChain

View file

@ -1,5 +1,7 @@
---
sidebar_position: 1
title: "LiteLLM Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to any LLM application via LiteLLM and Hindsight. Universal integration — works with any model or provider with just a few lines of code."
---
# LiteLLM

View file

@ -1,5 +1,7 @@
---
sidebar_position: 8
title: "LlamaIndex Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to LlamaIndex agents with Hindsight. Supports agent-driven tools (HindsightToolSpec) and automatic memory via the BaseMemory interface."
---
# LlamaIndex

View file

@ -1,5 +1,7 @@
---
sidebar_position: 2
title: "Hindsight Local MCP Server | Persistent Memory for Claude"
description: "Run Hindsight as a local MCP server with embedded PostgreSQL — no external setup required. Ideal for Claude Code and Claude Desktop for long-term memory across conversations."
---
# Local MCP Server

View file

@ -1,5 +1,7 @@
---
sidebar_position: 5
title: "NemoClaw Persistent Memory with Hindsight | Integration Guide"
description: "Add persistent memory to NemoClaw sandboxed agents with Hindsight. One command adds automated memory extraction and auto-recall to any NemoClaw sandbox — no code changes required."
---
# NemoClaw

View file

@ -1,5 +1,7 @@
---
sidebar_position: 4
title: "OpenClaw Persistent Memory with Hindsight | Plugin Integration"
description: "Add persistent, automated memory to your OpenClaw agent with Hindsight. Local-first, open source — one plugin install replaces built-in memory with structured knowledge extraction and auto-recall."
---
# OpenClaw

View file

@ -1,5 +1,7 @@
---
sidebar_position: 6
title: "Pydantic AI Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Pydantic AI agents with Hindsight. Async-native retain, recall, and reflect tools — persistent memory across all agent runs with no thread-pool hacks."
---
# Pydantic AI

View file

@ -1,5 +1,7 @@
---
sidebar_position: 3
title: "Hindsight Agent Memory Skill | AI Coding Assistant Integration"
description: "Give AI coding assistants like Claude Code and Codex persistent memory across sessions with Hindsight's Agent Skill — a reusable prompt template for long-term context retention."
---
# Skills

View file

@ -1,5 +1,7 @@
---
sidebar_position: 13
title: "Strands Agents Persistent Memory with Hindsight | Integration"
description: "Add long-term memory to Strands Agents SDK agents with Hindsight. Retain, recall, and reflect tools using Strands' native @tool pattern for persistent memory across sessions."
---
# Strands Agents