mirror of
https://github.com/cexll/myclaude.git
synced 2026-02-05 02:30:26 +08:00
## Overview Complete implementation of enterprise-level workflow features including multi-backend execution (Codex/Claude/Gemini), GitHub issue-to-PR automation, hooks system, and comprehensive documentation. ## Major Changes ### 1. Multi-Backend Support (codeagent-wrapper) - Renamed codex-wrapper → codeagent-wrapper - Backend interface with Codex/Claude/Gemini implementations - Multi-format JSON stream parser (auto-detects backend) - CLI flag: --backend codex|claude|gemini (default: codex) - Test coverage: 89.2% **Files:** - codeagent-wrapper/backend.go - Backend interface - codeagent-wrapper/parser.go - Multi-format parser - codeagent-wrapper/config.go - CLI parsing with backend selection - codeagent-wrapper/executor.go - Process execution - codeagent-wrapper/logger.go - Async logging - codeagent-wrapper/utils.go - Utilities ### 2. GitHub Workflow Commands - /gh-create-issue - Create structured issues via guided dialogue - /gh-implement - Issue-to-PR automation with full dev lifecycle **Files:** - github-workflow/commands/gh-create-issue.md - github-workflow/commands/gh-implement.md - skills/codeagent/SKILL.md ### 3. Hooks System - UserPromptSubmit hook for skill activation - Pre-commit example with code quality checks - merge_json operation in install.py for settings.json merging **Files:** - hooks/skill-activation-prompt.sh|.js - hooks/pre-commit.sh - hooks/hooks-config.json - hooks/test-skill-activation.sh ### 4. Skills System - skill-rules.json for auto-activation - codeagent skill for multi-backend wrapper **Files:** - skills/skill-rules.json - skills/codeagent/SKILL.md - skills/codex/SKILL.md (updated) ### 5. Installation System - install.py: Added merge_json operation - config.json: Added "gh" module - config.schema.json: Added op_merge_json schema ### 6. CI/CD - GitHub Actions workflow for testing and building **Files:** - .github/workflows/ci.yml ### 7. Comprehensive Documentation - Architecture overview with ASCII diagrams - Codeagent-wrapper complete usage guide - GitHub workflow detailed examples - Hooks customization guide **Files:** - docs/architecture.md (21KB) - docs/CODEAGENT-WRAPPER.md (9KB) - docs/GITHUB-WORKFLOW.md (9KB) - docs/HOOKS.md (4KB) - docs/enterprise-workflow-ideas.md - README.md (updated with doc links) ## Test Results - All tests passing ✅ - Coverage: 89.2% - Security scan: 0 issues (gosec) ## Breaking Changes - codex-wrapper renamed to codeagent-wrapper - Default backend: codex (documented in README) ## Migration Guide Users with codex-wrapper installed should: 1. Run: python3 install.py --module dev --force 2. Update shell aliases if any 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
123 lines
3.6 KiB
JSON
123 lines
3.6 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://github.com/cexll/myclaude/config.schema.json",
|
|
"title": "Modular Installation Config",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["version", "install_dir", "log_file", "modules"],
|
|
"properties": {
|
|
"version": {
|
|
"type": "string",
|
|
"pattern": "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$"
|
|
},
|
|
"install_dir": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "Target installation directory, supports ~/ expansion"
|
|
},
|
|
"log_file": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"modules": {
|
|
"type": "object",
|
|
"description": "可自定义的模块定义,每个模块名称可任意指定",
|
|
"patternProperties": {
|
|
"^[a-zA-Z0-9_-]+$": { "$ref": "#/$defs/module" }
|
|
},
|
|
"additionalProperties": false,
|
|
"minProperties": 1
|
|
}
|
|
},
|
|
"$defs": {
|
|
"module": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["enabled", "description", "operations"],
|
|
"properties": {
|
|
"enabled": { "type": "boolean", "default": false },
|
|
"description": { "type": "string", "minLength": 3 },
|
|
"operations": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": { "$ref": "#/$defs/operation" }
|
|
}
|
|
}
|
|
},
|
|
"operation": {
|
|
"oneOf": [
|
|
{ "$ref": "#/$defs/op_copy_dir" },
|
|
{ "$ref": "#/$defs/op_copy_file" },
|
|
{ "$ref": "#/$defs/op_merge_dir" },
|
|
{ "$ref": "#/$defs/op_merge_json" },
|
|
{ "$ref": "#/$defs/op_run_command" }
|
|
]
|
|
},
|
|
"common_operation_fields": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": { "type": "string" }
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"op_copy_dir": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["type", "source", "target"],
|
|
"properties": {
|
|
"type": { "const": "copy_dir" },
|
|
"source": { "type": "string", "minLength": 1 },
|
|
"target": { "type": "string", "minLength": 1 },
|
|
"description": { "type": "string" }
|
|
}
|
|
},
|
|
"op_copy_file": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["type", "source", "target"],
|
|
"properties": {
|
|
"type": { "const": "copy_file" },
|
|
"source": { "type": "string", "minLength": 1 },
|
|
"target": { "type": "string", "minLength": 1 },
|
|
"description": { "type": "string" }
|
|
}
|
|
},
|
|
"op_merge_dir": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["type", "source"],
|
|
"properties": {
|
|
"type": { "const": "merge_dir" },
|
|
"source": { "type": "string", "minLength": 1 },
|
|
"description": { "type": "string" }
|
|
}
|
|
},
|
|
"op_merge_json": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["type", "source", "target"],
|
|
"properties": {
|
|
"type": { "const": "merge_json" },
|
|
"source": { "type": "string", "minLength": 1 },
|
|
"target": { "type": "string", "minLength": 1 },
|
|
"merge_key": { "type": "string" },
|
|
"description": { "type": "string" }
|
|
}
|
|
},
|
|
"op_run_command": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["type", "command"],
|
|
"properties": {
|
|
"type": { "const": "run_command" },
|
|
"command": { "type": "string", "minLength": 1 },
|
|
"description": { "type": "string" },
|
|
"env": {
|
|
"type": "object",
|
|
"additionalProperties": { "type": "string" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|