# /pm status Show current project status and overview. This command displays the current state of your CCPM project, including active epics, issues, PRDs, and overall progress. --- 📊 **CCPM Project Status** ```bash if [ ! -f "ccpm.config.json" ]; then echo "❌ CCPM not initialized in this project" echo "💡 Run '/pm init' to get started" exit 1 fi ``` ```bash echo "🏗️ Project: $(python3 -c "import json; print(json.load(open('ccpm.config.json'))['project']['name'])" 2>/dev/null || echo 'Unknown')" # Get repository info REPO_URL=$(python3 -c "import json; data=json.load(open('ccpm.config.json')); print(data['project']['repository']['url'] if data['project'].get('repository') and data['project']['repository'].get('url') else 'Not configured')" 2>/dev/null || echo 'Not configured') if [ "$REPO_URL" != "Not configured" ]; then echo "📍 Repository: $REPO_URL" else echo "📍 Repository: Not configured" fi # Check GitHub integration if [ -f "ccpm/github.json" ]; then GITHUB_ENABLED=$(python3 -c "import json; print(json.load(open('ccpm/github.json')).get('integration', {}).get('enabled', False))" 2>/dev/null || echo "False") if [ "$GITHUB_ENABLED" = "True" ]; then echo "🔗 GitHub: ✅ Connected" else echo "🔗 GitHub: ⚠️ Not configured" fi else echo "🔗 GitHub: ❌ Not set up" fi ``` ```bash if [ -f "ccpm/state.json" ]; then echo "" echo "📈 Project Statistics:" # Read stats from state file python3 -c " import json try: data = json.load(open('ccpm/state.json')) stats = data.get('stats', {}) print(f' 📋 Total Epics: {stats.get("totalEpics", 0)}') print(f' ✅ Completed Epics: {stats.get("completedEpics", 0)}') print(f' 🎫 Total Issues: {stats.get("totalIssues", 0)}') print(f' ✅ Completed Issues: {stats.get("completedIssues", 0)}') # Calculate progress total = stats.get('totalEpics', 0) completed = stats.get('completedEpics', 0) if total > 0: progress = int((completed / total) * 100) print(f' 📊 Progress: {progress}% complete') else: print(f' 📊 Progress: Not started') # Show current status project_status = data.get('project', {}).get('status', 'unknown') print(f' 🎯 Status: {project_status}') except Exception as e: print(f' ⚠️ Could not read statistics: {e}') " else echo "⚠️ State file not found" fi ``` ```bash echo "" echo "🌳 Git Status:" # Current branch CURRENT_BRANCH=$(git branch --show-current 2>/dev/null || echo "Not in git repository") echo " 📍 Current Branch: $CURRENT_BRANCH" # Git status if git rev-parse --git-dir >/dev/null 2>&1; then if [ -z "$(git status --porcelain)" ]; then echo " ✅ Working Directory: Clean" else CHANGED_FILES=$(git status --porcelain | wc -l | tr -d ' ') echo " 🔄 Working Directory: $CHANGED_FILES files changed" fi else echo " ⚠️ Not a git repository" fi # Worktrees if [ -d "worktrees" ]; then WORKTREE_COUNT=$(find worktrees -maxdepth 1 -type d 2>/dev/null | wc -l | tr -d ' ') WORKTREE_COUNT=$((WORKTREE_COUNT - 1)) # Subtract 1 for the worktrees directory itself if [ $WORKTREE_COUNT -gt 0 ]; then echo " 🌲 Active Worktrees: $WORKTREE_COUNT" else echo " 🌲 Active Worktrees: None" fi else echo " 🌲 Active Worktrees: Directory not found" fi ``` ```bash echo "" echo "📁 CCPM Directory Structure:" for dir in ccpm specs worktrees; do if [ -d "$dir" ]; then ITEM_COUNT=$(find "$dir" -type f 2>/dev/null | wc -l | tr -d ' ') echo " ✅ $dir/ ($ITEM_COUNT files)" else echo " ❌ $dir/ (missing)" fi done ``` ```bash echo "" echo "⚙️ Configuration Files:" for config_file in ccpm.config.json ccpm/state.json ccpm/github.json; do if [ -f "$config_file" ]; then if python3 -m json.tool "$config_file" >/dev/null 2>&1; then echo " ✅ $config_file (valid JSON)" else echo " ⚠️ $config_file (invalid JSON)" fi else echo " ❌ $config_file (missing)" fi done ``` ```bash echo "" echo "🕐 Recent Activity:" if [ -f "ccpm/state.json" ]; then LAST_ACTIVITY=$(python3 -c " import json try: data = json.load(open('ccpm/state.json')) last_activity = data.get('lastActivity', '') if last_activity: print(last_activity) else: print('No activity recorded') except: print('Could not read activity') " 2>/dev/null || echo "Unknown") echo " 📅 Last Activity: $LAST_ACTIVITY" else echo " 📅 Last Activity: Unknown" fi # Show current time echo " 🕐 Current Time: $(date)" ``` --- 💡 **Quick Actions:** ```bash /pm prd-new # Create a new PRD /pm epic-start # Start working on an epic /pm help # Show all available commands ```