Yesman-Claude is a comprehensive CLI automation tool that manages tmux sessions and automates interactions with Claude Code. It features modern dashboard interfaces (Web, Tauri), AI-powered learning system, and extensive session management capabilities using YAML configuration templates.
- Claude Code Automation: Automated responses and AI-powered learning system
- Session Management: Create and manage tmux sessions using YAML templates
- AI Provider Management: Auto-discovery and management of AI tools (Claude Code, Ollama, etc.)
- FastAPI Backend Server: RESTful API for session and workspace management
- SvelteKit Web Interface: Modern web interface for monitoring and control
- Tauri Desktop Application: Native desktop app with system integration
- Real-time Monitoring: Live session activity tracking and health monitoring
- Python CLI Core: Comprehensive automation engine with AI learning
- FastAPI Server: High-performance async backend
- SvelteKit Frontend: Shared codebase for both web and desktop interfaces
- Tauri Native Wrapper: Desktop application with native system integration
- AI Learning System: Adaptive response system with confidence scoring
- Configuration Management: Pydantic-based configuration with environment support
- Error Handling: Centralized error handling with recovery hints
Modern web dashboard served via FastAPI backend.
# Start API server
make start
# Start web development server
make dashboard-web
# Access at: http://localhost:5173
Native desktop app with the same SvelteKit codebase as web interface.
# Start Tauri development mode
make dashboard-desktop
# Full development environment (API + Web)
make dashboard-full
# Development installation (recommended)
make dev-install
# or directly:
pip install -e . --config-settings editable_mode=compat
# Using uv (fastest, preferred for development)
uv run ./yesman.py --help
# Install all development dependencies
make install-all
# Core session management
./yesman.py ls # List templates and projects
./yesman.py setup [session-name] # Create tmux sessions
./yesman.py show # List running sessions
./yesman.py enter [session-name] # Attach to session
# Dashboard interfaces
make dashboard # Auto-detect best interface
make dashboard-web # SvelteKit web interface
make dashboard-desktop # Native desktop app
# Development workflow
make start # Start API server
make dev-status # Check server status
make stop # Stop all servers
| Feature | Web | Tauri | |---------|-----|-------| | Performance | βββ | ββββ | | Resource Usage | βββ | ββββ | | Cross-platform | βββββ | ββββ | | Remote Access | βββββ | β | | User Experience | ββββ | βββββ | | Customization | βββββ | ββββ | | System Integration | βββ | βββββ | | AI Provider Management | ββββ | βββββ |
- Web: Remote monitoring, team collaboration, browser-based workflows, development
- Tauri: Daily use, best user experience, desktop integration, system-level provider detection
κΈλ‘λ² μ€μ νμΌμ λ€μ κ²½λ‘μ μμΉν©λλ€:
$HOME/.scripton/yesman/yesman.yaml
$HOME/.scripton/yesman/sessions/ # Individual session files
νμΌ κ΅¬μ‘° examples/ μ°Έκ³
Yesman-Claudeλ μ¬μ¬μ© κ°λ₯ν tmux μΈμ ν νλ¦Ώμ μ§μν©λλ€. ν νλ¦Ώμ μ¬μ©νλ©΄ μ¬λ¬ νλ‘μ νΈμμ μΌκ΄λ κ°λ° νκ²½μ μ½κ² ꡬμ±ν μ μμ΅λλ€.
ν
νλ¦Ώ νμΌμ ~/.scripton/yesman/templates/
λλ ν°λ¦¬μ YAML νμμΌλ‘ μ μ₯λ©λλ€.
session_name: "{{ session_name }}"
workspace_config:
base_dir: "{{ base_dir }}"
workspace_definitions:
main:
rel_dir: "."
allowed_paths: ["."]
description: "Main project workspace"
windows:
- window_name: main
layout: even-horizontal
panes:
- shell_command: "npm run dev"
"μ€λ§νΈ ν νλ¦Ώ"μ μ‘°κ±΄λΆ λͺ λ Ή μ€νμ μ§μν©λλ€:
panes:
- shell_command: |
# μμ‘΄μ±μ΄ μκ±°λ μ€λλ κ²½μ°μλ§ μ€μΉ
if [ ! -d "node_modules" ] || [ "package.json" -nt "node_modules/.package-lock.json" ]; then
echo "Dependencies missing or outdated, installing..."
pnpm install
else
echo "Dependencies up to date, skipping install"
fi
pnpm dev
κ°λ³ μΈμ νμΌμμ ν νλ¦Ώμ μ°Έμ‘°νκ³ νμν κ°μ μ€λ²λΌμ΄λν μ μμ΅λλ€:
# ~/.scripton/yesman/sessions/my_project.yaml
session_name: "my_project"
template_name: "django"
override:
session_name: my_django_app
workspace_config:
base_dir: "~/projects/django-app"
μμΈν λ΄μ©μ ν νλ¦Ώ λ¬Έμλ₯Ό μ°Έμ‘°νμΈμ.
Yesman Claudeλ νλμ μ΄κ³ μ μ§λ³΄μ κ°λ₯ν μν€ν μ²λ‘ ꡬμΆλμμ΅λλ€:
- FastAPI Backend: κ³ μ±λ₯ λΉλκΈ° Python λ°±μλ μλ²
- SvelteKit Frontend: λ°μν μΉ μΈν°νμ΄μ€ (Web + Tauri 곡μ )
- Tauri Desktop: λ€μ΄ν°λΈ λ°μ€ν¬ν± μ± λνΌ
- Configuration Management: Pydantic μ€ν€λ§ κΈ°λ°μ κ²μ¦ κ°λ₯ν μ€μ μμ€ν
- Error Handling: μ€μνλ μλ¬ μ²λ¦¬μ μ¬μ©μ μΉνμ μΈ λ³΅κ΅¬ ννΈ
# κ°λ° νκ²½ μ€μ
git clone <repository-url>
cd yesman-agent
# Development installation
make dev-install
# API server μμ
make start
# μΉ κ°λ° μλ² μμ (λ€λ₯Έ ν°λ―Έλμμ)
make dashboard-web
# λλ Tauri κ°λ° λͺ¨λ
make dashboard-desktop
# μ 체 κ°λ° νκ²½ (API + Web)
make dashboard-full
# Core CLI commands
./yesman.py ls # List templates and projects
./yesman.py setup [session-name] # Create tmux sessions
./yesman.py status # Quick status overview
./yesman.py ai status # Show AI learning status
# Development workflow
make dashboard # Smart dashboard launcher
make dev-status # Check development service status
make stop # Stop all servers
make debug-api # API server debug mode
# Quality checks
make dev-fast # Quick check (lint-fast + unit tests)
make dev-full # Full quality check
make format # Code formatting
- π Developer Guide - κ°λ°μλ₯Ό μν μμΈ κ°μ΄λ
- ποΈ Architecture Decision Records - μν€ν μ² κ²°μ κΈ°λ‘
- π§ͺ Testing Guide - ν μ€νΈ μμ± λ° μ€ν κ°μ΄λ
- βοΈ Configuration - μ€μ κ΄λ¦¬ κ°μ΄λ
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature
- Make your changes following the Developer Guide
- Add tests for new functionality
- Ensure all tests pass:
make test
- Format code:
make format
- Commit changes:
git commit -m 'feat: add my feature'
- Push to the branch:
git push origin feature/my-feature
- Create a Pull Request
yesman-agent/
βββ yesman.py # Main CLI entry point
βββ commands/ # CLI command implementations
βββ libs/ # Core library modules
β βββ core/ # Core architecture components
β βββ ai/ # AI learning and automation
β βββ dashboard/ # Dashboard integrations
βββ api/ # FastAPI backend server
βββ tauri-dashboard/ # SvelteKit frontend (Web + Tauri)
β βββ src/routes/ # SvelteKit pages (Projects, AI Providers)
β βββ src/lib/ # Reusable components
β βββ src-tauri/ # Rust backend for desktop
βββ tests/ # Test suites
β βββ unit/ # Unit tests
β βββ integration/ # Integration tests
βββ docs/ # Documentation
βββ examples/ # Configuration examples
MIT License - see the LICENSE file for details.