diff --git a/.qwen/QWEN.md b/.qwen/QWEN.md new file mode 100644 index 00000000..6331cd27 --- /dev/null +++ b/.qwen/QWEN.md @@ -0,0 +1,143 @@ +# QWEN Execution Protocol + +## Overview + +**Role**: QWEN - code analysis and documentation generation + +## Prompt Structure + +**Receive prompts in this format**: + +``` +PURPOSE: [goal statement] +TASK: [specific task] +MODE: [analysis|write] +CONTEXT: [file patterns] +EXPECTED: [deliverables] +RULES: [constraints and templates] +``` + +## Execution Requirements + +### ALWAYS + +- **Parse all six fields** - Understand PURPOSE, TASK, MODE, CONTEXT, EXPECTED, RULES +- **Follow MODE strictly** - Respect permission boundaries +- **Analyze CONTEXT files** - Read all matching patterns thoroughly +- **Apply RULES** - Follow templates and constraints exactly +- **Provide evidence** - Quote code with file:line references +- **Match EXPECTED** - Deliver exactly what's requested + +### NEVER + +- **Assume behavior** - Verify with actual code +- **Ignore CONTEXT** - Stay within specified file patterns +- **Skip RULES** - Templates are mandatory when provided +- **Make unsubstantiated claims** - Always back with code references +- **Deviate from MODE** - Respect read/write boundaries + +## MODE Behavior + +### MODE: analysis (default) + +**Permissions**: +- Read all CONTEXT files +- Create/modify documentation files + +**Execute**: +1. Read and analyze CONTEXT files +2. Identify patterns and issues +3. Generate insights and recommendations +4. Create documentation if needed +5. Output structured analysis + +**Constraint**: Do NOT modify source code files + +### MODE: write + +**Permissions**: +- Full file operations +- Create/modify any files + +**Execute**: +1. Read CONTEXT files +2. Perform requested file operations +3. Create/modify files as specified +4. Validate changes +5. Report file changes + +## Output Format + +### Standard Analysis Structure + +```markdown +# Analysis: [TASK Title] + +## Summary +[2-3 sentence overview] + +## Key Findings +1. [Finding] - path/to/file:123 +2. [Finding] - path/to/file:456 + +## Detailed Analysis +[Evidence-based analysis with code quotes] + +## Recommendations +1. [Actionable recommendation] +2. [Actionable recommendation] +``` + +### Code References + +Always use format: `path/to/file:line_number` + +Example: "Authentication logic at `src/auth/jwt.ts:45` uses deprecated algorithm" + +## RULES Processing + +- **Parse the RULES field** to identify template content and additional constraints +- **Recognize `|` as separator** between template and additional constraints +- **ALWAYS apply all template guidelines** provided in the prompt +- **ALWAYS apply all additional constraints** specified after `|` +- **Treat all rules as mandatory** - both template and constraints must be followed +- **Failure to follow any rule** constitutes task failure + +## Error Handling + +**File Not Found**: +- Report missing files +- Continue with available files +- Note in output + +**Invalid CONTEXT Pattern**: +- Report invalid pattern +- Request correction +- Do not guess + +## Quality Standards + +### Thoroughness +- Analyze ALL files in CONTEXT +- Check cross-file patterns +- Identify edge cases +- Quantify when possible + +### Evidence-Based +- Quote relevant code +- Provide file:line references +- Link related patterns + +### Actionable +- Clear recommendations +- Prioritized by impact +- Specific, not vague + +## Philosophy + +- **Incremental over big bangs** - Suggest small, testable changes +- **Learn from existing code** - Reference project patterns +- **Pragmatic over dogmatic** - Adapt to project reality +- **Clear over clever** - Prefer obvious solutions +- **Simple over complex** - Avoid over-engineering + diff --git a/Install-Claude.ps1 b/Install-Claude.ps1 index d99680dc..adfdc9f3 100644 --- a/Install-Claude.ps1 +++ b/Install-Claude.ps1 @@ -167,6 +167,7 @@ function Test-Prerequisites { $claudeMd = Join-Path $sourceDir "CLAUDE.md" $codexDir = Join-Path $sourceDir ".codex" $geminiDir = Join-Path $sourceDir ".gemini" + $qwenDir = Join-Path $sourceDir ".qwen" if (-not (Test-Path $claudeDir)) { Write-ColorOutput "ERROR: .claude directory not found in $sourceDir" $ColorError @@ -188,6 +189,11 @@ function Test-Prerequisites { return $false } + if (-not (Test-Path $qwenDir)) { + Write-ColorOutput "ERROR: .qwen directory not found in $sourceDir" $ColorError + return $false + } + Write-ColorOutput "Prerequisites check passed" $ColorSuccess return $true } @@ -666,6 +672,7 @@ function Install-Global { $globalClaudeMd = Join-Path $globalClaudeDir "CLAUDE.md" $globalCodexDir = Join-Path $userProfile ".codex" $globalGeminiDir = Join-Path $userProfile ".gemini" + $globalQwenDir = Join-Path $userProfile ".qwen" Write-ColorOutput "Global installation path: $userProfile" $ColorInfo @@ -675,11 +682,12 @@ function Install-Global { $sourceClaudeMd = Join-Path $sourceDir "CLAUDE.md" $sourceCodexDir = Join-Path $sourceDir ".codex" $sourceGeminiDir = Join-Path $sourceDir ".gemini" + $sourceQwenDir = Join-Path $sourceDir ".qwen" # Create backup folder if needed (default behavior unless NoBackup is specified) $backupFolder = $null if (-not $NoBackup) { - if ((Test-Path $globalClaudeDir) -or (Test-Path $globalCodexDir) -or (Test-Path $globalGeminiDir)) { + if ((Test-Path $globalClaudeDir) -or (Test-Path $globalCodexDir) -or (Test-Path $globalGeminiDir) -or (Test-Path $globalQwenDir)) { $existingFiles = @() if (Test-Path $globalClaudeDir) { $existingFiles += Get-ChildItem $globalClaudeDir -Recurse -File -ErrorAction SilentlyContinue @@ -690,6 +698,9 @@ function Install-Global { if (Test-Path $globalGeminiDir) { $existingFiles += Get-ChildItem $globalGeminiDir -Recurse -File -ErrorAction SilentlyContinue } + if (Test-Path $globalQwenDir) { + $existingFiles += Get-ChildItem $globalQwenDir -Recurse -File -ErrorAction SilentlyContinue + } if (($existingFiles -and ($existingFiles | Measure-Object).Count -gt 0)) { $backupFolder = Get-BackupDirectory -TargetDirectory $userProfile Write-ColorOutput "Backup folder created: $backupFolder" $ColorInfo @@ -717,6 +728,10 @@ function Install-Global { Write-ColorOutput "Merging .gemini directory contents..." $ColorInfo $geminiMerged = Merge-DirectoryContents -Source $sourceGeminiDir -Destination $globalGeminiDir -Description ".gemini directory contents" -BackupFolder $backupFolder + # Merge .qwen directory contents + Write-ColorOutput "Merging .qwen directory contents..." $ColorInfo + $qwenMerged = Merge-DirectoryContents -Source $sourceQwenDir -Destination $globalQwenDir -Description ".qwen directory contents" -BackupFolder $backupFolder + # Create version.json in global .claude directory Write-ColorOutput "Creating version.json..." $ColorInfo Create-VersionJson -TargetClaudeDir $globalClaudeDir -InstallationMode "Global" @@ -753,16 +768,18 @@ function Install-Path { $sourceClaudeMd = Join-Path $sourceDir "CLAUDE.md" $sourceCodexDir = Join-Path $sourceDir ".codex" $sourceGeminiDir = Join-Path $sourceDir ".gemini" + $sourceQwenDir = Join-Path $sourceDir ".qwen" - # Local paths - for agents, commands, output-styles, .codex, .gemini + # Local paths - for agents, commands, output-styles, .codex, .gemini, .qwen $localClaudeDir = Join-Path $TargetDirectory ".claude" $localCodexDir = Join-Path $TargetDirectory ".codex" $localGeminiDir = Join-Path $TargetDirectory ".gemini" + $localQwenDir = Join-Path $TargetDirectory ".qwen" # Create backup folder if needed $backupFolder = $null if (-not $NoBackup) { - if ((Test-Path $localClaudeDir) -or (Test-Path $localCodexDir) -or (Test-Path $localGeminiDir) -or (Test-Path $globalClaudeDir)) { + if ((Test-Path $localClaudeDir) -or (Test-Path $localCodexDir) -or (Test-Path $localGeminiDir) -or (Test-Path $localQwenDir) -or (Test-Path $globalClaudeDir)) { $backupFolder = Get-BackupDirectory -TargetDirectory $TargetDirectory Write-ColorOutput "Backup folder created: $backupFolder" $ColorInfo } @@ -858,6 +875,10 @@ function Install-Path { Write-ColorOutput "Merging .gemini directory contents to local location..." $ColorInfo $geminiMerged = Merge-DirectoryContents -Source $sourceGeminiDir -Destination $localGeminiDir -Description ".gemini directory contents" -BackupFolder $backupFolder + # Merge .qwen directory contents to local location + Write-ColorOutput "Merging .qwen directory contents to local location..." $ColorInfo + $qwenMerged = Merge-DirectoryContents -Source $sourceQwenDir -Destination $localQwenDir -Description ".qwen directory contents" -BackupFolder $backupFolder + # Create version.json in local .claude directory Write-ColorOutput "Creating version.json in local directory..." $ColorInfo Create-VersionJson -TargetClaudeDir $localClaudeDir -InstallationMode "Path" @@ -971,11 +992,11 @@ function Show-Summary { if ($Mode -eq "Path") { Write-Host " Local Path: $Path" Write-Host " Global Path: $([Environment]::GetFolderPath('UserProfile'))" - Write-Host " Local Components: agents, commands, output-styles, .codex, .gemini" + Write-Host " Local Components: agents, commands, output-styles, .codex, .gemini, .qwen" Write-Host " Global Components: workflows, scripts, python_script, etc." } else { Write-Host " Path: $Path" - Write-Host " Global Components: .claude, .codex, .gemini" + Write-Host " Global Components: .claude, .codex, .gemini, .qwen" } if ($NoBackup) { @@ -991,10 +1012,11 @@ function Show-Summary { Write-Host "1. Review CLAUDE.md - Customize guidelines for your project" Write-Host "2. Review .codex/Agent.md - Codex agent execution protocol" Write-Host "3. Review .gemini/CLAUDE.md - Gemini agent execution protocol" - Write-Host "4. Configure settings - Edit .claude/settings.local.json as needed" - Write-Host "5. Start using Claude Code with Agent workflow coordination!" - Write-Host "6. Use /workflow commands for task execution" - Write-Host "7. Use /update-memory commands for memory system management" + Write-Host "4. Review .qwen/QWEN.md - Qwen agent execution protocol" + Write-Host "5. Configure settings - Edit .claude/settings.local.json as needed" + Write-Host "6. Start using Claude Code with Agent workflow coordination!" + Write-Host "7. Use /workflow commands for task execution" + Write-Host "8. Use /update-memory commands for memory system management" Write-Host "" Write-ColorOutput "Documentation: https://github.com/catlog22/Claude-CCW" $ColorInfo