Skip to content

Prepare CLI and MCP release pipeline#153

Merged
TrueNine merged 190 commits into
mainfrom
dev
Apr 22, 2026
Merged

Prepare CLI and MCP release pipeline#153
TrueNine merged 190 commits into
mainfrom
dev

Conversation

@TrueNine
Copy link
Copy Markdown
Owner

Summary

  • re-enable MCP release build, npm publish, and GitHub release artifact verification
  • repair CI/xtask package references and Windows-friendly local tooling entrypoints
  • restore release/version validation and GUI frontend dependency coverage for pre-release checks

Local checks

Notes

  • Windows local still has pre-existing path-sensitive failures that do not map 1:1 to the Ubuntu PR runner.
  • Docker daemon was unavailable locally, so testcontainers-backed integration tests could not be exercised on this machine.

TrueNine and others added 30 commits April 13, 2026 00:05
- Remove TS fallback binding; require native NAPI package
- Add ../../dist/ to native binding search paths
- Update sdk test script to build NAPI before running tests
- Add native binding setup for integration tests
- Update CLI runtime exports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts:
#	cli/src/cli-runtime.ts
#	sdk/package.json
#	sdk/src/core/native-binding.ts
#	sdk/src/index.ts
…ctionality

- Changed `prompt_series` field in Project struct to `project_type` for clarity.
- Updated all references in the codebase to use `project_type` instead of `prompt_series`.
- Renamed `ProjectPromptAindexInput` to `ProjectPromptAindexResolversInput` for consistency.
- Adjusted functions and tests to reflect the new naming conventions.
- Introduced `AindexResolversInputCapability` to replace the legacy `AindexInputCapability`.
- Updated input handling in various capabilities to accommodate the new structure.
- Ensured backward compatibility by handling legacy project configurations appropriately.
- bump @antfu/eslint-config to ^8.2.0
- bump @tanstack/react-router to ^1.168.21
- bump @tanstack/router-generator to ^1.166.32
- bump @tanstack/router-plugin to ^1.167.22
- bump pagefind to ^1.5.2
- bump tsdown to ^0.21.8
- bump typescript-eslint to ^8.58.2
移除Inter和JetBrains_Mono字体依赖,改为使用系统默认字体
添加trae.integration.test.ts集成测试文件
在fixtures.ts中新增TraeFixture接口和createTraeFixture函数
支持trae插件的全局配置和输出路径
添加 performMdCleanup 函数用于清理 Markdown 文件中的多余空格和空行
优化代码格式,包括删除多余的空行和简化对象方法声明
调整部分导入语句的顺序
添加新的opencode集成测试脚本和fixture,包括测试命令、输出验证和清理功能
新增多个核心模块(wsl_mirror_sync, md_cleanup, skill_dist_cleanup, execution_plan)用于支持不同功能
重构测试环境锁机制,使用全局静态锁替代各模块独立实现
优化配置文件处理逻辑,增加插件配置支持
清理不再使用的输出适配器代码,包括核心实现和测试文件
添加 resolve_execution_plan_binding 用于解析执行计划
添加 filter_path_scoped_entries_binding 用于过滤路径范围条目
添加 sync_windows_config_into_wsl_binding 用于同步Windows配置到WSL
添加 perform_skill_dist_cleanup_binding 和 perform_md_cleanup_binding 清理功能
合并 TraeIDE 和 TraeCNIDE 适配器为 TraeOutputAdaptor
将原有的手动文件遍历和处理逻辑替换为调用原生绑定方法performMdCleanup,简化代码结构并提高性能
refactor(dependency_resolver): 重构拓扑排序实现并增加新API
feat: 实现JetBrains Codex目录发现功能
feat: 添加上下文合并工具用于收集输入上下文
…daptor

移除不再使用的 TraeCNIDEOutputAdaptor 配置,并将 TraeIDEOutputAdaptor 重命名为更简洁的 TraeOutputAdaptor,以简化代码结构
实现 Trae 输出适配器,支持全局内存、技能、规则等内容的输出
包含 Trae 和 TraeCn 双平台配置验证及处理逻辑
将上下文合并逻辑迁移至原生绑定实现以提高性能
保留原有 JavaScript 实现作为回退方案
简化类型定义和合并策略配置
移除复杂的配置合并和验证逻辑,改为调用原生绑定方法
简化全局配置验证流程,直接使用原生加载功能
将原有的复杂 WSL 镜像同步逻辑重构为使用原生绑定实现,移除大量冗余代码
保留旧版实现作为回退方案,当原生绑定不可用时自动切换
将原有的执行计划解析和路径过滤逻辑重构为优先使用原生绑定实现
当原生绑定不可用时,回退到旧版实现
TrueNine added 29 commits April 19, 2026 23:05
将主逻辑从 main.rs 移动到 lib.rs 作为库模块
重构项目结构,添加新的 workspace 配置和依赖关系
在多个测试文件中添加unwrap()处理install_packaged_cli_container的返回值
优化测试日志输出,添加执行时间统计
将release构建改为debug构建以加快测试速度
添加缓存机制避免重复交叉编译
当Linux二进制文件不存在时,优先使用缓存文件
若缓存不存在则进行交叉编译并保存结果
refactor(sdk): 优化路径处理逻辑
fix(sdk): 默认启用 claude_code 插件
build: 添加 local-test 模块到工作空间
refactor(clean_service): 重构清理服务以支持清理映射
feat(md_compiler): 实现URL和图片链接中的表达式插值功能
fix(install_service): 修复输出文件编码处理问题
test: 添加本地测试用例验证安装和清理功能
docs: 更新输出文件声明DTO以包含编码字段
重构globs为paths字段,增强opencode插件功能
添加全局和项目级AGENTS.md文件支持
实现规则、代理、命令和技能内容的生成与清理
新增本地测试验证opencode功能完整性
修改清理服务逻辑,使其不受插件开关影响,始终收集所有插件的清理目标。这解决了当插件被禁用后,之前生成的文件无法被自动清理的问题。

同时默认启用 agents_md 插件,并添加相关测试验证清理行为。修复嵌套 .opencode/AGENTS.md 的清理问题,并统一将测试中的 globs 字段重命名为 paths。
重构规则处理逻辑,允许源文件中使用globs字段描述匹配模式,SDK在输出时自动转换为paths字段。同时移除全局内存与项目内存的混合逻辑,确保项目级CLAUDE.md直接输出项目内存内容。

新增本地测试验证globs到paths的转换及CLAUDE.md生成行为
当当前工作目录位于工作空间的子项目下时,只清理该项目文件而不影响其他项目。添加路径作用域解析和过滤功能,确保清理操作只针对当前项目范围。

新增路径判断工具函数和相关测试用例,验证作用域解析和过滤逻辑的正确性。
添加 run_at 方法支持在指定目录运行命令而不释放锁
新增 file_exists_at 和 workspace_dir 方法辅助测试
添加测试验证不同作用域下的清理行为
添加颜色格式验证和转换逻辑,确保 opencode agent 的 color 字段符合 6 位 hex 格式要求。支持将 CSS 命名颜色转换为 hex 值,无效颜色将被移除。同时添加相关测试用例验证功能。
实现codex插件的完整文件生成逻辑,包括:
1. 全局~/.codex/AGENTS.md和prompts/、agents/目录
2. 项目级.codex/skills/和agents/目录
3. 新增raw_content字段保存原始未编译内容
4. 添加清理逻辑确保文件同步
5. 增加测试验证文件生成和清理
确保codex提示文件中的字段命名使用kebab-case格式(如argument-hint),而非camelCase格式(如argumentHint)。同时在测试中添加验证逻辑,并在输出计划中自动转换字段命名格式。
确保codex提示文件符合规范:
1. 移除可能导致兼容性问题的"command"字段
2. 强制所有YAML值使用双引号包裹
3. 仅保留description和argument-hint字段
4. 修复测试用例验证这些规则
…ionality

- Implemented dry_run_smoke.rs to verify that tnmsc dry-run does not write project files.
- Created install_smoke.rs to test tnmsc install on a real project, ensuring CLAUDE.md is generated and validating its content.
- Added opencode_smoke.rs to validate the generation of opencode files after installation, including structure and content checks.
- Introduced rules_source_smoke.rs for regression testing on rules source file formats, ensuring the use of `globs` instead of `paths`.
- Updated package versions across various platforms to 2026.10420.122.
- Adjusted build scripts in package.json to streamline the build process.
- Updated pnpm workspace to include 'doc' and 'gui' packages.
- Modified version number in xtask from 2026.10413.10237 to 2026.10420.122.
- Implemented a new command to install git hooks for version synchronization.
- Created a pre-commit hook that triggers a version sync script.
@TrueNine TrueNine merged commit e59d2f4 into main Apr 22, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant