diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 46c86a8..0f543d6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -104,10 +104,38 @@ jobs: cp install.sh install.bat release/ ls -la release/ + - name: Extract release notes from CHANGELOG + id: extract_notes + run: | + VERSION=${GITHUB_REF#refs/tags/v} + + # Extract version section from CHANGELOG.md + awk -v ver="$VERSION" ' + /^## [0-9]+\.[0-9]+\.[0-9]+ - / { + if (found) exit + if ($2 == ver) { + found = 1 + next + } + } + found && /^## / { exit } + found { print } + ' CHANGELOG.md > release_notes.md + + # Fallback to auto-generated if extraction failed + if [ ! -s release_notes.md ]; then + echo "⚠️ No release notes found in CHANGELOG.md for version $VERSION" > release_notes.md + echo "" >> release_notes.md + echo "## What's Changed" >> release_notes.md + echo "See commits in this release for details." >> release_notes.md + fi + + cat release_notes.md + - name: Create Release uses: softprops/action-gh-release@v2 with: files: release/* - generate_release_notes: true + body_path: release_notes.md draft: false prerelease: false diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f86e44..deb8ab7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,131 @@ # Changelog -## 5.2.0 - 2025-12-11 -- PR #53: unified CLI version source in `codeagent-wrapper/main.go` and bumped to 5.2.0. -- Added legacy `codex-wrapper` alias support (runtime detection plus `scripts/install.sh` symlink helper). -- Updated documentation to reflect backend flag usage and new version output. +## 5.2.0 - 2025-12-12 + +### 🚀 Core Features + +#### Multi-Backend Support (codeagent-wrapper) +- **Renamed**: `codex-wrapper` → `codeagent-wrapper` with pluggable backend architecture +- **Three Backends**: Codex (default), Claude, Gemini via `--backend` flag +- **Smart Parser**: Auto-detects backend JSON stream formats +- **Session Resume**: All backends support `-r ` cross-session resume +- **Parallel Execution**: DAG task scheduling with global and per-task backend configuration +- **Concurrency Control**: `CODEAGENT_MAX_PARALLEL_WORKERS` env var limits concurrent tasks (max 100) +- **Test Coverage**: 93.4% (backend.go 100%, config.go 97.8%, executor.go 96.4%) + +#### GitHub Workflow Automation +- **`/gh-create-issue`**: Guided dialogue for structured issue creation +- **`/gh-issue-implement`**: Full issue-to-PR lifecycle + - Issue analysis and requirements clarification + - Development execution via codeagent-wrapper + - Automated progress updates and PR creation +- **`/dev`**: 6-step minimal dev workflow with mandatory 90% test coverage + +#### Hooks System +- **UserPromptSubmit**: Auto-activate skills based on context +- **PostToolUse**: Auto-validation/formatting after tool execution +- **Stop**: Cleanup and reporting on session end +- **Examples**: Skill auto-activation, pre-commit checks + +#### Skills System +- **Auto-Activation**: `skill-rules.json` regex trigger rules +- **codeagent skill**: Multi-backend wrapper integration +- **Modular Design**: Easy to extend with custom skills + +#### Installation System Enhancements +- **`merge_json` operation**: Auto-merge `settings.json` configuration +- **Modular Installation**: `python3 install.py --module dev,gh` +- **Verbose Logging**: `--verbose/-v` enables terminal real-time output +- **Streaming Output**: `op_run_command` streams bash script execution + +### 📚 Documentation + +- `docs/architecture.md` (21KB): Architecture overview with ASCII diagrams +- `docs/CODEAGENT-WRAPPER.md` (9KB): Complete usage guide +- `docs/HOOKS.md` (4KB): Customization guide +- `README.md`: Added documentation index, corrected default backend description + +### 🔧 Important Fixes + +#### codeagent-wrapper +- Fixed Claude/Gemini backend `-C` (workdir) and `-r` (resume) parameter support (codeagent-wrapper/backend.go:80-120) +- Corrected Claude backend permission flag logic `if cfg.SkipPermissions` (codeagent-wrapper/backend.go:95) +- Fixed parallel mode startup banner duplication (codeagent-wrapper/main.go:184-194 removed) +- Extract and display recent errors on abnormal exit `Logger.ExtractRecentErrors()` (codeagent-wrapper/logger.go:156) +- Added task block index to parallel config error messages (codeagent-wrapper/config.go:245) +- Refactored signal handling logic to avoid duplicate nil checks (codeagent-wrapper/main.go:290-305) +- Removed binary artifacts from tracking (codeagent-wrapper, *.test, coverage.out) + +#### Installation Scripts +- Fixed issue #55: `op_run_command` uses Popen + selectors for real-time streaming output +- Fixed issue #56: Display recent errors instead of entire log +- Changed module list header from "Enabled" to "Default" to avoid ambiguity + +#### CI/CD +- Removed `.claude/` config file validation step (.github/workflows/ci.yml:45) +- Updated version test case from 5.1.0 → 5.2.0 (codeagent-wrapper/main_test.go:23) + +#### Commands & Documentation +- `gh-implement.md` → `gh-issue-implement.md` semantic naming +- Fixed README example command: `/gh-implement` → `/gh-issue-implement` +- Reverted `skills/codex/SKILL.md` to `codex-wrapper` for backward compatibility + +#### dev-workflow +- Replaced Codex skill → codeagent skill throughout +- Added UI auto-detection: backend tasks use codex, UI tasks use gemini +- Corrected agent name: `develop-doc-generator` → `dev-plan-generator` + +### ⚙️ Configuration & Environment Variables + +#### New Environment Variables +- `CODEAGENT_SKIP_PERMISSIONS`: Control permission check behavior + - Claude backend defaults to `--dangerously-skip-permissions` enabled, set to `true` to disable + - Codex/Gemini backends default to permission checks enabled, set to `true` to skip +- `CODEAGENT_MAX_PARALLEL_WORKERS`: Parallel task concurrency limit (default: unlimited, recommended: 8, max: 100) + +#### Configuration Files +- `config.json`: Added "gh" module definition +- `config.schema.json`: Added `op_merge_json` schema validation + +### ⚠️ Breaking Changes + +**codex-wrapper → codeagent-wrapper rename** + +**Migration**: +```bash +python3 install.py --module dev --force +``` + +**Backward Compatibility**: `codex-wrapper/main.go` provides compatibility entry point + +### 📦 Installation + +```bash +# Full install (dev + GitHub workflow) +python3 install.py --module dev,gh + +# List all modules +python3 install.py --list-modules + +# Verbose logging mode +python3 install.py --module gh --verbose +``` + +### 🧪 Test Results + +✅ **All tests passing** +- Overall coverage: 93.4% +- Security scan: 0 issues (gosec) +- Linting: Pass + +### 📄 Related PRs & Issues + +- PR #53: Enterprise Workflow with Multi-Backend Support +- Issue #55: Installation script execution not visible +- Issue #56: Unfriendly error logging on abnormal exit + +### 👥 Contributors + +- Claude Sonnet 4.5 +- Claude Opus 4.5 +- SWE-Agent-Bot diff --git a/README.md b/README.md index 7c429a3..e1ae054 100644 --- a/README.md +++ b/README.md @@ -7,21 +7,21 @@ [![Claude Code](https://img.shields.io/badge/Claude-Code-blue)](https://claude.ai/code) [![Version](https://img.shields.io/badge/Version-5.2-green)](https://github.com/cexll/myclaude) -> AI-powered development automation with Claude Code + Codex collaboration +> AI-powered development automation with multi-backend execution (Codex/Claude/Gemini) -## Core Concept: Claude Code + Codex +## Core Concept: Multi-Backend Architecture -This system leverages a **dual-agent architecture**: +This system leverages a **dual-agent architecture** with pluggable AI backends: | Role | Agent | Responsibility | |------|-------|----------------| | **Orchestrator** | Claude Code | Planning, context gathering, verification, user interaction | -| **Executor** | Codex | Code editing, test execution, file operations | +| **Executor** | codeagent-wrapper | Code editing, test execution (Codex/Claude/Gemini backends) | **Why this separation?** - Claude Code excels at understanding context and orchestrating complex workflows -- Codex excels at focused code generation and execution -- Together they provide better results than either alone +- Specialized backends (Codex for code, Claude for reasoning, Gemini for prototyping) excel at focused execution +- Backend selection via `--backend codex|claude|gemini` matches the model to the task ## Quick Start(Please execute in Powershell on Windows) @@ -246,7 +246,7 @@ bash install.sh #### Windows -Windows installs place `codex-wrapper.exe` in `%USERPROFILE%\bin`. +Windows installs place `codeagent-wrapper.exe` in `%USERPROFILE%\bin`. ```powershell # PowerShell (recommended) diff --git a/README_CN.md b/README_CN.md index 4842fe0..b2c8f9d 100644 --- a/README_CN.md +++ b/README_CN.md @@ -4,21 +4,21 @@ [![Claude Code](https://img.shields.io/badge/Claude-Code-blue)](https://claude.ai/code) [![Version](https://img.shields.io/badge/Version-5.2-green)](https://github.com/cexll/myclaude) -> AI 驱动的开发自动化 - Claude Code + Codex 协作 +> AI 驱动的开发自动化 - 多后端执行架构 (Codex/Claude/Gemini) -## 核心概念:Claude Code + Codex +## 核心概念:多后端架构 -本系统采用**双智能体架构**: +本系统采用**双智能体架构**与可插拔 AI 后端: | 角色 | 智能体 | 职责 | |------|-------|------| | **编排者** | Claude Code | 规划、上下文收集、验证、用户交互 | -| **执行者** | Codex | 代码编辑、测试执行、文件操作 | +| **执行者** | codeagent-wrapper | 代码编辑、测试执行(Codex/Claude/Gemini 后端)| **为什么分离?** - Claude Code 擅长理解上下文和编排复杂工作流 -- Codex 擅长专注的代码生成和执行 -- 两者结合效果优于单独使用 +- 专业后端(Codex 擅长代码、Claude 擅长推理、Gemini 擅长原型)专注执行 +- 通过 `--backend codex|claude|gemini` 匹配模型与任务 ## 快速开始(windows上请在Powershell中执行) @@ -237,7 +237,7 @@ bash install.sh #### Windows 系统 -Windows 系统会将 `codex-wrapper.exe` 安装到 `%USERPROFILE%\bin`。 +Windows 系统会将 `codeagent-wrapper.exe` 安装到 `%USERPROFILE%\bin`。 ```powershell # PowerShell(推荐) diff --git a/install.bat b/install.bat index 3640009..0fe6f0c 100644 --- a/install.bat +++ b/install.bat @@ -9,13 +9,13 @@ set "OS=windows" call :detect_arch if errorlevel 1 goto :fail -set "BINARY_NAME=codex-wrapper-%OS%-%ARCH%.exe" +set "BINARY_NAME=codeagent-wrapper-%OS%-%ARCH%.exe" set "URL=https://github.com/%REPO%/releases/%VERSION%/download/%BINARY_NAME%" -set "TEMP_FILE=%TEMP%\codex-wrapper-%ARCH%-%RANDOM%.exe" +set "TEMP_FILE=%TEMP%\codeagent-wrapper-%ARCH%-%RANDOM%.exe" set "DEST_DIR=%USERPROFILE%\bin" -set "DEST=%DEST_DIR%\codex-wrapper.exe" +set "DEST=%DEST_DIR%\codeagent-wrapper.exe" -echo Downloading codex-wrapper for %ARCH% ... +echo Downloading codeagent-wrapper for %ARCH% ... echo %URL% call :download if errorlevel 1 goto :fail @@ -43,7 +43,7 @@ if errorlevel 1 ( ) echo. -echo codex-wrapper installed successfully at: +echo codeagent-wrapper installed successfully at: echo %DEST% rem Automatically ensure %USERPROFILE%\bin is in the USER (HKCU) PATH