Initial release: Claude Code Workflow (CCW) v2.0

🚀 Revolutionary AI-powered development workflow orchestration system

## 🔥 Core Innovations
- **Document-State Separation**: Markdown for planning, JSON for execution state
- **Progressive Complexity Management**: Level 0-2 adaptive workflow depth
- **5-Agent Orchestration**: Specialized AI agents with context preservation
- **Session-First Architecture**: Auto-discovery and state inheritance

## 🏗️ Key Features
- Intelligent workflow orchestration (Simple/Medium/Complex patterns)
- Real-time document-state synchronization with conflict resolution
- Hierarchical task management with 3-level JSON structure
- Gemini CLI integration with 12+ specialized templates
- Comprehensive file output generation for all workflow commands

## 📦 Installation
Remote one-liner installation:
```
iex (iwr -useb https://raw.githubusercontent.com/catlog22/Claude-CCW/main/install-remote.ps1)
```

## 🎯 System Architecture
4-layer intelligent development architecture:
1. Command Layer - Smart routing and version management
2. Agent Layer - 5 specialized development agents
3. Workflow Layer - Gemini templates and task orchestration
4. Memory Layer - Distributed documentation and auto-sync

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
catlog22
2025-09-07 17:39:54 +08:00
commit 445ac823ba
87 changed files with 19076 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
#!/bin/bash
# Gemini Chat Template Accessor - Template content access utility
# Usage: ./gemini-chat-executor.sh list|load <template-name>
set -e
# Configuration
CLAUDE_DIR="$HOME/.claude"
TEMPLATES_DIR="$CLAUDE_DIR/prompt-templates"
# Parse command line arguments
COMMAND="$1"
TEMPLATE_NAME="$2"
# Function to list available templates
list_templates() {
echo "Available templates:"
echo "===================="
for template_file in "$TEMPLATES_DIR"/*.md; do
if [[ -f "$template_file" ]]; then
local name=$(basename "$template_file" .md)
if [[ "$name" != "README" ]]; then
local desc=$(grep "description:" "$template_file" | cut -d':' -f2- | sed 's/^ *//')
printf "%-20s %s\n" "$name" "$desc"
fi
fi
done
echo ""
}
# Function to load template
load_template() {
local template_name="$1"
local template_file="$TEMPLATES_DIR/$template_name.md"
if [[ -f "$template_file" ]]; then
cat "$template_file"
return 0
else
echo "Error: Template file not found: $template_file" >&2
return 1
fi
}
# Main execution
case "$COMMAND" in
"list")
list_templates
;;
"load")
if [[ -z "$TEMPLATE_NAME" ]]; then
echo "Error: Template name is required for load command" >&2
echo "Usage: $0 load <template-name>" >&2
exit 1
fi
load_template "$TEMPLATE_NAME"
;;
*)
echo "Error: Unknown command: $COMMAND" >&2
echo "Usage: $0 {list|load} [template-name]" >&2
echo "Commands:" >&2
echo " list - List available templates" >&2
echo " load <name> - Load template content" >&2
exit 1
;;
esac

View File

@@ -0,0 +1,101 @@
#!/bin/bash
# plan-executor.sh - DMSFlow Planning Template Loader
# Returns role-specific planning templates for Claude processing
set -e
# Define paths
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TEMPLATE_DIR="${SCRIPT_DIR}/../planning-templates"
# Parse arguments
COMMAND="$1"
ROLE="$2"
# Handle version check
if [ "$COMMAND" = "--version" ] || [ "$COMMAND" = "-v" ]; then
echo "DMSFlow plan-executor v2.0"
echo "Semantic-based planning role system"
exit 0
fi
# List all available planning roles
if [ "$COMMAND" = "--list" ]; then
echo "Available Planning Roles:"
echo "========================"
for file in "$TEMPLATE_DIR"/*.md; do
if [ -f "$file" ]; then
# Extract name and description from YAML frontmatter
name=$(grep "^name:" "$file" | head -1 | cut -d: -f2 | sed 's/^ *//' | sed 's/ *$//')
desc=$(grep "^description:" "$file" | head -1 | cut -d: -f2- | sed 's/^ *//' | sed 's/ *$//')
if [ -n "$name" ] && [ -n "$desc" ]; then
printf "%-20s - %s\n" "$name" "$desc"
fi
fi
done
exit 0
fi
# Load specific planning role
if [ "$COMMAND" = "--load" ] && [ -n "$ROLE" ]; then
TEMPLATE_PATH="${TEMPLATE_DIR}/${ROLE}.md"
if [ -f "$TEMPLATE_PATH" ]; then
# Output content, skipping YAML frontmatter
awk '
BEGIN { in_yaml = 0; yaml_ended = 0 }
/^---$/ {
if (!yaml_ended) {
if (in_yaml) yaml_ended = 1
else in_yaml = 1
next
}
}
yaml_ended { print }
' "$TEMPLATE_PATH"
else
>&2 echo "Error: Planning role '$ROLE' not found"
>&2 echo "Use --list to see available planning roles"
exit 1
fi
exit 0
fi
# Handle legacy usage (direct role name)
if [ -n "$COMMAND" ] && [ "$COMMAND" != "--help" ] && [ "$COMMAND" != "--list" ] && [ "$COMMAND" != "--load" ]; then
TEMPLATE_PATH="${TEMPLATE_DIR}/${COMMAND}.md"
if [ -f "$TEMPLATE_PATH" ]; then
# Output content, skipping YAML frontmatter
awk '
BEGIN { in_yaml = 0; yaml_ended = 0 }
/^---$/ {
if (!yaml_ended) {
if (in_yaml) yaml_ended = 1
else in_yaml = 1
next
}
}
yaml_ended { print }
' "$TEMPLATE_PATH"
exit 0
else
>&2 echo "Error: Planning role '$COMMAND' not found"
>&2 echo "Use --list to see available planning roles"
exit 1
fi
fi
# Show help
echo "Usage:"
echo " plan-executor.sh --list List all available planning roles with descriptions"
echo " plan-executor.sh --load <role> Load specific planning role template"
echo " plan-executor.sh <role> Load specific role template (legacy format)"
echo " plan-executor.sh --help Show this help message"
echo " plan-executor.sh --version Show version information"
echo ""
echo "Examples:"
echo " plan-executor.sh --list"
echo " plan-executor.sh --load system-architect"
echo " plan-executor.sh feature-planner"

View File

@@ -0,0 +1,101 @@
#!/bin/bash
# tech-stack-loader.sh - DMSFlow Tech Stack Guidelines Loader
# Returns tech stack specific coding guidelines and best practices for Claude processing
set -e
# Define paths
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TEMPLATE_DIR="${SCRIPT_DIR}/../tech-stack-templates"
# Parse arguments
COMMAND="$1"
TECH_STACK="$2"
# Handle version check
if [ "$COMMAND" = "--version" ] || [ "$COMMAND" = "-v" ]; then
echo "DMSFlow tech-stack-loader v2.0"
echo "Semantic-based development guidelines system"
exit 0
fi
# List all available guidelines
if [ "$COMMAND" = "--list" ]; then
echo "Available Development Guidelines:"
echo "================================="
for file in "$TEMPLATE_DIR"/*.md; do
if [ -f "$file" ]; then
# Extract name and description from YAML frontmatter
name=$(grep "^name:" "$file" | head -1 | cut -d: -f2 | sed 's/^ *//' | sed 's/ *$//')
desc=$(grep "^description:" "$file" | head -1 | cut -d: -f2- | sed 's/^ *//' | sed 's/ *$//')
if [ -n "$name" ] && [ -n "$desc" ]; then
printf "%-20s - %s\n" "$name" "$desc"
fi
fi
done
exit 0
fi
# Load specific guidelines
if [ "$COMMAND" = "--load" ] && [ -n "$TECH_STACK" ]; then
TEMPLATE_PATH="${TEMPLATE_DIR}/${TECH_STACK}.md"
if [ -f "$TEMPLATE_PATH" ]; then
# Output content, skipping YAML frontmatter
awk '
BEGIN { in_yaml = 0; yaml_ended = 0 }
/^---$/ {
if (!yaml_ended) {
if (in_yaml) yaml_ended = 1
else in_yaml = 1
next
}
}
yaml_ended { print }
' "$TEMPLATE_PATH"
else
>&2 echo "Error: Development guidelines '$TECH_STACK' not found"
>&2 echo "Use --list to see available guidelines"
exit 1
fi
exit 0
fi
# Handle legacy usage (direct tech stack name)
if [ -n "$COMMAND" ] && [ "$COMMAND" != "--help" ] && [ "$COMMAND" != "--list" ] && [ "$COMMAND" != "--load" ]; then
TEMPLATE_PATH="${TEMPLATE_DIR}/${COMMAND}.md"
if [ -f "$TEMPLATE_PATH" ]; then
# Output content, skipping YAML frontmatter
awk '
BEGIN { in_yaml = 0; yaml_ended = 0 }
/^---$/ {
if (!yaml_ended) {
if (in_yaml) yaml_ended = 1
else in_yaml = 1
next
}
}
yaml_ended { print }
' "$TEMPLATE_PATH"
exit 0
else
>&2 echo "Error: Development guidelines '$COMMAND' not found"
>&2 echo "Use --list to see available guidelines"
exit 1
fi
fi
# Show help
echo "Usage:"
echo " tech-stack-loader.sh --list List all available guidelines with descriptions"
echo " tech-stack-loader.sh --load <name> Load specific development guidelines"
echo " tech-stack-loader.sh <name> Load specific guidelines (legacy format)"
echo " tech-stack-loader.sh --help Show this help message"
echo " tech-stack-loader.sh --version Show version information"
echo ""
echo "Examples:"
echo " tech-stack-loader.sh --list"
echo " tech-stack-loader.sh --load javascript-dev"
echo " tech-stack-loader.sh python-dev"