Add a complete fork configuration system that allows users to set up their forked site with a single command or follow manual instructions. ## New files - FORK_CONFIG.md: Comprehensive guide with two setup options - Option 1: Automated JSON config + npm run configure - Option 2: Manual step-by-step instructions with code snippets - AI agent prompt for automated updates - fork-config.json.example: JSON template with all configuration fields - Site info (name, title, description, URL, domain) - GitHub and contact details - Creator section for footer links - Optional feature toggles (logo gallery, GitHub graph, blog page) - Theme selection - scripts/configure-fork.ts: Automated configuration script - Reads fork-config.json and applies changes to all files - Updates 11 configuration files in one command - Type-safe with ForkConfig interface - Detailed console output showing each file updated ## Updated files - package.json: Added configure script (npm run configure) - .gitignore: Added fork-config.json to keep user config local - files.md: Added new fork configuration files - changelog.md: Added v1.18.0 entry - changelog-page.md: Added v1.18.0 section with full details - TASK.md: Updated status and completed tasks - README.md: Replaced Files to Update section with Fork Configuration - content/blog/setup-guide.md: Added Fork Configuration Options section - content/pages/docs.md: Added Fork Configuration section - content/pages/about.md: Added fork configuration mention - content/blog/fork-configuration-guide.md: New featured blog post ## Files updated by configure script | File | What it updates | | ----------------------------------- | -------------------------------------- | | src/config/siteConfig.ts | Site name, bio, GitHub, features | | src/pages/Home.tsx | Intro paragraph, footer links | | src/pages/Post.tsx | SITE_URL, SITE_NAME constants | | convex/http.ts | SITE_URL, SITE_NAME constants | | convex/rss.ts | SITE_URL, SITE_TITLE, SITE_DESCRIPTION | | index.html | Meta tags, JSON-LD, page title | | public/llms.txt | Site info, GitHub link | | public/robots.txt | Sitemap URL | | public/openapi.yaml | Server URL, site name | | public/.well-known/ai-plugin.json | Plugin metadata | | src/context/ThemeContext.tsx | Default theme | ## Usage Automated: cp fork-config.json.example fork-config.json # Edit fork-config.json npm run configure Manual: Follow FORK_CONFIG.md step-by-step guide
3.2 KiB
title, slug, published, order, excerpt
| title | slug | published | order | excerpt |
|---|---|---|---|---|
| About | about | true | 2 | An open-source publishing framework for AI agents and developers. |
An open-source publishing framework for AI agents and developers. Write markdown, sync from the terminal. Your content is instantly available to browsers, LLMs, and AI agents. Built on Convex and Netlify.
What makes it a dev sync system
File-based content. All posts and pages live in content/blog/ and content/pages/ as markdown files with frontmatter. No database UI. No admin panel. Just files in your repo.
CLI publishing workflow. Write markdown locally, then run npm run sync (dev) or npm run sync:prod (production). Content appears instantly via Convex real-time sync. Images require git commit and push since they are served as static files from Netlify.
Version controlled. Markdown source files live in your repo alongside code. Commit changes, review diffs, roll back like any codebase. The sync command pushes content to the database.
# Edit a post, then commit and sync
git add content/blog/my-post.md
git commit -m "Update intro paragraph"
npm run sync # dev
npm run sync:prod # production
No admin interface. No web UI for creating or editing content. You use your code editor and terminal.
The real-time twist
What separates this from a static site generator is the Convex real-time database. Once you sync content:
- All connected browsers update immediately
- No rebuild or redeploy needed
- Search, stats, and RSS update automatically
It's a hybrid: developer workflow for publishing + real-time delivery like a dynamic CMS.
The stack
| Layer | Technology |
|---|---|
| Frontend | React + TypeScript |
| Backend | Convex |
| Styling | CSS variables |
| Hosting | Netlify |
| Content | Markdown |
Features
- Four theme options (dark, light, tan, cloud)
- Mobile menu with hamburger navigation on smaller screens
- Full text search with Command+K shortcut
- Featured section with list/card view toggle and excerpts
- Logo gallery with clickable links and marquee scroll
- GitHub contributions graph with year navigation
- Dedicated blog page with configurable navigation order
- Real-time analytics at
/stats - RSS feeds and sitemap for SEO
- Static raw markdown files at
/raw/{slug}.md - API endpoints for AI/LLM access
- Copy to ChatGPT, Claude, and Perplexity sharing
- Generate Skill option for AI agent training
- View as Markdown option in share dropdown
- Markdown writing page at
/writewith frontmatter reference
Who this is for
- Developers who want version-controlled content
- Teams comfortable with markdown and CLI
- Projects where AI agents generate content programmatically
- Sites that need real-time updates without full rebuilds
Fork configuration
After forking, configure your site with a single command:
cp fork-config.json.example fork-config.json
# Edit fork-config.json
npm run configure
Or follow the manual guide in FORK_CONFIG.md. Both options update all 11 configuration files with your site information.
Fork it, customize it, ship it.