{"slug": "an-open-source-modular-cms-for-developers-and-ai-assisted-vibe-coded-websites", "title": "An open-source, modular CMS for developers and AI-assisted/vibe-coded websites.", "summary": "Basehim, an open-source, modular, API-first PHP CMS, has been released for developers and AI-assisted websites. It runs on standard PHP and MySQL hosting without requiring Composer or a build pipeline, and includes a built-in Model Context Protocol (MCP) server for AI agents. The CMS offers a REST API with multiple authentication methods, including API keys, JWT, and OAuth 2.1 via MCP.", "body_md": "For years, the CMS ecosystem has largely followed the same formula.\n\nInstall a CMS.\n\nChoose a theme.\n\nInstall plugins.\n\nCustomize some templates.\n\nAdd an API when you need one.\n\nThen, eventually, try to connect everything to AI.\n\nBut the way we build software has changed.\n\nDevelopers increasingly work alongside AI coding assistants. People are building websites by describing what they want instead of manually implementing every component. AI agents can now interact with external tools and services. APIs are becoming the foundation rather than an optional feature.\n\nYet many traditional CMS architectures were designed for a world where a human administrator was the primary interface.\n\nThat is the problem Basehim is trying to solve.\n\n**Basehim is an open-source, modular, API-first PHP CMS built for developers, AI-assisted development, and the emerging world of AI agents.**\n\nThe goal isn't to replace every CMS.\n\nThe goal is to provide a simpler foundation for people who want to build, customize, automate, and extend websites without being forced into a complicated infrastructure stack.\n\nBasehim started with a fairly simple observation:\n\n**The web is still full of ordinary PHP hosting.**\n\nMillions of websites run on environments such as cPanel, Plesk, Apache, MySQL, and shared hosting.\n\nYet many modern development tools increasingly assume that you have SSH access, Composer, Node.js, a build pipeline, background workers, containers, or a cloud deployment environment.\n\nThose tools are excellent when you need them.\n\nBut they aren't always necessary for a CMS.\n\nBasehim takes a different approach.\n\nIf your server can run modern PHP and MySQL or MariaDB, Basehim is designed to run there.\n\nYou can upload the files, open the installer, configure the database, create the administrator account, and start building.\n\nThere is no required Composer installation.\n\nThere is no frontend build process.\n\nThere is no daemon that has to remain running.\n\nThere is no requirement for a `public/`\n\ndirectory structure.\n\nFor developers, that means fewer deployment assumptions.\n\nFor beginners and small businesses, it means the CMS can work with the hosting they already have.\n\nThe PHP requirement isn't the interesting part.\n\nThe more important decision is architectural.\n\nBasehim is designed around three ideas:\n\n**API-first.**\n\n**Modular.**\n\n**AI-ready.**\n\nThese three ideas are connected.\n\nA website should not be trapped inside its admin dashboard.\n\nA feature should not require modifying the core.\n\nAnd an AI agent should not have unrestricted access to an entire website simply because it has an API token.\n\nBasehim attempts to address all three.\n\nThe REST API is not an afterthought.\n\nBasehim exposes a [REST API](https://basehim.com/docs/api-reference) for core website resources including posts, pages, media, taxonomies, menus, comments, users, settings, apps, caching and scheduling.\n\nThe API uses a predictable base path:\n\n```\n/api/v1\n```\n\nPublished content can be read without authentication, while operations involving writes or private content require authentication.\n\nThere are multiple authentication approaches depending on the caller.\n\nFor example, server-to-server integrations can use API keys.\n\nApplications acting on behalf of users can use JWT authentication.\n\nAI agents can use OAuth 2.1 through the MCP integration.\n\nThat distinction matters.\n\nA script, a web application, and an AI agent don't necessarily have the same security requirements.\n\nThey shouldn't be forced through exactly the same authentication model.\n\nThis is probably the feature that most clearly separates Basehim from the traditional CMS model.\n\nBasehim includes a built-in **Model Context Protocol (MCP) server**.\n\nMCP provides a standardized way for AI applications and agents to interact with external systems.\n\nInstead of building a custom integration for every AI client, Basehim exposes an MCP endpoint at:\n\n```\n/mcp\n```\n\nAn AI client can discover the endpoint, authenticate, and interact with resources exposed by the website.\n\nFor example, Basehim exposes resources using a `basehim://`\n\nURI scheme.\n\nA resource might represent information about the site itself or an individual post.\n\nThis creates an interesting possibility.\n\nImagine telling an AI assistant:\n\n\"Find my three most recent published articles.\"\n\nThe assistant doesn't need to scrape the website.\n\nIt can interact with the CMS through its structured interface.\n\nOr:\n\n\"Draft an article about PHP security based on the existing content.\"\n\nThe agent can retrieve relevant content, prepare a draft, and potentially write it back through authorized operations.\n\nThe important word here is **authorized**.\n\nAI integration without permissions is dangerous.\n\nBasehim therefore treats agent access as a security problem rather than simply a convenience feature.\n\nBasehim uses OAuth 2.1 and scoped permissions for agent access.\n\nAn access token can have specific capabilities such as:\n\n```\nposts:read\nposts:write\n\ntaxonomies:read\ntaxonomies:write\n\nmedia:read\n\ncomments:read\ncomments:write\n\nsettings:read\n\nusers:read\n```\n\nThis creates a much better security model than simply giving an AI agent an administrator password.\n\nConsider an AI agent that only needs to generate blog drafts.\n\nWhy should that agent be able to read users?\n\nIt shouldn't.\n\nWhy should it be able to modify site settings?\n\nIt shouldn't.\n\nWhy should it have access to everything simply because it is an AI integration?\n\nIt shouldn't.\n\nThe principle is simple:\n\n**Give the agent the minimum permissions required to perform its job.**\n\nPermissions can also be revoked.\n\nThat becomes particularly important as websites begin connecting multiple AI systems and autonomous agents.\n\nThis changes how we should think about a CMS.\n\nTraditionally, the CMS looks something like this:\n\n```\nHuman\n  ↓\nAdmin Dashboard\n  ↓\nCMS\n  ↓\nDatabase\n```\n\nAn AI-native CMS can look more like:\n\n```\nHuman ───────────────┐\n                     ↓\nAI Assistant → API → CMS → Database\n                     ↑\nAI Agent → MCP ──────┘\n```\n\nThe dashboard still exists.\n\nHumans still need it.\n\nBut it isn't the only interface anymore.\n\nThe CMS becomes a system that can be operated through multiple interfaces.\n\nA browser.\n\nAn application.\n\nAn API.\n\nAn automation.\n\nAn AI assistant.\n\nAn autonomous agent.\n\nThat is one of the ideas behind Basehim.\n\nThe term \"vibe coding\" has become popular because AI has changed how people build software.\n\nInstead of starting with:\n\n\"I need to understand this framework before I can build this feature.\"\n\nDevelopers can increasingly start with:\n\n\"I want this feature. Help me build it.\"\n\nAI coding tools can generate PHP, JavaScript, SQL, HTML, CSS and configuration.\n\nBut there is a problem.\n\nAI can generate code very quickly.\n\nThat doesn't mean the surrounding architecture becomes simple.\n\nSomeone still needs to decide:\n\nThis is where Basehim's modular architecture becomes interesting.\n\nInstead of asking an AI coding assistant to modify the CMS core every time you want a feature, you can build that functionality as an app.\n\nBasehim uses an app-based architecture.\n\nAn app lives inside:\n\n```\ncontent/apps/\n```\n\nAn app can have an `app.json`\n\nmanifest, source code, views, and assets.\n\nA simplified structure looks like:\n\n```\nmy-app/\n├── app.json\n├── src/\n│   └── App.php\n├── views/\n└── assets/\n```\n\nThe app can then interact with the CMS through a consistent API.\n\nFor example, an app can:\n\nThis is important for AI-assisted development.\n\nInstead of asking an AI coding assistant to understand and rewrite the entire CMS, you can give it a much smaller problem:\n\n\"Build a Basehim app that adds X.\"\n\nThat is a much more constrained engineering task.\n\nOne of the design goals is to avoid making extension development unnecessarily complicated.\n\nA basic app can extend the Basehim app class and implement its `boot()`\n\nmethod.\n\nInside that method, an app can register hooks, routes, widgets, and admin menu entries.\n\nConceptually, you could build an app that does something like:\n\n``` php\npublic function boot(): void\n{\n    $this->addAction('post.created', [$this, 'handlePost']);\n\n    $this->addFilter(\n        'post.content',\n        fn($content) => $content . '<p>Hello!</p>'\n    );\n\n    $this->get(\n        '/hello',\n        fn() => 'Hello from my app!'\n    );\n\n    $this->registerWidget('stats', [\n        'title' => 'Site Stats',\n        'render' => fn() => '<p>Hello 👋</p>',\n    ]);\n}\n```\n\nThe point isn't that every app should be this simple.\n\nThe point is that the extension surface is deliberately understandable.\n\nYou don't have to build a framework before building your feature.\n\nModularity without security becomes a mess.\n\nThat's why Basehim allows apps to declare their required permissions.\n\nAn administrator can see what an app is requesting before activating it.\n\nApps with administrative functionality can also receive their own access capability, allowing access to be controlled by role or user.\n\nThis creates a permission boundary between:\n\n```\nCore CMS\n     ↓\nInstalled App\n     ↓\nApp permissions\n     ↓\nUser / Role\n```\n\nThat is a much healthier model than blindly installing PHP files that can do anything.\n\nBasehim also separates presentation from functionality.\n\nThemes live under:\n\n```\ncontent/themes/\n```\n\nA theme can provide templates and assets without requiring a complicated frontend build pipeline.\n\nThe idea is straightforward:\n\n**Apps add behavior. Themes control presentation.**\n\nThat separation is useful for developers because it reduces the temptation to mix business logic into templates.\n\nIt is also useful for AI-assisted development.\n\nYou can ask an AI coding assistant to modify the theme without requiring it to understand every application feature.\n\nOr build an app without changing the site's visual layer.\n\nFor modern JavaScript applications, build systems are completely normal.\n\nFor a CMS intended to run on ordinary hosting, they can also become unnecessary friction.\n\nBasehim deliberately avoids requiring a frontend compilation process.\n\nYou can upload the CMS.\n\nYou can upload an app.\n\nYou can upload a theme.\n\nYou can activate it.\n\nThis makes the deployment model closer to the traditional PHP hosting ecosystem.\n\nThat matters more than it sounds.\n\nA developer might have Docker, GitHub Actions and a VPS for one project.\n\nThe next client might have nothing except a cPanel account.\n\nA CMS shouldn't assume that every website is deployed like a SaaS application.\n\nThe Basehim philosophy is intentionally pragmatic.\n\nThe target environment isn't only modern cloud infrastructure.\n\nIt includes:\n\nThe current requirements are relatively modest:\n\n```\nPHP 8.1+\nMySQL 5.7+ or MariaDB 10.3+\nApache with mod_rewrite\npdo_mysql\nmbstring\nfileinfo\ngd\nzip\n```\n\nThe repository also estimates around 30 MB of disk space for the core installation, excluding uploaded content.\n\nThat makes Basehim interesting for a particular category of developer:\n\n**the developer who wants modern architecture without abandoning ordinary hosting.**\n\nBasehim isn't built on top of a giant framework stack.\n\nThe repository contains its own relatively small application architecture.\n\nThe structure includes components such as:\n\n```\napp/\n├── Core/\n├── Http/\n├── Repositories/\n└── Services/\n```\n\nThere are controllers, middleware, repositories, services, configuration, routes, database migrations, apps and themes.\n\nThe repository also includes:\n\n```\ndocs/\nCHANGELOG.md\nCONTRIBUTING.md\nSECURITY.md\nLICENSE\n```\n\nThat matters for an open-source project.\n\nIf the goal is to attract contributors, the code shouldn't feel like a black box.\n\nDevelopers should be able to clone the project and actually understand where things live.\n\nBasehim is released under the MIT license.\n\nThat is important because the goal isn't simply to provide a hosted website builder.\n\nThe project is intended to be used, inspected, modified, extended and contributed to.\n\nYou can look at the source.\n\nYou can create an app.\n\nYou can create a theme.\n\nYou can fork the project.\n\nYou can report an issue.\n\nYou can contribute improvements.\n\nYou aren't required to treat the CMS as a black box.\n\nFor developers, that freedom matters.\n\nThis is an obvious question.\n\nWordPress is enormous.\n\nIt has an ecosystem that Basehim cannot realistically compete with today.\n\nIt has thousands of themes, plugins, tutorials, hosting providers, agencies and developers.\n\nSo Basehim isn't trying to win by pretending WordPress doesn't exist.\n\nThe opportunity is different.\n\nBasehim is designed around a different set of priorities:\n\n**API-first instead of dashboard-first.**\n\n**AI-ready instead of AI-integrated as an afterthought.**\n\n**Apps instead of core modifications.**\n\n**Scoped agent permissions instead of giving AI administrator credentials.**\n\n**Simple PHP deployment instead of mandatory build infrastructure.**\n\n**A smaller, more understandable core instead of an enormous ecosystem.**\n\nIf you need the world's largest CMS ecosystem, there are obvious choices.\n\nIf you're building something new and want a CMS designed around APIs, modularity and AI agents from the beginning, that's where Basehim becomes interesting.\n\nThere is an important distinction here.\n\n\"Easy to install\" doesn't mean \"magically easy to build anything.\"\n\nAI doesn't eliminate software engineering.\n\nAnd a CMS doesn't eliminate architectural decisions.\n\nBasehim tries to make the boundaries clearer.\n\nThe core handles the platform.\n\nApps handle additional functionality.\n\nThemes handle presentation.\n\nThe API handles programmatic access.\n\nMCP handles AI-agent interaction.\n\nPermissions control what integrations can access.\n\nThat gives developers a set of boundaries to work within.\n\nAnd good boundaries are one of the most useful things you can give an AI coding assistant.\n\nLet's take a practical example.\n\nSuppose you're building a company website.\n\nInstead of manually performing every administrative operation, you could eventually have an AI agent connected to Basehim through MCP.\n\nYou could ask it to:\n\nFind all published articles about our product.\n\nThe agent searches the CMS.\n\nThen:\n\nCreate a draft article explaining our new feature.\n\nThe agent creates a draft.\n\nThen:\n\nAdd the \"Product Updates\" taxonomy.\n\nThe agent performs the operation if it has the required permission.\n\nThen:\n\nShow me the last five posts.\n\nThe agent retrieves them.\n\nThe CMS remains the system of record.\n\nThe AI becomes another interface.\n\nThat's fundamentally different from simply putting a chatbot on top of a website.\n\nThe more interesting future is **websites that AI can operate**.\n\nThere is a difference.\n\nAn AI-generated website is simply a website produced with AI.\n\nAn AI-accessible website is one where software agents can understand and interact with structured capabilities exposed by the website.\n\nThat opens the door to much more interesting automation.\n\nImagine a CMS where agents can:\n\nAll without giving the agent unrestricted administrator access.\n\nThat is closer to the direction Basehim is exploring.\n\nBasehim is developer-oriented.\n\nBut that doesn't mean every Basehim user needs to be an expert programmer.\n\nThe underlying idea is that developers create the foundation and extensions, while administrators use the resulting system.\n\nAn agency could build a Basehim installation for a client.\n\nA developer could create custom apps.\n\nA designer could create themes.\n\nA business owner could manage content.\n\nAn AI assistant could automate repetitive operations.\n\nThe same platform can serve all of them.\n\nBasehim also includes a marketplace architecture for apps and themes.\n\nThat creates a potential ecosystem around the CMS.\n\nImagine eventually having:\n\n```\nBasehim\n│\n├── Apps\n│   ├── SEO\n│   ├── Analytics\n│   ├── Forms\n│   ├── Ecommerce\n│   ├── CRM\n│   └── AI tools\n│\n└── Themes\n    ├── Business\n    ├── Blog\n    ├── Portfolio\n    ├── Documentation\n    └── Ecommerce\n```\n\nThe important part is that the ecosystem doesn't need to be limited to the original Basehim developers.\n\nThird-party developers can build applications.\n\nDesigners can build themes.\n\nAgencies can create private extensions for clients.\n\nThat is where an open-source CMS can become much more valuable than its core code alone.\n\nIt is important not to oversell a young open-source project.\n\nBasehim is not WordPress.\n\nIt doesn't have WordPress's ecosystem.\n\nIt doesn't have millions of installations.\n\nIt doesn't have thousands of third-party plugins.\n\nIt doesn't have decades of compatibility baggage.\n\nAnd that's precisely why now is an interesting time to experiment with it.\n\nThe current project already provides a functioning foundation:\n\nBut there is still a lot to build.\n\nAnd that's the point of open source.\n\nThe interesting question isn't only what Basehim currently does.\n\nIt's what developers can build on top of it.\n\nAn AI-native CMS could eventually become the foundation for:\n\n**Agent-managed websites**\n\nAI agents that maintain content, monitor changes and perform routine operations.\n\n**AI-assisted publishing**\n\nA workflow where humans approve AI-generated content rather than manually creating everything.\n\n**Autonomous content operations**\n\nAgents that monitor analytics, identify outdated content and prepare updates.\n\n**Composable websites**\n\nApps and themes assembled according to the needs of each project.\n\n**AI-generated Basehim apps**\n\nDescribe a feature to an AI coding agent and have it generate a structured Basehim app rather than modifying the core.\n\n**Headless applications**\n\nUse Basehim purely as a backend while another application consumes its REST API.\n\n**Custom business systems**\n\nBuild CRM, directories, portals, internal tools and other applications using the CMS as the foundation.\n\nThe CMS stops being merely a place to write blog posts.\n\nIt becomes a programmable website platform.\n\nThe web has spent decades moving toward abstraction.\n\nFirst, we wrote HTML manually.\n\nThen came CMSs.\n\nThen plugins and themes.\n\nThen APIs.\n\nThen headless CMSs.\n\nNow AI agents are becoming another layer of interaction.\n\nThe next generation of CMSs may not simply be systems that humans operate.\n\nThey may be systems that humans **and software agents** operate.\n\nThat requires different architectural assumptions.\n\nAn API is no longer optional.\n\nPermissions matter more.\n\nStructured resources matter.\n\nMachine-readable capabilities matter.\n\nAuthentication designed for agents matters.\n\nModularity matters.\n\nAnd the ability to deploy without a massive infrastructure stack still matters.\n\nBasehim is an attempt to bring those ideas together in one open-source PHP CMS.\n\nThe most interesting part of an open-source project isn't the repository on launch day.\n\nIt's what happens after developers start using it.\n\nYou can inspect the code.\n\nTry the installer.\n\nBuild an app.\n\nCreate a theme.\n\nConnect the API.\n\nExperiment with MCP.\n\nTest AI-agent workflows.\n\nFind security issues.\n\nImprove documentation.\n\nOpen issues.\n\nSubmit pull requests.\n\nOr simply build something with it and tell the project what broke.\n\nThat's how an ecosystem starts.\n\nNot with a perfect CMS.\n\nWith developers willing to experiment with an imperfect one.\n\nBasehim is open source and available on GitHub.\n\nIf you're a PHP developer, AI-assisted developer, agency, hobbyist, or someone interested in what an AI-ready CMS could look like, try installing it.\n\nThe project is intentionally designed to work on ordinary PHP hosting while providing APIs and agent capabilities that normally belong to more infrastructure-heavy platforms.\n\n**Build a website.**\n\n**Build an app.**\n\n**Connect an AI agent.**\n\n**Break something.**\n\n**Fix it.**\n\n**Send a pull request.**\n\nThat's the point.\n\nBasehim isn't trying to predict exactly what the future of websites will look like.\n\nIt's trying to build a foundation that can adapt to it.\n\n**An open-source, modular CMS for developers and AI-assisted/vibe-coded websites.**\n\nWebsite: [https://basehim.com](https://basehim.com)\n\nGitHub: [https://github.com/basehim/basehim](https://github.com/basehim/basehim)\n\nDocumentation: [https://basehim.com/docs/](https://basehim.com/docs/)\n\nAPI Reference: [https://basehim.com/docs/api-reference](https://basehim.com/docs/api-reference)\n\nIf you're interested in AI agents, MCP, open-source CMS development, PHP, or building the next generation of websites, **Basehim is an experiment worth watching — and better yet, worth contributing to.**", "url": "https://wpnews.pro/news/an-open-source-modular-cms-for-developers-and-ai-assisted-vibe-coded-websites", "canonical_source": "https://dev.to/cloudhim/an-open-source-modular-cms-for-developers-and-ai-assistedvibe-coded-websites-1lc3", "published_at": "2026-08-15 18:42:59+00:00", "updated_at": "2026-08-15 19:11:53.557621+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-infrastructure"], "entities": ["Basehim"], "alternates": {"html": "https://wpnews.pro/news/an-open-source-modular-cms-for-developers-and-ai-assisted-vibe-coded-websites", "markdown": "https://wpnews.pro/news/an-open-source-modular-cms-for-developers-and-ai-assisted-vibe-coded-websites.md", "text": "https://wpnews.pro/news/an-open-source-modular-cms-for-developers-and-ai-assisted-vibe-coded-websites.txt", "jsonld": "https://wpnews.pro/news/an-open-source-modular-cms-for-developers-and-ai-assisted-vibe-coded-websites.jsonld"}}