mirror of
https://github.com/waynesutton/markdown-site.git
synced 2026-01-12 04:09:14 +00:00
Add AI writing assistant (Agent) powered by Anthropic Claude API. Agent can be enabled on Write page (replaces textarea) and optionally in RightSidebar on posts/pages via frontmatter. Features: - AIChatView component with per-page chat history - Page content context support for AI responses - Markdown rendering for AI responses - User-friendly error handling for missing API keys - System prompt configurable via Convex environment variables - Anonymous session authentication using localStorage Environment variables required: - ANTHROPIC_API_KEY (required) - CLAUDE_PROMPT_STYLE, CLAUDE_PROMPT_COMMUNITY, CLAUDE_PROMPT_RULES (optional split prompts) - CLAUDE_SYSTEM_PROMPT (optional single prompt fallback) Configuration: - siteConfig.aiChat.enabledOnWritePage: Enable Agent toggle on /write page - siteConfig.aiChat.enabledOnContent: Allow Agent on posts/pages via frontmatter - Frontmatter aiChat: true (requires rightSidebar: true) Updated files: - src/components/AIChatView.tsx: AI chat interface component - src/components/RightSidebar.tsx: Conditional Agent rendering - src/pages/Write.tsx: Agent mode toggle (title changes to Agent) - convex/aiChats.ts: Chat history queries and mutations - convex/aiChatActions.ts: Claude API integration with error handling - convex/schema.ts: aiChats table with indexes - src/config/siteConfig.ts: AIChatConfig interface - Documentation updated across all files Documentation: - files.md: Updated component descriptions - changelog.md: Added v1.33.0 entry - TASK.md: Marked AI chat tasks as completed - README.md: Added AI Agent Chat section - content/pages/docs.md: Added AI Agent chat documentation - content/blog/setup-guide.md: Added AI Agent chat setup instructions - public/raw/changelog.md: Added v1.33.0 entry
61 lines
1.5 KiB
JSON
61 lines
1.5 KiB
JSON
{
|
|
"siteName": "Your Site Name",
|
|
"siteTitle": "Your Tagline",
|
|
"siteDescription": "A one-sentence description of your site.",
|
|
"siteUrl": "https://yoursite.netlify.app",
|
|
"siteDomain": "yoursite.netlify.app",
|
|
"githubUsername": "yourusername",
|
|
"githubRepo": "your-repo-name",
|
|
"contactEmail": "you@example.com",
|
|
"creator": {
|
|
"name": "Your Name",
|
|
"twitter": "https://x.com/yourhandle",
|
|
"linkedin": "https://www.linkedin.com/in/yourprofile/",
|
|
"github": "https://github.com/yourusername"
|
|
},
|
|
"bio": "Write markdown, sync from the terminal. Your content is instantly available to browsers, LLMs, and AI agents.",
|
|
"gitHubRepoConfig": {
|
|
"owner": "yourusername",
|
|
"repo": "your-repo-name",
|
|
"branch": "main",
|
|
"contentPath": "public/raw"
|
|
},
|
|
"logoGallery": {
|
|
"enabled": true,
|
|
"title": "Built with",
|
|
"scrolling": false,
|
|
"maxItems": 4
|
|
},
|
|
"gitHubContributions": {
|
|
"enabled": true,
|
|
"showYearNavigation": true,
|
|
"linkToProfile": true,
|
|
"title": "GitHub Activity"
|
|
},
|
|
"visitorMap": {
|
|
"enabled": true,
|
|
"title": "Live Visitors"
|
|
},
|
|
"blogPage": {
|
|
"enabled": true,
|
|
"showInNav": true,
|
|
"title": "Blog",
|
|
"description": "All posts from the blog, sorted by date.",
|
|
"order": 2
|
|
},
|
|
"postsDisplay": {
|
|
"showOnHome": true,
|
|
"showOnBlogPage": true
|
|
},
|
|
"featuredViewMode": "cards",
|
|
"showViewToggle": true,
|
|
"theme": "tan",
|
|
"fontFamily": "serif",
|
|
"homepage": {
|
|
"type": "default",
|
|
"slug": null,
|
|
"originalHomeRoute": "/home"
|
|
}
|
|
}
|
|
|