构建我们一直想要的 CMS:MonkeysCMS(招募贡献者)

发布: (2025年12月22日 GMT+8 06:57)
5 min read
原文: Dev.to

Source: Dev.to

介绍

有两种类型的 CMS 项目:

  1. 一开始很容易 —— 直到你需要真正的结构、关系、权限和性能。
  2. 功能强大但重量级 —— 配置面广,更新路径脆弱,并且有大量“CMS 仪式”。

MonkeysCMS 是一次尝试,将 Drupal 和 WordPress 的最佳理念结合起来,并在 MonkeysLegion 框架之上以现代、代码优先的方式重新构建。

如果你喜欢构建系统(实体、模式、权限、内容建模、工具),欢迎你的帮助,将其塑造成真正的社区 CMS。

核心概念

  • Code‑first entities – 内容类型是 PHP 类,通过属性定义(不使用 YAML 堆栈,也不使用 UI‑first 配置)。
  • Auto‑sync schema – 启用模块后立即创建表(无需迁移或额外的 CLI 步骤)。
  • True modularity – 隔离的模块拥有命名空间、依赖关系和生命周期钩子。
  • Normalized relational database – 正规化的关系数据库,正确处理关联,避免传统 EAV 的痛点。
  • API‑first – 为 CMS 操作(内容、用户、权限、分类法、菜单、设置、模块…)提供 REST 端点。
  • Modern PHP – 要求 PHP 8.4+,使用严格类型和现代模式。

仓库已提供的内容

  • 模块启用时触发实体类的发现,读取它们的属性,生成 SQL 并执行模式创建。
  • 基于属性的模型,包括 ContentTypeFieldRelationId,以及映射的一组字段类型。
  • 系统角色和权限模式,包括在模块启用时自动注册实体权限。
  • 词汇表、层级术语以及实体‑术语关联。
  • 端点和 CLI 命令(./monkeys …),通过 MonkeysLegion‑Cache 实现缓存,以及由 .mlc 配置驱动的主题系统。

注意: 项目仍处于早期阶段——GitHub 仓库目前显示 0 个 issue 和 0 个 PR,这意味着贡献者可以在很大程度上影响架构和约定。

为什么现在贡献?

  • 方向明确:代码优先、模块化、关系型、API 优先
  • 基础已经搭建好。
  • 项目尚未僵化成“这就是一直以来的样子”。

如果你曾渴望拥有像 Drupal 那样的结构化 CMS,却又想要现代框架的开发者体验,那么现在就是时机。

贡献方向

区域建议改进
Schema generator加固索引、约束、差异、安全更新
Entity hydration / serialization边缘情况处理
Relations多对多辅助工具、级联规则、预加载模式
Permissions中间件、可审计性(拒绝原因、权限追踪)
Consistency错误格式、分页约定、过滤/排序规范
API docsOpenAPI 规范、示例客户端、Postman 集合
CLI模块生命周期改进、模式预览
Revisions & workflows发布工作流、审核状态(属性已暗示这些概念)
Media handling图片/文件/相册字段类型
Theme manager更好的模板引擎集成
Starter themes真实案例模板
Testing单元 + 集成覆盖率(模式生成、权限检查、分类树、CRUD 流程)

要求与快速开始

# Requirements
# - PHP 8.4+
# - MySQL 8+ or SQLite
# - Composer 2.x

git clone https://github.com/MonkeysCloud/MonkeysCMS.git
cd MonkeysCMS
composer install
cp .env.example .env

# Run the built‑in server
composer serve
# or
./monkeys serve

贡献流程

  1. Fork 代码仓库。
  2. 为你的更改创建一个分支。
  3. 提交拉取请求(Pull Request)。

新手友好建议

  • 对文档或测试进行小幅改进。
  • 小的 bug 修复或代码风格微调。

我们将在进行中共同制定约定。

愿景

  • 像应用代码一样定义内容模型。
  • 启用模块 → 立即获得模式、权限和 API。
  • 获取“CMS 功能”(内容类型、分类法、菜单、区块、角色),无需传统复杂性。

如果这与你的需求相符,请加入我们。

仓库与联系

有问题吗?在 GitHub 上留下评论或打开 issue。让我们一起打造伟大的项目。

Back to Blog

相关文章

阅读更多 »