Skip to content

ScriptonBasestar/yesman-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Yesman Claude

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.

πŸš€ Key Features

Core Functionality

  • 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

Architecture

  • 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

πŸ“Š Interface Options

🌐 Web Interface (SvelteKit)

Modern web dashboard served via FastAPI backend.

# Start API server
make start

# Start web development server
make dashboard-web
# Access at: http://localhost:5173

πŸ–±οΈ Desktop Application (Tauri + SvelteKit)

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

πŸ”§ Quick Start

Installation

# 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

Basic Commands

# 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

πŸ“‹ Interface Comparison

| Feature | Web | Tauri | |---------|-----|-------| | Performance | ⭐⭐⭐ | ⭐⭐⭐⭐ | | Resource Usage | ⭐⭐⭐ | ⭐⭐⭐⭐ | | Cross-platform | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | | Remote Access | ⭐⭐⭐⭐⭐ | ⭐ | | User Experience | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | | Customization | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | | System Integration | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | | AI Provider Management | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |

When to Use Each Interface

  • 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"

Smart Templates

"슀마트 ν…œν”Œλ¦Ώ"은 쑰건뢀 λͺ…λ Ή 싀행을 μ§€μ›ν•©λ‹ˆλ‹€:

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"

μžμ„Έν•œ λ‚΄μš©μ€ ν…œν”Œλ¦Ώ λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

πŸ—οΈ Development

Architecture Overview

Yesman ClaudeλŠ” ν˜„λŒ€μ μ΄κ³  μœ μ§€λ³΄μˆ˜ κ°€λŠ₯ν•œ μ•„ν‚€ν…μ²˜λ‘œ κ΅¬μΆ•λ˜μ—ˆμŠ΅λ‹ˆλ‹€:

  • FastAPI Backend: κ³ μ„±λŠ₯ 비동기 Python λ°±μ—”λ“œ μ„œλ²„
  • SvelteKit Frontend: λ°˜μ‘ν˜• μ›Ή μΈν„°νŽ˜μ΄μŠ€ (Web + Tauri 곡유)
  • Tauri Desktop: λ„€μ΄ν‹°λΈŒ λ°μŠ€ν¬ν†± μ•± 래퍼
  • Configuration Management: Pydantic μŠ€ν‚€λ§ˆ 기반의 검증 κ°€λŠ₯ν•œ μ„€μ • μ‹œμŠ€ν…œ
  • Error Handling: μ€‘μ•™ν™”λœ μ—λŸ¬ μ²˜λ¦¬μ™€ μ‚¬μš©μž μΉœν™”μ μΈ 볡ꡬ 힌트

Quick Start for Developers

# 개발 ν™˜κ²½ μ„€μ •
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

Development Commands

# 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

Documentation

  • πŸ“š Developer Guide - 개발자λ₯Ό μœ„ν•œ 상세 κ°€μ΄λ“œ
  • πŸ—οΈ Architecture Decision Records - μ•„ν‚€ν…μ²˜ κ²°μ • 기둝
  • πŸ§ͺ Testing Guide - ν…ŒμŠ€νŠΈ μž‘μ„± 및 μ‹€ν–‰ κ°€μ΄λ“œ
  • βš™οΈ Configuration - μ„€μ • 관리 κ°€μ΄λ“œ

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes following the Developer Guide
  4. Add tests for new functionality
  5. Ensure all tests pass: make test
  6. Format code: make format
  7. Commit changes: git commit -m 'feat: add my feature'
  8. Push to the branch: git push origin feature/my-feature
  9. Create a Pull Request

Project Structure

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

πŸ“„ License

MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •