Files
wiki/content/pages/home.md
Wayne Sutton 5a8df46681 feat: Add semantic search with vector embeddings
Add vector-based semantic search to complement keyword search.
  Users can toggle between "Keyword" and "Semantic" modes in the
  search modal (Cmd+K, then Tab to switch).

  Semantic search:
  - Uses OpenAI text-embedding-ada-002 (1536 dimensions)
  - Finds content by meaning, not exact words
  - Shows similarity scores as percentages
  - ~300ms latency, ~$0.0001/query
  - Graceful fallback if OPENAI_API_KEY not set

  New files:
  - convex/embeddings.ts - Embedding generation actions
  - convex/embeddingsQueries.ts - Queries/mutations for embeddings
  - convex/semanticSearch.ts - Vector search action
  - convex/semanticSearchQueries.ts - Result hydration queries
  - content/pages/docs-search.md - Keyword search docs
  - content/pages/docs-semantic-search.md - Semantic search docs

  Changes:
  - convex/schema.ts: Add embedding field and by_embedding vectorIndex
  - SearchModal.tsx: Add mode toggle (TextAa/Brain icons)
  - sync-posts.ts: Generate embeddings after content sync
  - global.css: Search mode toggle styles

  Documentation updated:
  - changelog.md, TASK.md, files.md, about.md, home.md

  Configuration:
  npx convex env set OPENAI_API_KEY sk-your-key

  Generated with [Claude Code](https://claude.com/claude-code)

  Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

  Status: Ready to commit. All semantic search files are staged. The TypeScript warnings are pre-existing (unused variables) and don't affect the build.
2026-01-05 18:30:48 -08:00

1.2 KiB

title, slug, published, showInNav, order, textAlign
title slug published showInNav order textAlign
Home Intro home-intro true false -1 left

An open-source publishing framework built for AI agents and developers to ship docs, or blogs or websites.

Write markdown, sync from the terminal. Fork it, customize it, ship it.

Features

AI agent integration — API endpoints, raw markdown files, skills.md and MCP server included.

File-based publishing — Write markdown locally, run npm run sync, content syncs everywhere.

URL content import — Import urls to scrape any webpage into markdown with Firecrawl.

Newsletter automation — Built-in subscription forms and admin dashboard powered by AgentMail.

Multiple output formats — JSON via API endpoints, raw .md files, and RSS feeds.

Real-time team sync — Multiple developers run npm run sync from different machines.

Sync Commands - Sync discovery commands to update AGENTS.md, CLAUDE.md, and llms.txt

Semantic search - Find content by meaning, not just keywords, using vector embeddings.