Commit Graph

17 Commits

Author SHA1 Message Date
71ce235904 修复中文路径URL编码问题 (#100)
- 在InitCommand中添加decodeURIComponent()处理中文路径
- 解决MCP传入URL编码路径导致验证失败的问题
- 支持类似 /home/azu/%E6%A1%8C%E9%9D%A2/PromptX 的编码路径

Co-authored-by: Cen-Yaozu <azu@example.com>
2025-07-01 10:00:41 +08:00
ffb5b4adaf fix: 修复InitCommand项目路径识别问题,优化角色发现机制
主要修改:
• 修复InitCommand.js中AI提供路径优先级配置问题
• 重构Luban角色思维模式文件结构,提升代码组织
• 优化工具执行系统,清理技术债务
• 更新package.registry.json反映最新资源结构

影响:解决了technical-product-manager等角色无法发现的关键问题

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 22:11:17 +08:00
071138ef57 refactor: 完成domain到role目录结构统一和硬编码清理
## 核心变更
1. **女娲角色知识更新**
   - dpml-authoring.execution.md: 更新镜像结构约束为.promptx/resource/role/
   - role-generation.execution.md: 4处domain路径更新为role
   - role-creation.thought.md: 文件组织思维从domain改为role

2. **命令类硬编码清理**
   - InitCommand.js: 移除domain目录创建,改为按需创建
   - RegisterCommand.js: 使用ResourceManager协议查找替代硬编码路径
   - WelcomeCommand.js: 简化loadRoleRegistry()方法,直接使用注册表

3. **包注册表同步**
   - 重新生成package.registry.json确保资源发现一致性

## 技术价值
-  统一目录语义:role比domain更准确描述AI角色
-  清理边角料代码:移除不必要的硬编码路径依赖
-  增强系统架构:基于注册表的资源发现更稳定
-  女娲知识同步:包含最新的role目录结构认知

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 19:59:28 +08:00
67f54f83d1 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>
2025-06-28 15:46:40 +08:00
90c4e5d8ab refactor: 把 hello 改成 welcome 2025-06-19 15:59:04 +08:00
d090de2191 更新ActionCommand和InitCommand,增强角色激活提示信息,提供详细的解决方案和使用MCP PromptX工具的建议。同时,更新toolDefinitions.js中的描述,强调在角色激活失败时需先使用init工具刷新注册表,以提升用户体验和操作指导。 2025-06-16 18:23:51 +08:00
3d29434d24 重构命令执行逻辑,增强项目状态检查功能。更新InitCommand以支持从MCP和CLI传递工作目录参数,确保路径有效性并提供用户友好的提示。重写多个命令的execute方法,整合项目状态提示,提升用户体验和输出格式的可读性。 2025-06-16 14:42:36 +08:00
041ece9af1 重构:引入统一的DirectoryService以优化目录管理
- 在InitCommand、RecallCommand、RememberCommand和PouchStateMachine中替换了直接路径处理逻辑,改为使用DirectoryService进行目录解析。
- 更新了ProjectDiscovery以使用新的getProjectRoot方法,标记旧方法为已弃用。
- 在executionContext中重构了工作目录获取逻辑,增强了兼容性和可维护性。
- 确保了对用户主目录的避免处理,提升了目录定位的智能性和可靠性。

此改动旨在提升代码的可读性和一致性,同时为未来的扩展打下基础。
2025-06-15 11:23:19 +08:00
2ecebac50b 删除不再使用的bootstrap.md文件,更新promptx.js、MCPStreamableHttpCommand.js等文件以使用logger进行日志记录,重构资源管理和发现逻辑,确保代码一致性和可维护性。 2025-06-13 09:33:56 +08:00
f714c321e3 优化MCPServerCommand和InitCommand的描述和逻辑,更新PromptX工作环境初始化流程,增强版本信息获取功能,提升用户体验和系统稳定性。 2025-06-11 21:30:08 +08:00
5cdfb02ba7 重构命令前缀逻辑:根据环境变量动态设置命令前缀,开发环境下使用'pnpm start',其他环境使用'npx dpml-prompt@snapshot'。同时更新InitCommand和ActionCommand,优化角色激活流程,确保角色激活后自动加载所有技能并执行记忆检索,提升用户体验和系统一致性。 2025-06-04 19:43:40 +08:00
2fd6929a58 重构 constants.js:移除动态命令前缀检测逻辑,改为使用固定命令前缀'npx -y -f dpml-prompt',简化代码结构并提高一致性。同时更新 InitCommand 以使用新的命令前缀,删除不再使用的 saveCommandPrefix 函数。移除 command-prefix.e2e.test.js 测试文件,确保代码整洁。 2025-06-04 18:16:34 +08:00
4d7e5e22f4 重构 InitCommand:移除初始化工作区的逻辑,改为仅创建 .promptx 配置目录,确保 init 命令的职责单一化。同时,新增确保 .promptx 目录存在的功能,优化初始化过程的清晰度和可维护性。 2025-06-04 12:14:23 +08:00
268a64a227 feat: 实现动态命令前缀检测机制 - 新增 PromptXConfig 工具类统一管理 .promptx 目录配置文件 - 重构 constants.js 为函数式,支持动态命令前缀检测 - init 命令自动保存用户实际使用的命令前缀 - 优先级:环境变量 > 配置文件 > npm环境检测 > 默认值 - 解决 AI 提示命令与用户实际使用不一致的问题 - 完整的 E2E 测试覆盖所有使用场景 核心价值:用户怎么调用 init,AI 就提示相同的命令前缀,确保 AI-First CLI 的用户体验一致性 2025-06-02 10:49:52 +08:00
0466cd3289 feat: 更新命令名称为dpml-prompt,保持PromptX品牌名称 2025-05-31 18:59:25 +08:00
dcd5f8ce1f feat: 准备snapshot发布 - 简化角色系统,完善核心命令 2025-05-31 18:51:31 +08:00
323c4e569c 🎯 PromptX v0.0.1 完整实现 - 五大锦囊命令、AI记忆系统、角色系统、PATEOAS状态机、DPML协议全部完成 2025-05-31 16:48:21 +08:00