diff --git a/README.md b/README.md index 220fed4..de6c6cb 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,13 @@ One command. 60 seconds. Done. bash <(curl -fsSL https://raw.githubusercontent.com/ryanmac/code-conductor/main/conductor-init.sh) ``` -The installer auto-detects your stack (React, Python, Go, etc.) and configures everything. No GitHub tokens. No complex setup. +The installer auto-detects your stack (React, Python, Go, etc.) and configures everything. **No GitHub tokens needed. No complex setup.** + +✨ **What you get:** +- ✅ GitHub Actions workflows that use built-in authentication +- ✅ No manual token creation or repository secrets required +- ✅ AI code reviews work automatically on all PRs +- ✅ Language-agnostic setup (no Python CI/CD added to non-Python projects) **Or let Claude Code install it for you:** ``` @@ -65,6 +71,7 @@ gh issue create --label "conductor:task" --title "Add dark mode toggle" - [Stack Support](docs/STACK_SUPPORT.md) - Works with React, Vue, Python, Go, and more - [Architecture](docs/ARCHITECTURE.md) - How it all works under the hood - [AI Code Review](docs/AI_CODE_REVIEW.md) - Smart, opt-in PR reviews +- [FAQ](docs/FAQ.md) - Common questions about tokens, Python, and workflows - [Troubleshooting](docs/TROUBLESHOOTING.md) - Common issues and solutions 🚀 **[Power User Prompts](CLAUDE_CODE_PROMPT.md)** - Game-changing automation with Claude Code diff --git a/conductor-init.sh b/conductor-init.sh index 8f6c13c..faa28a8 100644 --- a/conductor-init.sh +++ b/conductor-init.sh @@ -17,6 +17,9 @@ echo "==========================================" echo "This script will install Code Conductor into your current Git repository." echo "It will download necessary files and run the setup automatically." echo "" +echo -e "${GREEN}✨ No GitHub Token Setup Required!${NC}" +echo "Code Conductor uses GitHub's built-in authentication - no manual token needed." +echo "" # Step 1: Prerequisite Checks echo -e "${YELLOW}🔍 Checking prerequisites...${NC}" @@ -36,6 +39,8 @@ fi # Check for Python 3.9-3.12 if ! command -v python3 >/dev/null 2>&1 || ! python3 -c "import sys; exit(0 if sys.version_info >= (3,9) and sys.version_info < (3,13) else 1)"; then echo -e "${RED}❌ Error: Python 3.9-3.12 is required. Please install Python 3.9, 3.10, 3.11, or 3.12.${NC}" + echo -e "${YELLOW}Note: Python is only needed for conductor scripts, NOT for your project's CI/CD.${NC}" + echo -e "${YELLOW}Code Conductor does NOT add Python-specific workflows to non-Python projects.${NC}" exit 1 fi @@ -323,12 +328,19 @@ if [ "$IS_UPGRADE" = false ]; then echo -e "${GREEN}✅ Setup complete.${NC}" echo "" + + # Emphasize no token requirement + echo -e "${GREEN}🔐 GitHub Integration Status:${NC}" + echo " ✅ Workflows configured to use GitHub's built-in token" + echo " ✅ No CONDUCTOR_GITHUB_TOKEN setup required" + echo " ✅ AI code reviews will work automatically on PRs" + echo "" else echo -e "${GREEN}✅ Skipping setup - existing configuration preserved.${NC}" echo "" fi -# Step 5: Interactive Role Configuration (improved: numbered menu) - skip for upgrades +# Step 5: Auto-configure All Roles - skip for upgrades if [ "$IS_UPGRADE" = false ]; then echo -e "${YELLOW}🎭 Configuring agent roles...${NC}" @@ -352,100 +364,39 @@ except: echo -e "📊 Detected technology stacks: ${GREEN}$DETECTED_STACKS${NC}" fi - # Get configured roles - CONFIGURED_ROLES=$(python3 -c " + # Define all available roles + ALL_ROLES=("code-reviewer" "frontend" "mobile" "devops" "security" "ml-engineer" "ui-designer" "data") + + # Automatically configure all roles + echo -e "${YELLOW}📝 Configuring all available roles...${NC}" + + # Update config.yaml with all roles + python3 - </dev/null) - - echo -e "🎯 Configured specialized roles: ${GREEN}$CONFIGURED_ROLES${NC}" - echo "" - # Parse current roles and filter suggestions - ALL_ROLES=("code-reviewer" "frontend" "mobile" "devops" "security" "ml-engineer" "ui-designer" "data") - ROLE_DESCRIPTIONS=( - "AI-powered PR reviews" - "React, Vue, Angular development" - "React Native, Flutter development" - "CI/CD, deployments, infrastructure" - "Security audits, vulnerability scanning" - "Machine learning tasks" - "Design systems, UI/UX" - "Data pipelines, analytics" - ) - - # Get array of current roles - IFS=' ' read -ra CURRENT_ROLES_ARRAY <<< "$CONFIGURED_ROLES" - - # Build suggested roles (exclude already configured) - SUGGESTED_ROLES=() - SUGGESTED_INDICES=() - for i in "${!ALL_ROLES[@]}"; do - role="${ALL_ROLES[$i]}" - if [[ ! " ${CURRENT_ROLES_ARRAY[@]} " =~ " ${role} " ]]; then - SUGGESTED_ROLES+=("$role") - SUGGESTED_INDICES+=("$i") - fi - done +# Define all available roles +all_roles = ["code-reviewer", "frontend", "mobile", "devops", "security", "ml-engineer", "ui-designer", "data"] - # Ask if user wants to adjust roles - if [ ${#SUGGESTED_ROLES[@]} -eq 0 ]; then - echo -e "${GREEN}✅ All available roles are already configured.${NC}" - else - echo "Available roles to add:" - for i in "${!SUGGESTED_ROLES[@]}"; do - idx=${SUGGESTED_INDICES[$i]} - echo " $((i+1))) ${SUGGESTED_ROLES[$i]} - ${ROLE_DESCRIPTIONS[$idx]}" - done - echo "" - read -p "Select roles to add (comma-separated numbers, or Enter to skip): " -r ROLE_SELECTION - - if [ -n "$ROLE_SELECTION" ]; then - # Parse selected numbers and build role list - SELECTED_ROLES=() - IFS=',' read -ra SELECTIONS <<< "$ROLE_SELECTION" - for num in "${SELECTIONS[@]}"; do - num=$(echo $num | tr -d ' ') # Trim spaces - if [[ $num =~ ^[0-9]+$ ]] && [ "$num" -ge 1 ] && [ "$num" -le "${#SUGGESTED_ROLES[@]}" ]; then - SELECTED_ROLES+=("${SUGGESTED_ROLES[$((num-1))]}") - fi - done - - if [ ${#SELECTED_ROLES[@]} -gt 0 ]; then - # Update config.yaml with selected roles (robust JSON passing) - if ! command -v jq >/dev/null 2>&1; then - echo -e "${RED}❌ jq is required for robust role selection. Please install jq and try again.${NC}" - exit 1 - fi - ROLES_TO_ADD_JSON=$(printf '%s\n' "${SELECTED_ROLES[@]}" | jq -R . | jq -s .) - python3 - "$ROLES_TO_ADD_JSON" <