Skip to content

G-Jeffreys/DeployBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– DeployBot

Production-ready desktop productivity assistant that detects backend deployment events and intelligently redirects developers to productive alternative tasks during deployment wait periods. Built with enterprise-grade architecture featuring LangGraph AI agents, WebSocket communication, and sophisticated task selection.

Key Innovation: While local deployment commands complete quickly (30 seconds), cloud propagation takes 10-30 minutes. DeployBot fills this productivity gap with AI-powered task suggestions tailored to the waiting period.

DeployBot Demo


🎯 What DeployBot Does

  1. Detects Deployments: Monitors when you run deployment commands (firebase deploy, vercel --prod, etc.)
  2. Starts Timer: Begins tracking your deployment wait time (default 30 minutes)
  3. Suggests Tasks: After a grace period, intelligently suggests alternative tasks from your TODO.md
  4. Redirects Focus: Opens the appropriate app (Bear, Figma, VSCode) for the suggested task
  5. Logs Activity: Tracks all deployments, task selections, and productivity sessions

✨ Features

πŸš€ Current Features (v1.0.0)

  • 🎯 AI-Powered Task Selection: OpenAI GPT integration with intelligent fallback heuristics
  • πŸ” Smart Deploy Detection: Project-aware wrapper system with automatic log detection
  • πŸ“Š Enterprise WebSocket Architecture: Real-time bidirectional communication with automatic reconnection
  • πŸ“ Advanced Project Management: Multi-project support with custom directories anywhere on filesystem
  • ⏱️ Sophisticated Timer System: Background timer management with WebSocket integration
  • πŸ”” Custom Notification System: macOS-style floating notifications with rich interactions
  • πŸ“ Comprehensive Activity Logging: Structured logging with full context at every level
  • 🎨 Production-Ready UI: Modern React components with Tailwind CSS and responsive design
  • πŸ”§ Deploy Wrapper Integration: Zero-impact command pass-through with intelligent project detection
  • πŸš€ Professional Build System: Complete cross-platform distribution with DMG/ZIP packaging

🎨 UI Components (Production-Grade)

  • Project Selector (570 lines): Full CRUD operations with custom directory support and validation
  • Task List (418 lines): Real TODO.md parsing with AI suggestions and app redirection
  • Deploy Status: Real-time monitoring with sophisticated timer display and WebSocket updates
  • Activity Log: Live streaming of deployments, task selections, and productivity sessions
  • Custom Notifications: Floating windows with blur effects, action buttons, and smart positioning
  • Python Testing: Comprehensive backend connectivity verification and debugging tools
  • Process Manager (749 lines): Enterprise-grade WebSocket client with health monitoring

πŸš€ Quick Start

Installation

1. Download DeployBot

# Download the latest release
# macOS Apple Silicon:
curl -L -o DeployBot.dmg https://github.com/your-username/DeployBot/releases/latest/download/DeployBot-arm64.dmg

# Install by opening the DMG and dragging to Applications
open DeployBot.dmg

2. Install Python Dependencies (Required)

DeployBot requires Python 3.12+ to run its sophisticated LangGraph backend.

πŸš€ Automated Setup (Recommended):

# Install Python via Homebrew
brew install [email protected]

# Install DeployBot dependencies
pip3 install --user -r requirements.txt

# Or install manually:
pip3 install --user "langgraph>=0.5.1" "langchain>=0.3.26" "langchain-openai>=0.3.27" "openai>=1.93.0" "websockets>=12.0" "structlog>=24.1.0" "python-dotenv>=1.0.0"

# Verify installation
python3 -c "import langgraph; print('βœ… Python setup complete!')"

βš™οΈ Optional: OpenAI API Key (for enhanced AI task selection):

# Add to your shell profile (~/.zshrc or ~/.bashrc)
export OPENAI_API_KEY="your-api-key-here"

πŸ“– Need help? See: Quick Python Setup or Detailed Guide

First-Time Setup

  1. Launch DeployBot from Applications
  2. Create a project using the sidebar
  3. Install deploy wrapper:
    # The app will guide you through this setup
    mkdir -p ~/.deploybot
    # ... (detailed setup in app)
  4. Add tasks to TODO.md in your project with tags like #short, #writing, #solo
  5. Test detection: Run deploybot echo "test" in terminal

πŸ—οΈ Development & Building

Development Setup

# Clone the repository
git clone https://github.com/your-username/DeployBot.git
cd DeployBot

# Install frontend dependencies
npm install

# Install Python dependencies
pip3 install -r requirements.txt

# Start development environment (recommended)
npm run dev                    # Starts both Vite + Electron with hot reload

# Or start components separately
npm run dev:vite              # Frontend only (React + Vite)
npm run dev:electron          # Electron only

Available Scripts

# Development
npm run dev                    # Full development environment
npm run dev:vite              # Frontend development server only
npm run dev:electron          # Electron development only

# Building
npm run build                  # Build React frontend
npm run build:electron        # Complete Electron build with Python bundling
npm run setup:python          # Bundle Python runtime (automatically called)

# Testing
npm run test:python           # Test Python backend connectivity
npm run test:build           # Test build process

# Deployment
./scripts/release.sh v1.0.1   # Automated release with validation
./scripts/cleanup_processes.sh # Clean up any stuck processes
./scripts/clean_restart.sh    # Clean restart development environment

Production Build

# Quick build for testing
npm run build:electron

# Professional release (recommended)
./scripts/release.sh v1.0.1

# Manual build process
npm run setup:python          # Bundle Python runtime
npm run build                 # Build React frontend
npm run build:electron        # Package Electron app

Build Outputs:

  • dist/DeployBot-1.0.0-arm64.dmg - macOS Installer (182MB)
  • dist/DeployBot-1.0.0-arm64.zip - Portable App (176MB)
  • dist/mac-arm64/DeployBot.app - App Bundle for testing

Deployment & Release


πŸ—‚οΈ Project Structure

DeployBot/
β”œβ”€β”€ main/                           # Electron Application (Frontend)
β”‚   β”œβ”€β”€ main.js                     # Main process (896 lines)
β”‚   β”œβ”€β”€ preload.js                  # API bridge (305 lines)
β”‚   β”œβ”€β”€ process_manager.js          # WebSocket client (749 lines)
β”‚   └── renderer/                   # React UI
β”‚       β”œβ”€β”€ src/
β”‚       β”‚   β”œβ”€β”€ App.jsx             # Main app (334 lines)
β”‚       β”‚   β”œβ”€β”€ components/         # Production React components
β”‚       β”‚   β”‚   β”œβ”€β”€ ProjectSelector.jsx  # (570 lines)
β”‚       β”‚   β”‚   β”œβ”€β”€ TaskList.jsx         # (418 lines)
β”‚       β”‚   β”‚   β”œβ”€β”€ DeployStatus.jsx     # Real-time monitoring
β”‚       β”‚   β”‚   β”œβ”€β”€ ActivityLog.jsx      # Live activity feed
β”‚       β”‚   β”‚   └── CustomNotification.jsx # Rich notifications
β”‚       β”‚   └── NotificationApp.jsx # Notification windows
β”‚       β”œβ”€β”€ index.html              # Main window
β”‚       └── notification.html       # Notification fallback
β”œβ”€β”€ backend/                        # Python Backend (LangGraph)
β”‚   β”œβ”€β”€ graph.py                    # LangGraph core (1,221 lines)
β”‚   β”œβ”€β”€ tasks.py                    # AI task selection (620 lines)
β”‚   β”œβ”€β”€ project_manager.py          # Project CRUD (845 lines)
β”‚   β”œβ”€β”€ monitor.py                  # Deploy detection (534 lines)
β”‚   β”œβ”€β”€ notification.py             # Notification system (994 lines)
β”‚   β”œβ”€β”€ timer.py                    # Timer management
β”‚   β”œβ”€β”€ redirect.py                 # App redirection
β”‚   β”œβ”€β”€ logger.py                   # Activity logging
β”‚   └── deploy_wrapper_setup.py     # Wrapper installation (373 lines)
β”œβ”€β”€ projects/                       # User Projects (8 active projects)
β”‚   └── {ProjectName}/
β”‚       β”œβ”€β”€ config.json             # Project configuration
β”‚       β”œβ”€β”€ TODO.md                 # Task list with hashtags
β”‚       └── logs/
β”‚           β”œβ”€β”€ activity.log        # Activity history
β”‚           └── deploy_log.txt      # Deploy detection log
β”œβ”€β”€ scripts/                        # Build & Deployment Tools
β”‚   β”œβ”€β”€ release.sh                  # Automated release workflow
β”‚   β”œβ”€β”€ cleanup_processes.sh        # Process cleanup
β”‚   β”œβ”€β”€ clean_restart.sh           # Development restart
β”‚   └── emergency_cleanup.sh       # Emergency cleanup
β”œβ”€β”€ docs/                          # Documentation
β”‚   β”œβ”€β”€ DeployBot_Complete_System_Architecture.md  # Comprehensive spec
β”‚   β”œβ”€β”€ ARCHITECTURAL_DECISIONS.md  # Design decisions
β”‚   β”œβ”€β”€ PRODUCTION_DEPLOYMENT.md   # Release guide
β”‚   └── DEPLOY_WRAPPER.md          # User setup guide
β”œβ”€β”€ assets/                        # Application assets
β”œβ”€β”€ build/                         # Build configuration
└── dist/                         # Built application

Code Metrics: 42,000+ lines of production-ready code with comprehensive error handling, structured logging, and enterprise-grade architecture.


🏷️ Task Tagging System

DeployBot uses hashtag-based task classification in your TODO.md files:

# My Project Tasks

- [ ] Write blog post about deployment automation #writing #short #solo
- [ ] Review security settings in Firebase #research #backend #long
- [ ] Design new dashboard mockups #creative #short #design
- [ ] Optimize database queries #code #backend #long

Tag Categories

Duration: #short (15-30 min), #long (1+ hours)
Type: #writing, #code, #research, #creative, #design, #business
Collaboration: #solo, #collab
Context: #backend (deprioritized during deploys)


πŸ”§ Technical Architecture

Enterprise-Grade Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    WebSocket     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Electron UI   β”‚ ←──────────────→ β”‚  Python Backend β”‚
β”‚                 β”‚    Real-time     β”‚   (LangGraph)   β”‚
β”‚ β€’ React Frontendβ”‚    Bidirectional β”‚ β€’ AI Task Agent β”‚
β”‚ β€’ Process Mgmt  β”‚    Communication β”‚ β€’ Deploy Monitorβ”‚
β”‚ β€’ Notifications β”‚                  β”‚ β€’ Timer System  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                                     β”‚
         β”‚                                     β”‚
    β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”                          β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
    β”‚ Projectsβ”‚                          β”‚File Logsβ”‚
    β”‚ β€’ TODO  β”‚                          β”‚β€’ Deploy β”‚
    β”‚ β€’ Configβ”‚                          β”‚β€’ Activityβ”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Frontend Stack (Production-Ready)

  • Electron 29.1.4: Desktop application framework with custom notification windows
  • React 18.2.0: UI components with real-time state management and error boundaries
  • Vite 5: Fast build tool with hot reload and production optimization
  • Tailwind CSS 3.4.3: Utility-first styling with responsive design
  • WebSocket Client: Enterprise-grade communication with automatic reconnection and health monitoring

Backend Stack (AI-Powered)

  • Python 3.12: Core backend language with comprehensive type hints
  • LangGraph 0.5.1: AI workflow orchestration with sophisticated agent design
  • WebSocket Server: Real-time bidirectional communication with 42+ commands
  • Structured Logging: Full context logging with structlog throughout entire system
  • OpenAI GPT: Intelligent task selection with semantic understanding and fallback heuristics

Communication Layer (Enterprise-Grade)

  • ProcessManager (749 lines): Sophisticated WebSocket client with exponential backoff reconnection
  • Message Queuing: Queue messages during disconnection with replay on reconnect
  • Health Monitoring: Continuous backend health checks with status reporting
  • IPC Security: Context isolation with secure preload script and API bridge
  • File Monitoring: Real-time deploy log detection with position tracking and smart parsing

Data Architecture

  • Filesystem-Based: Projects stored with JSON configs and markdown task lists
  • Project-Aware Logging: Intelligent log routing to project-specific or global locations
  • Configuration Management: Rich JSON schemas with task mappings and deployment settings
  • Activity Tracking: Comprehensive event logging with structured metadata

πŸ“Š Performance & Metrics

Resource Usage (Production)

  • Memory: ~150MB (Electron app + Python backend)
  • Startup Time: <3 seconds cold start
  • WebSocket Latency: <10ms for local communication
  • Task Selection Speed: <2 seconds (with AI), <100ms (heuristic)
  • Deploy Detection Latency: <5 seconds from log write

Build Metrics

  • DMG Installer: 182MB (includes full Electron runtime)
  • ZIP Portable: 176MB (compressed app bundle)
  • Build Time: ~2-3 minutes for full build
  • Code Coverage: Comprehensive error handling throughout

Scalability & Limits

  • Concurrent Projects: No practical limit (filesystem-based)
  • TODO.md Size: Tested up to 1000+ tasks
  • Deploy Log Size: Efficient incremental reading, no size limits
  • WebSocket Connections: Single connection, multiplexed commands

πŸ§ͺ Testing & Debugging

Built-in Testing Tools

The system includes comprehensive testing utilities:

# Test Deploy Wrapper
deploybot echo "test deployment"    # Should appear in logs

# Test Python Backend Connection
# Via UI: Open app β†’ Testing tab β†’ "Test Python Backend"

# Test End-to-End Workflow  
# Via UI: Testing tab β†’ "Test Week 3 Workflow"

# Test Notifications
# Via UI: Testing tab β†’ "Test Notification"

# Test AI Task Selection
# Via UI: Select project β†’ Click "Get AI Suggestion"

Manual Testing Workflow

# Development testing
npm run dev                         # Start development environment
# Then test via UI components

# Build testing
npm run build:electron             # Test production build
open dist/mac-arm64/DeployBot.app # Test built app

# Release testing
./scripts/release.sh v1.0.1-test  # Test release workflow

Debugging Features

  • Comprehensive Logging: Every component has structured logging with context
  • Real-time Connection Status: Frontend shows backend connection state
  • WebSocket Message Tracing: All messages logged with full content
  • Error Recovery: Automatic reconnection with exponential backoff
  • Health Monitoring: Continuous backend health checks
  • Built-in Testing UI: TestPythonConnection component for real-time backend testing

Integration Testing

The app includes sophisticated manual testing via the built-in Python connection tester with real-time status updates. Future automated testing infrastructure is planned for enhanced CI/CD.


πŸ“š Documentation

Architecture & Design

Setup & Deployment Guides

Development Setup

πŸ“– For Agents: The Complete System Architecture document contains everything needed to understand the sophisticated 42,000+ line codebase without scanning individual files.


🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes with comprehensive logging
  4. Test thoroughly using the built-in testing tools
  5. Update documentation if needed
  6. Submit a pull request with detailed description

Development Guidelines

  • No monolithic files - Keep modules focused and modular (enforced in codebase)
  • Comment everything - Extensive logging and debugging output at every level
  • Real functionality only - No mock data or placeholder code (42,000+ lines of production code)
  • LLM-first approach - Leverage AI over hardcoded logic (OpenAI integration + heuristic fallbacks)
  • Production-ready - All code should be deployable immediately (professional build system)
  • Comprehensive error handling - Every component has structured error recovery
  • Time and space optimization - Always optimize for performance and efficiency

🎯 Current Status & Summary

Implementation Completeness βœ…

  • βœ… Core Architecture: Production-ready (42,000+ lines of code)
  • βœ… Deploy Detection: Sophisticated wrapper system with project awareness
  • βœ… AI Task Selection: OpenAI integration with intelligent fallback heuristics
  • βœ… WebSocket Communication: Enterprise-grade with health monitoring and automatic reconnection
  • βœ… Project Management: Full CRUD with custom directory support anywhere on filesystem
  • βœ… Notification System: Multi-channel with rich templating (994-line implementation)
  • βœ… Timer Management: Real-time updates with WebSocket integration and background processing
  • βœ… Build System: Complete cross-platform distribution with professional DMG/ZIP packaging

Active Projects

The system currently manages 8 active projects with real data:

  • My_Awesome_Project: 6 pending tasks, comprehensive hashtag taxonomy
  • DemoProject: 10 pending tasks, advanced tagging patterns
  • Various testing projects: Comprehensive development and testing environments

Quality Indicators

  • Code Coverage: Comprehensive error handling and recovery throughout entire system
  • Documentation: Complete architectural specification and operational guides
  • Logging: Structured logging with full context at every level (896+ line main process, 749+ line process manager)
  • Testing: Built-in testing utilities and manual testing workflows
  • Distribution: Professional DMG/ZIP packaging ready for immediate user deployment

πŸš€ Deployment Ready: The system is immediately deployable for production use with existing build infrastructure, comprehensive documentation, and enterprise-grade error handling.


πŸ“ Changelog

See CHANGELOG.md for detailed release notes and version history.


πŸ“ž Support


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸŽ‰ Acknowledgments

  • LangGraph for AI workflow orchestration
  • Electron for cross-platform desktop development
  • OpenAI for intelligent task selection capabilities
  • Tailwind CSS for beautiful, responsive UI design

Built with ❀️ for developers who want to stay productive during deployment wait times.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published