CakePHP Boost插件
一种开发工具,通过提供基本的上下文、结构和内省功能来增强CakePHP项目中的人工智能辅助编码。
特性
第1阶段-MVP(当前)
- 文档搜索:使用SQLite FTS5快速全文搜索CakePHP文档
- 图式反思:以人类可读的格式查看数据库架构
- MCP服务器:用于AI助手的模型上下文协议服务器(Claude Code、Cursor等)
- 控制台命令:用于索引和搜索文档的简单CLI界面
- 样本文件:预装了20多种常见的CakePHP模式和示例
安装
用于开发(在此沙箱中)
该插件已加载到此项目中。只需运行:
# Index documentation (run once or when updating docs)
bin/cake boost_index --clear
# Search documentation
bin/cake boost_search "your query here"外部项目(发布时)
composer require dereuromark/cakephp-boost --dev然后添加到您的 config/plugins.php:
'Boost' => ['onlyCli' => true],用法
索引文档
CakePHP图书文档索引:
# Index all documentation
bin/cake boost_index
# Clear existing index and re-index
bin/cake boost_index --clear
# Index only specific sources
bin/cake boost_index --source book搜索文档
基本搜索:
bin/cake boost_search "belongsToMany"自然语言查询:
bin/cake boost_search "how to save data"
bin/cake boost_search "how do I validate email fields"
bin/cake boost_search "what is the correct way to use transactions"按类别筛选:
bin/cake boost_search "validation" --category orm
bin/cake boost_search "controller" --category controller限制结果:
bin/cake boost_search "query" --limit 5可用类别
orm-数据库、模型、表、关联controller-控制器、组件、请求/响应view-模板、助手、渲染validation-表单验证、规则authentication-用户身份验证authorization-访问控制、权限testing-PHPUnit测试、夹具middleware-中间件堆栈routing-路由、前缀email-邮递员,发送电子邮件caching-缓存配置和使用events-事件系统console-CLI命令
MCP服务器(AI集成)
该插件为Claude Code等AI助手提供了一个MCP(模型上下文协议)服务器:
# Start the MCP server
php bin/cake boost_mcp_server可用工具:
search_documentation-用自然语言搜索CakePHP文档get_database_schema-获取数据库架构信息
Claude代码的配置:
创建 .claude/mcp_config.json 在您的项目中:
{
"mcpServers": {
"cakephp-boost": {
"command": "php",
"args": ["bin/cake", "boost_mcp_server"]
}
}
}看 MCP_SETUP.md 了解详细的配置说明。
运作原理
- 索引:The
boost_index该命令解析CakePHP文档并将其存储在启用了全文搜索(FTS5)的SQLite数据库中 - 搜索:The
boost_search命令对索引文档执行快速全文查询 - 结果:返回包含标题、URL和上下文的相关文档片段
数据库
文件存储在: tmp/boost/documentation.db
该数据库使用SQLite的FTS5(全文搜索)和波特词干进行智能单词匹配。
当前限制(MVP)
- 仅示例数据:目前使用预定义的文档片段
- 无实时更新:文档必须手动重新索引
- 没有API文档:只有CakePHP图书内容被编入索引(API文档将在第2阶段发布)
- 基本搜索:仅基于关键字的搜索(语义搜索将在第2阶段进行)
路线图
第2阶段-语义搜索(计划中)
- 使用OpenAI或本地模型生成文档嵌入
- 上下文感知结果的向量相似性搜索
- 更好地理解自然语言查询
第3阶段-指导方针和整合(计划中)
- CakePHP 5.x编码指南
- 流行的插件指南(工具、Shim、身份验证等)
- 为Claude Code自动生成上下文文件
第4阶段-MCP服务器(可选)
- AI助手的模型上下文协议服务器
- 实时应用程序自检
- AI的数据库模式访问
例子
查找协会文档
$ bin/cake boost_search "belongsToMany"
Found 1 results:
1. Associations - BelongsToMany [book]
Category: orm
URL: https://book.cakephp.org/5/en/orm/associations.html#belongstomany
The belongsToMany association is used when two models are associated through a join table...查找验证示例
$ bin/cake boost_search "validation"
Found 2 results:
1. Form Validation - Custom Validators [book]
Category: validation
URL: https://book.cakephp.org/5/en/core-libraries/validation.html#custom-validation-rules
Create custom validation rules as methods in your Table class...
2. Validation Rules [book]
Category: validation
URL: https://book.cakephp.org/5/en/core-libraries/validation.html
Add validation rules in your Table class validationDefault() method...贡献
这目前是Sandbox项目中的一个内部插件。一旦提取到单独的存储库,欢迎投稿!
许可证
MIT许可证
鸣谢
灵感来自 Laravel Boost
