返回文章

二开项目为什么需要先建立自己的基线

从裁剪 LikeAdmin 开始,谈谈内部项目基线、初始化数据和长期规则为什么要一起维护。

基于成熟开源项目二次开发,最容易出现的问题不是功能不会写,而是项目一直停留在“上游模板加补丁”的状态。

时间一长,没人说得清哪些能力仍然需要、哪些目录已经废弃、数据库应该从哪份 SQL 初始化。

裁剪不是简单删目录

一个真正可维护的内部基线,需要同步处理代码、菜单、权限、初始化 SQL、构建产物和文档。只删除前端页面,后端枚举与菜单数据仍然保留,项目边界依旧是模糊的。

初始化数据是产品边界的一部分

开发早期如果尚未部署,与其维护一长串历史升级 SQL,不如维护一份可信的初始化结构。每次修改数据库时,同时检查模型、菜单权限和初始化文档。

这样新环境可以从零得到一致结果,减少“本地库能跑但新环境装不上”的情况。

把长期规则写下来

项目规则应该覆盖运行环境、目录职责、验证命令和高风险业务约定。它既帮助新协作者,也帮助 AI 工具避免用错误版本的 PHP 或重新引入已经裁剪的功能。

基线的价值不是让项目永远不变,而是让每次变化都有一个清楚的出发点。