mirror of
https://github.com/cexll/myclaude.git
synced 2026-02-04 02:20:42 +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>
9.3 KiB
9.3 KiB
GitHub Workflow Commands
Issue-to-PR automation with codeagent-wrapper integration.
Overview
Two commands streamline GitHub workflows:
/gh-create-issue- Create structured issues through guided dialogue/gh-implement- Implement issues with automated development lifecycle
Prerequisites
# Install GitHub CLI
brew install gh
# Authenticate
gh auth login
# Verify
gh auth status
Commands
/gh-create-issue
Create structured GitHub issues through multi-round dialogue.
Usage:
/gh-create-issue "add user authentication"
Process:
- Initial Analysis - Claude analyzes your brief description
- Clarification Questions - Interactive Q&A to gather:
- Technical requirements
- Acceptance criteria
- Dependencies
- Priority/labels
- Issue Creation - Generates structured issue with:
- Clear title
- Detailed description
- Acceptance criteria checklist
- Relevant labels
- Assignee (optional)
Example Session:
User: /gh-create-issue "add dark mode"
Claude: I'll help create a structured issue for dark mode. Let me gather some details.
1. Scope: Just theme toggle, or also persist user preference?
2. Which components need dark mode support?
3. Design system: Using CSS variables or styled-components?
User:
1. Toggle + persist in localStorage
2. All components in src/components
3. CSS variables
Claude: Creating issue...
✅ Issue created: #123 "Implement dark mode with theme persistence"
URL: https://github.com/user/repo/issues/123
Generated Issue Format:
# Implement dark mode with theme persistence
## Description
Add dark mode support across all components with user preference persistence.
## Requirements
- [ ] Add theme toggle component
- [ ] Implement CSS variables for light/dark themes
- [ ] Persist theme preference in localStorage
- [ ] Update all components in src/components to support dark mode
- [ ] Add theme toggle to app header
## Acceptance Criteria
- [ ] User can toggle between light and dark themes
- [ ] Theme preference persists across sessions
- [ ] All UI components render correctly in both themes
- [ ] No flash of unstyled content on page load
## Technical Notes
- Use CSS custom properties
- Store preference as `theme: 'light' | 'dark'` in localStorage
- Add `data-theme` attribute to root element
Labels: enhancement, ui
/gh-implement
Implement GitHub issue with full development lifecycle.
Usage:
/gh-implement 123
Phases:
Phase 1: Issue Analysis
# Fetches issue details
gh issue view 123 --json title,body,labels,comments
# Parses:
- Requirements
- Acceptance criteria
- Technical constraints
- Related discussions
Phase 2: Clarification (if needed)
Claude asks questions about:
- Implementation approach
- Architecture decisions
- Testing strategy
- Edge cases
Phase 3: Development
Option A: Simple scope - Direct codeagent-wrapper call:
codeagent-wrapper --backend codex - <<'EOF'
Implement dark mode toggle based on issue #123:
- Add ThemeToggle component
- Implement CSS variables
- Add localStorage persistence
EOF
Option B: Complex scope - Use /dev workflow:
/dev "implement issue #123: dark mode with theme persistence"
Coverage requirement: ≥90% test coverage enforced
Phase 4: Progress Updates
# After each milestone
gh issue comment 123 --body "✅ Completed: ThemeToggle component"
gh issue comment 123 --body "✅ Completed: CSS variables setup"
gh issue comment 123 --body "✅ Completed: localStorage persistence"
Phase 5: PR Creation
gh pr create \
--title "[#123] Implement dark mode with theme persistence" \
--body "Closes #123
## Changes
- Added ThemeToggle component
- Implemented light/dark CSS variables
- Added localStorage persistence
- Updated all components for theme support
## Testing
- Unit tests: ThemeToggle, theme utilities
- Integration tests: theme persistence across page loads
- Coverage: 92%"
Output:
✅ PR created: #124
URL: https://github.com/user/repo/pull/124
Examples
Example 1: Bug Fix
# Create issue
/gh-create-issue "login form doesn't validate email"
# Implement
/gh-implement 125
Process:
- Analysis: Parse bug report, identify validation logic
- Clarification: Confirm expected validation rules
- Development: Fix validation, add tests
- Updates: Comment with fix details
- PR: Link to issue, show test coverage
Example 2: Feature Development
# Create issue
/gh-create-issue "add export to CSV feature"
# Implement
/gh-implement 126
Process:
- Analysis: Understand data structure, export requirements
- Clarification: Which data fields? File naming? Encoding?
- Development:
- Backend: CSV generation endpoint
- Frontend: Export button + download handler
- Tests: Unit + integration
- Updates: Milestone comments (backend done, frontend done, tests done)
- PR: Full feature description with screenshots
Example 3: Refactoring
# Create issue
/gh-create-issue "refactor authentication module"
# Implement
/gh-implement 127
Process:
- Analysis: Review current auth code, identify issues
- Clarification: Scope (just refactor vs add features)?
- Development:
- Modularize auth logic
- Extract reusable utilities
- Add missing tests
- Update documentation
- Updates: Component-by-component progress
- PR: Before/after comparison, test coverage improvement
Workflow Integration
With /dev Workflow
# Create issue first
/gh-create-issue "implement real-time notifications"
# Then implement with /dev
/gh-implement 128
# Claude will:
# 1. Analyze issue #128
# 2. Trigger /dev workflow internally
# 3. Execute with 90% coverage requirement
# 4. Post progress updates
# 5. Create PR
With Parallel Tasks
For complex features, /gh-implement may use parallel execution:
# Internally executes:
codeagent-wrapper --parallel <<'EOF'
---TASK---
id: backend_notifications
workdir: /project/backend
---CONTENT---
implement notifications API with WebSocket
---TASK---
id: frontend_notifications
workdir: /project/frontend
dependencies: backend_notifications
---CONTENT---
build Notifications UI component
---TASK---
id: tests_notifications
workdir: /project
dependencies: backend_notifications, frontend_notifications
---CONTENT---
add E2E tests for notification flow
EOF
Configuration
Issue Templates
Create .github/ISSUE_TEMPLATE/feature.md:
---
name: Feature Request
about: Suggest a new feature
labels: enhancement
---
## Description
<!-- Clear description of the feature -->
## Requirements
<!-- Specific requirements -->
## Acceptance Criteria
<!-- Checklist of criteria -->
PR Templates
Create .github/PULL_REQUEST_TEMPLATE.md:
## Related Issue
Closes #
## Changes
<!-- List of changes -->
## Testing
<!-- Test coverage and manual testing -->
## Screenshots (if applicable)
<!-- Before/after screenshots -->
Best Practices
- Clear issue descriptions - More context = better implementation
- Incremental commits - Easier to review and rollback
- Test-driven - Write tests before/during implementation
- Milestone updates - Keep issue comments up-to-date
- Detailed PRs - Explain why, not just what
Troubleshooting
Issue not found:
# Verify issue exists
gh issue view 123
# Check repository
gh repo view
PR creation failed:
# Ensure branch is pushed
git push -u origin feature-branch
# Check if PR already exists
gh pr list --head feature-branch
Authentication error:
# Re-authenticate
gh auth login
# Check token scopes
gh auth status
Advanced Usage
Custom Labels
# Add labels during issue creation
gh issue create \
--title "Feature: dark mode" \
--body "..." \
--label "enhancement,ui,priority:high"
Multiple Assignees
# Assign to team members
gh issue create \
--title "..." \
--assignee @user1,@user2
Milestone Assignment
# Add to milestone
gh issue create \
--title "..." \
--milestone "v2.0"
Integration with CI/CD
Auto-close on merge
# .github/workflows/pr-merge.yml
name: Close Issues on PR Merge
on:
pull_request:
types: [closed]
jobs:
close-issues:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Close linked issues
run: gh issue close ${{ github.event.pull_request.number }}
Coverage Check
# .github/workflows/coverage.yml
name: Coverage Check
on: [pull_request]
jobs:
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run tests with coverage
run: go test -coverprofile=coverage.out ./...
- name: Check coverage threshold
run: |
coverage=$(go tool cover -func=coverage.out | grep total | awk '{print $3}' | sed 's/%//')
if (( $(echo "$coverage < 90" | bc -l) )); then
echo "Coverage $coverage% is below 90% threshold"
exit 1
fi