Files
wiki/public/raw/index.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

7.9 KiB

Homepage

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.


Blog Posts (18)

  • How I added WorkOS to my Convex app with Cursor - A timeline of adding WorkOS AuthKit authentication to my markdown blog dashboard using Cursor, prompt engineering, and vibe coding. From PRD import to published feature.
    • Date: 2025-12-30 | Reading time: 8 min read | Tags: cursor, workos, convex, prompt-engineering, ai-coding
  • How to setup WorkOS with Markdown Sync - Step-by-step guide to configure WorkOS AuthKit authentication for your markdown blog dashboard. WorkOS is optional and can be enabled in siteConfig.ts.
    • Date: 2025-12-29 | Reading time: 10 min read | Tags: workos, authentication, tutorial, dashboard
  • How to use the Markdown sync dashboard - Learn how to use the dashboard at /dashboard to manage content, configure your site, and sync markdown files without leaving your browser.
    • Date: 2025-12-29 | Reading time: 8 min read | Tags: dashboard, tutorial, content-management
  • Team Workflows - How teams collaborate on markdown content using git, sync to shared Convex deployments, and automate production syncs with CI/CD.
    • Date: 2025-12-29 | Reading time: 6 min read | Tags: git, convex, ci-cd, collaboration, workflow
  • How to Use the MCP Server with MarkDown Sync - Guide to using the HTTP-based Model Context Protocol(MCP) server at www.markdown.fast/mcp with Cursor and other AI tools
    • Date: 2025-12-28 | Reading time: 5 min read | Tags: mcp, cursor, ai, tutorial, netlify
  • How to use AgentMail with Markdown Sync - Complete guide to setting up AgentMail for newsletters and contact forms in your markdown blog
    • Date: 2025-12-27 | Reading time: 6 min read | Tags: agentmail, newsletter, email, setup
  • How to use Firecrawl with Markdown Sync - Import external articles as markdown posts using Firecrawl. Get your API key and configure environment variables for local imports and AI chat.
    • Date: 2025-12-26 | Reading time: 2 min read | Tags: tutorial, firecrawl, import
  • Happy holidays and thank you - A quick note of thanks for stars, forks, and feedback. More AI-first publishing features coming in 2026.
    • Date: 2025-12-25 | Reading time: 2 min read | Tags: updates, community, ai
  • Visitor tracking and stats improvements - Real-time visitor map, write conflict prevention, GitHub Stars integration, and better AI prompts. Updates from v1.18.1 to v1.20.2.
    • Date: 2025-12-21 | Reading time: 5 min read | Tags: features, stats, convex, updates, analytics
  • Configure your fork in one command - Two options to set up your forked markdown framework: automated JSON config with npm run configure, or step-by-step manual guide.
    • Date: 2025-12-20 | Reading time: 4 min read | Tags: configuration, setup, fork, tutorial
  • v1.18.0 release: 12 versions of shipping - Everything new from v1.7 to v1.18.0. Automated fork setup, GitHub contributions graph, write page, mobile menu, aggregates, and more.
    • Date: 2025-12-20 | Reading time: 8 min read | Tags: release, features, updates, developer-tools
  • New features: search, featured section, and logo gallery - Three updates that make your markdown framework more useful: Command+K search, frontmatter-controlled featured items, and a scrolling logo gallery.
    • Date: 2025-12-17 | Reading time: 4 min read | Tags: features, search, convex, updates
  • Git commit message best practices - A guide to writing clear, consistent commit messages that help your team understand changes and generate better changelogs.
    • Date: 2025-12-14 | Reading time: 5 min read | Tags: git, development, best-practices, workflow
  • How to Publish a Blog Post - A quick guide to writing and publishing markdown posts using Cursor after your framework is set up.
    • Date: 2025-12-14 | Reading time: 3 min read | Tags: tutorial, markdown, cursor, IDE, publishing
  • Writing Markdown with Code Examples - A complete reference for writing markdown with links, code blocks, images, tables, and formatting. Copy examples directly into your posts.
    • Date: 2025-12-14 | Reading time: 5 min read | Tags: markdown, tutorial, code
  • How we fixed AI crawlers blocked by Netlify edge functions - ChatGPT and Perplexity couldn't fetch /raw/*.md files on Netlify. The fix: Content-Type headers. Here's what we tried and what actually worked.
    • Date: 2025-12-14 | Reading time: 5 min read | Tags: netlify, edge-functions, ai, troubleshooting
  • Setup Guide - Step-by-step guide to fork this markdown sync framework, set up Convex backend, and deploy to Netlify in under 10 minutes.
    • Date: 2025-12-14 | Reading time: 8 min read | Tags: convex, netlify, tutorial, deployment
  • Using Images in Blog Posts - Learn how to add header images, inline images, and Open Graph images to your markdown posts.
    • Date: 2025-12-14 | Reading time: 4 min read | Tags: images, tutorial, markdown, open-graph

Pages (15)


Total Content: 18 posts, 15 pages

All content is available as raw markdown files at /raw/{slug}.md


Built with Convex for real-time sync and deployed on Netlify. Read the project on GitHub to fork and deploy your own. View real-time site stats.

Created by Wayne with Convex, Cursor, and Claude Opus 4.5. Follow on Twitter/X, LinkedIn, and GitHub. This project is licensed under the MIT License.