mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-11 02:33:51 +08:00
- Create unified workflow-architecture.md combining: - data-model.md (JSON-only architecture, task schemas) - file-structure-standards.md (progressive structures, templates) - session-management-principles.md (marker files, session ops) - complexity-rules.md (classification thresholds, behaviors) - Update 11 files with references to new consolidated document - Remove redundant documentation while preserving all functionality - Streamline maintenance with single source of truth 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
11 KiB
11 KiB
---
name: gemini-unified
description: Consolidated Gemini CLI guidelines - core rules, syntax, patterns, templates, and best practices
type: technical-guideline
---
### 🚀 Command Overview: `gemini`
- **Purpose**: A CLI tool for comprehensive codebase analysis, context gathering, and pattern detection across multiple files.
- **Primary Triggers**:
- When user intent is to "analyze", "get context", or "understand the codebase".
- When a task requires understanding relationships between multiple files.
- When the problem scope exceeds a single file.
- **Core Use Cases**:
- Project-wide context acquisition.
- Architectural analysis and pattern detection.
- Identification of coding standards and conventions.
### ⚙️ Command Syntax & Arguments
- **Basic Structure**:
```bash
gemini [flags] -p "@{patterns} {template} prompt"
```
- **Key Arguments**:
- `--all-files`: Includes all files in the current working directory.
- `-p`: The prompt string, which must contain file reference patterns and the analysis query.
- `{template}`: Template injection using `$(cat ~/.claude/workflows/gemini-templates/prompts/[category]/[template].txt)` for standardized analysis
- `@{pattern}`: A special syntax for referencing files and directories.
- **Template Usage**:
```bash
# Without template (manual prompt)
gemini -p "@{src/**/*} @{CLAUDE.md} Analyze code patterns and conventions"
# With template (recommended)
gemini -p "@{src/**/*} @{CLAUDE.md} $(cat ~/.claude/workflows/gemini-templates/prompts/analysis/pattern.txt)"
# Multi-template composition
gemini -p "@{src/**/*} @{CLAUDE.md} $(cat <<'EOF'
$(cat ~/.claude/workflows/gemini-templates/prompts/analysis/architecture.txt)
Additional Security Focus:
$(cat ~/.claude/workflows/gemini-templates/prompts/analysis/security.txt)
EOF
)"
```
### 🔄 Execution Modes
- **1. Directory-Scoped**: Navigate to a directory first, then run `gemini`.
```bash
cd src/components && gemini --all-files -p "@{CLAUDE.md} Analyze component patterns"
```
- **2. Pattern-Based**: Target files directly from any location using patterns.
```bash
gemini -p "@{src/components/**/*} @{CLAUDE.md} Analyze component patterns"
```
- **3. Template-Injected**: Use `$(cat)` to inject a predefined prompt template.
```bash
gemini -p "@{src/**/*} $(cat ~/.claude/workflows/gemini-templates/prompts/analysis/pattern.txt)"
```
- **4. Parallel Execution**: Run multiple analyses concurrently for efficiency.
```bash
(
gemini -p "@{**/*auth*} @{CLAUDE.md} Auth patterns" &
gemini -p "@{**/api/**/*} @{CLAUDE.md} API patterns" &
wait
)
```
### 📂 File Pattern Rules
- **Syntax**:
- `@{pattern}`: Single file or directory pattern.
- `@{pattern1,pattern2}`: Multiple patterns, comma-separated.
- **Wildcards**:
```bash
* # Any character (excluding path separators)
** # Any directory levels (recursive)
? # Any single character
[abc] # Any character within the brackets
{a,b,c} # Any of the options within the braces
```
- **Cross-Platform Rules**:
- Always use forward slashes (`/`) for paths.
- Enclose paths with spaces in quotes: `@{"My Project/src/**/*"}`.
- Escape special characters like brackets: `@{src/**/*\[bracket\]*}`.
### 🧠 Smart Pattern Discovery - Logic Flow
This feature automates the process of finding relevant files for analysis.
`Step 1: Analyze File Extensions` -> `Step 2: Generate Patterns` -> `Step 3: Execute Gemini`
```pseudo
FUNCTION analyze_and_run_gemini(analysis_type):
// Step 1: Analyze the project's file types.
// Corresponds to the `discover_extensions` shell function.
discovered_extensions = analyze_project_extensions()
log("Discovered extensions:", discovered_extensions)
// Also identify the likely primary programming language.
// Corresponds to the `detect_primary_language` shell function.
primary_language = detect_main_language(discovered_extensions)
log("Primary language:", primary_language)
// Step 2: Generate file patterns based on the analysis type (e.g., "code", "config").
// Corresponds to the `generate_patterns_by_extension` shell function.
patterns = generate_patterns(analysis_type, discovered_extensions)
log("Generated patterns:", patterns)
// Step 3: Construct and execute the gemini command.
// Always include project standards from CLAUDE.md.
// Uses a pre-defined analysis template for consistency.
command = "gemini -p \"" + patterns + " @{CLAUDE.md} $(cat ~/.claude/workflows/gemini-templates/prompts/analysis/pattern.txt)\""
execute_shell(command)
END FUNCTION
📜 Smart Discovery - Shell Implementation
These functions provide the concrete implementation for the smart discovery logic.
- Step 1: Analyze File Extensions & Language
# Discover actual file types in project discover_extensions() { echo "=== File Extension Analysis ===" find . -type f -name "*.*" 2>/dev/null | \ sed 's/.*\.//' | \ sort | uniq -c | sort -rn | \ head -10 } # Identify primary language detect_primary_language() { local extensions=$(find . -type f -name "*.*" 2>/dev/null | sed 's/.*\.//' | sort | uniq -c | sort -rn) if echo "$extensions" | grep -q "js\|jsx\|ts\|tsx"; then echo "JavaScript/TypeScript" elif echo "$extensions" | grep -q "py\|pyw"; then echo "Python" # ... other language checks ... else echo "Unknown/Mixed" fi } - Step 2: Generate Patterns
# Generate patterns from discovered extensions generate_patterns_by_extension() { local analysis_type="$1" local top_exts=$(find . -type f -name "*.*" 2>/dev/null | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -5 | awk '{print $2}') local pattern="" case "$analysis_type" in "code") for ext in $top_exts; do case $ext in js|ts|jsx|tsx|py|java|go|rs|cpp|c|h) pattern="${pattern}**/*.${ext}," ;; esac done echo "@{${pattern%,}}" ;; "config") echo "@{*.json,*.yml,*.yaml,*.toml,*.ini,*.env}" ;; "docs") echo "@{**/*.md,**/*.txt,**/README*}" ;; "all") for ext in $top_exts; do pattern="${pattern}**/*.${ext},"; done echo "@{${pattern%,}}" ;; esac }
⚡ Smart Discovery - Quick Commands
| Need | Command | Description |
|---|---|---|
| Analyze Extensions | discover_extensions |
View project file type distribution. |
| Code Files | generate_patterns_by_extension "code" |
Generate patterns for source code files only. |
| Config Files | generate_patterns_by_extension "config" |
Generate patterns for configuration files. |
| Docs | generate_patterns_by_extension "docs" |
Generate patterns for documentation. |
| All Top Types | generate_patterns_by_extension "all" |
Generate patterns for all discovered file types. |
TPL (Templates)
🗂️ Template Directory Structure
This structure must be located at ~/.claude/workflows/gemini-templates/.
~/.claude/workflows/gemini-templates/
├── prompts/
│ ├── analysis/ # Code analysis templates
│ │ ├── pattern.txt # ✨ Implementation patterns & conventions
│ │ ├── architecture.txt # 🏗️ System architecture & dependencies
│ │ ├── security.txt # 🔒 Security vulnerabilities & protection
│ │ ├── performance.txt # ⚡ Performance bottlenecks & optimization
│ │ └── quality.txt # 📊 Code quality & maintainability
│ ├── planning/ # Planning templates
│ │ ├── task-breakdown.txt # 📋 Task decomposition & dependencies
│ │ └── migration.txt # 🚀 System migration & modernization
│ ├── implementation/ # Development templates
│ │ └── component.txt # 🧩 Component design & implementation
│ ├── review/ # Review templates
│ │ └── code-review.txt # ✅ Comprehensive review checklist
│ └── dms/ # DMS-specific
│ └── hierarchy-analysis.txt # 📚 Documentation structure optimization
└── commands/ # Command examples
🧭 Template Selection Guide
| Task Type | Primary Template | Purpose |
|---|---|---|
| Understand Existing Code | pattern.txt |
Codebase learning, onboarding. |
| Plan New Features | task-breakdown.txt |
Feature development planning. |
| Security Review | security.txt |
Security audits, vulnerability assessment. |
| Performance Tuning | performance.txt |
Bottleneck investigation. |
| Code Quality Improvement | quality.txt |
Refactoring, technical debt reduction. |
| System Modernization | migration.txt |
Tech upgrades, architectural changes. |
| Component Development | component.txt |
Building reusable components. |
| Pre-Release Review | code-review.txt |
Release readiness checks. |
📦 Standard Command Structures
These are recommended command templates for common scenarios.
-
Basic Structure (Manual Prompt)
gemini --all-files -p "@{target_patterns} @{CLAUDE.md,**/*CLAUDE.md} Context: [Analysis type] targeting @{target_patterns} Guidelines: Include CLAUDE.md standards ## Analysis: 1. [Point 1] 2. [Point 2] ## Output: - File:line references - Code examples" -
Template-Enhanced (Recommended)
# Using a predefined template for consistent, high-quality analysis gemini --all-files -p "@{target_patterns} @{CLAUDE.md,**/*CLAUDE.md} $(cat ~/.claude/workflows/gemini-templates/prompts/[category]/[template].txt) ## Analysis: 1. [Point 1] 2. [Point 2] ## Output: - File:line references - Code examples" " -
Multi-Template Composition
gemini -p "@{src/**/*} @{CLAUDE.md} $(cat ~/.claude/workflows/gemini-templates/prompts/analysis/pattern.txt) Additional Security Focus: $(cat ~/.claude/workflows/gemini-templates/prompts/analysis/security.txt) ## Analysis: 1. [Point 1] 2. [Point 2] ## Output: - File:line references - Code examples" "
⭐ Best Practices & Rules
- Mandatory Context: Always include
@{CLAUDE.md,**/*CLAUDE.md}to ground the analysis in project-specific standards. - Specificity: Use precise file patterns to reduce scope, improve performance, and increase accuracy.
- Performance: Avoid overly broad patterns (
@{**/*}) on large projects. Prefer directory-scoped execution or parallel chunks. - Agent Integration: All agent workflows must begin with a context analysis step using
gemini.# Mandatory first step for any agent task gemini --all-files -p "@{relevant_patterns} @{CLAUDE.md} Context for: [task_description]" - Error Handling:
- Validate patterns match existing files before executing a long analysis.
- Quote paths that contain spaces or special characters.
- Test complex patterns on a small subset of files first.