feat: 实现基于文件模式的灵活资源发现架构
## 🏗️ 新增 FilePatternDiscovery 基类 - 统一的文件模式识别逻辑,支持 .role.md, .thought.md, .execution.md, .knowledge.md, .tool.js - 递归扫描任意目录结构,完全基于文件扩展名识别资源类型 - 统一的资源验证和引用路径生成机制 ## 🔄 重构 ProjectDiscovery 和 PackageDiscovery - 继承 FilePatternDiscovery 基类,大幅简化代码 - 子类只需重写 _getBaseDirectory() 指定扫描目录 - 移除重复的文件扫描和验证逻辑,提升维护性 ## 🎯 实现完全灵活的目录结构支持 - resource/ 下支持任意目录组织方式 - 目录名称仅有语义意义,不影响资源发现 - 支持深层嵌套和扁平化结构 ## 🔧 修复 InitCommand 参数处理 - 优化空对象参数的处理逻辑 - 保持向后兼容的同时提升健壮性 ## ✅ 测试验证 - welcome/action/init 命令全面测试通过 - 包级61个资源 + 项目级8个资源正确发现 - project 协议和工具文件识别正常工作 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -39,10 +39,8 @@ class InitCommand extends BasePouchCommand {
|
||||
} else if (args && typeof args[0] === 'string') {
|
||||
// CLI格式
|
||||
workingDirectory = args[0]
|
||||
} else if (args && args.length > 0 && args[0]) {
|
||||
// 兜底:直接取第一个参数
|
||||
workingDirectory = args[0]
|
||||
}
|
||||
// 注意:如果args[0]是空对象{},workingDirectory保持undefined,走后续的自动检测逻辑
|
||||
|
||||
let projectPath
|
||||
|
||||
|
||||
Reference in New Issue
Block a user