{"title":"About Pugmill CMS","slug":"about","type":"page","excerpt":"Open-source CMS built on Next.js and PostgreSQL, with native answer engine optimization, AI content tools, and a plugin architecture for developers and small teams.","content":"Pugmill CMS is an open-source content management system built on Next.js, PostgreSQL, and Drizzle ORM. The system targets developers and small teams requiring a modern stack without the overhead of a traditional CMS. Answer engine optimization ships as a native feature. Plugins add functionality, including a built-in MCP server, outbound webhooks, and AI provider-powered content generation and editing.\r\n\r\n## **What Pugmill Is**\r\n\r\nPugmill is a headless-ready CMS shipping with a native front-end theme system. The admin interface covers posts, pages, media, and users. A plugin architecture allows extending functionality without modifying the core codebase. The system stores content as Markdown and utilizes a hierarchical structure for nesting pages.\r\n\r\n## **Who It's For**\r\n\r\nPugmill targets developers setting up content sites. Operating the system assumes comfort with a terminal and environment variables. Users manage content, design, and plugins through the admin interface. Built for workflows pairing one human with one AI agent, the platform assumes the human sets the direction while the AI agent contributes context and execution. Testing covers Claude Code and similar AI-native environments.\r\n\r\n## **Philosophy**\r\n\r\nCore functionality includes operations running continuously, requiring deep integration, or establishing trust boundaries. Tasks an AI agent can execute as a one-off action remain outside the core product. All features function without an AI provider configured. Connecting a provider adds generation, suggestion, and automation to those existing capabilities.\r\n\r\n## **Core Capabilities**\r\n\r\nIntegrating an AI agent involves community recipes following the agent skills open standard. Compatible agents read a recipe markdown file directly from a repository URL for installation. A built-in skill assists agents in packaging and publishing new extensions.\r\n\r\nPugmill implements the llms.txt specification. It serves per-post metadata including summaries, question-and-answer pairs, and entities. Bot analytics track AI crawler and search spider visits to these endpoints.\r\n\r\nThe presentation layer uses React and Next.js, featuring swappable themes, server components, and a design token system. A public REST API provides cross-origin resource sharing, pagination, and data envelopes for external frontends.\r\n\r\nContent creation relies on a Markdown-first editor. Editors toggle between visual and raw Markdown views. Each post save generates a revision snapshot, allowing users to restore previous versions.\r\n\r\n## **Storage and Security**\r\n\r\nStorage abstractions support local filesystems and S3-compatible providers. Pre-commit hooks scan staged files for hardcoded secrets and connection strings. Admin routes require an authenticated session with specific role permissions. HTML rendering relies on sanitization to process raw inputs before display.\r\n\r\n## **Technology Stack**\r\n\r\nThe project uses Next.js 15 for the framework and TypeScript 5 for the language. Data management relies on PostgreSQL 16 and Drizzle ORM. Authentication uses NextAuth v5, supporting credentials and OAuth providers. Tailwind CSS 3 handles styling, and Tiptap 3 provides the editor interface.","publishedAt":"2026-05-04T01:58:15.615Z","updatedAt":"2026-05-04T01:58:15.615Z","author":{"name":"Michael Janzen"},"categories":[{"name":"Content Management Systems","slug":"content-management-systems"}],"tags":[{"name":"headless-cms","slug":"headless-cms"},{"name":"open-source","slug":"open-source"},{"name":"content-management-system","slug":"content-management-system"},{"name":"next-js","slug":"next-js"},{"name":"ai-integration","slug":"ai-integration"},{"name":"answer-engine-optimization","slug":"answer-engine-optimization"}],"featuredImageUrl":null,"aeo":{"summary":"Pugmill CMS is an open-source, headless-ready content management system built on Next.js 15, PostgreSQL 16, and Drizzle ORM, targeting developers and small teams who want a modern stack without traditional CMS overhead. It ships with native answer engine optimization (AEO), a plugin architecture, AI provider integration for content generation, and support for the llms.txt specification. The platform is designed for workflows pairing a human with an AI agent and supports extensibility through community recipes following the agent skills open standard.","questions":[{"q":"What technology stack does Pugmill CMS use?","a":"Pugmill CMS is built on Next.js 15, TypeScript 5, PostgreSQL 16, Drizzle ORM, NextAuth v5 for authentication, Tailwind CSS 3 for styling, and Tiptap 3 as the editor interface."},{"q":"Is Pugmill CMS headless?","a":"Pugmill CMS is headless-ready, shipping with both a native front-end theme system and a public REST API with CORS support, pagination, and data envelopes for use with external frontends."},{"q":"Does Pugmill CMS support AI content generation?","a":"Pugmill CMS supports AI-powered content generation and editing when an AI provider is configured, and all core features remain fully functional without one connected."},{"q":"What is the llms.txt specification and does Pugmill implement it?","a":"The llms.txt specification is a standard for serving machine-readable metadata about web content, and Pugmill CMS implements it by serving per-post summaries, question-and-answer pairs, and entity data, while also tracking AI crawler visits to those endpoints."},{"q":"What kind of plugin and extension support does Pugmill CMS have?","a":"Pugmill CMS includes a plugin architecture for extending functionality without modifying core code, a built-in MCP server, outbound webhooks, and support for community recipes following the agent skills open standard for AI agent integration."}],"entities":[{"type":"SoftwareApplication","name":"Pugmill CMS","description":"An open-source, headless-ready content management system built on Next.js, PostgreSQL, and Drizzle ORM, with native AEO support and AI agent integration."},{"type":"SoftwareApplication","name":"Next.js","description":"The React-based web framework used as the foundation of Pugmill CMS, version 15.","sameAs":"https://en.wikipedia.org/wiki/Next.js"},{"type":"SoftwareApplication","name":"PostgreSQL","description":"The relational database management system used for data storage in Pugmill CMS, version 16.","sameAs":"https://en.wikipedia.org/wiki/PostgreSQL"},{"type":"SoftwareApplication","name":"Drizzle ORM","description":"The TypeScript ORM used for database management in Pugmill CMS."},{"type":"SoftwareApplication","name":"NextAuth","description":"The authentication library used in Pugmill CMS, version 5, supporting credentials and OAuth providers."},{"type":"SoftwareApplication","name":"Tiptap","description":"The editor interface used in Pugmill CMS, version 3, providing visual and raw Markdown editing."},{"type":"SoftwareApplication","name":"Tailwind CSS","description":"The utility-first CSS framework used for styling in Pugmill CMS, version 3.","sameAs":"https://en.wikipedia.org/wiki/Tailwind_CSS"},{"type":"SoftwareApplication","name":"Claude Code","description":"An AI-native development environment referenced as a tested compatible agent environment for Pugmill CMS."},{"type":"CreativeWork","name":"llms.txt","description":"A specification for serving machine-readable per-page metadata to AI crawlers and answer engines, which Pugmill CMS natively implements."}],"keywords":["Pugmill CMS","open-source CMS Next.js","headless CMS PostgreSQL","answer engine optimization CMS","llms.txt specification","MCP server CMS plugin","Drizzle ORM content management","AI agent CMS integration","agent skills open standard","Markdown-first CMS editor"]},"site":{"name":"Pugmill CMS","url":"https://pugmillcms.com"},"_links":{"canonical":"https://pugmillcms.com/post/about","markdown":"https://pugmillcms.com/post/about/llm.txt","json":"https://pugmillcms.com/post/about/data.json"}}