본문으로 건너뛰기
cccskills
무료GitHub에 공개

cli-skills

CLI best practices for LlamaFarm. Covers Cobra, Bubbletea, Lipgloss patterns for Go CLI development.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(4)

  • SKILL.md4.8 KB
  • bubbletea.md12.3 KB
  • cobra.md8.4 KB
  • performance.md11.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

CLI Skills for LlamaFarm

Framework-specific patterns for the LlamaFarm CLI. These guidelines extend the shared Go skills with Cobra, Bubbletea, and Lipgloss best practices.

Tech Stack

  • Go 1.24+
  • Cobra (CLI framework)
  • Bubbletea (TUI framework)
  • Lipgloss (terminal styling)
  • Bubbles (TUI components)

Directory Structure

cli/
  cmd/             # Cobra command implementations
    config/        # Configuration types and loading
    orchestrator/  # Service management and process control
    utils/         # Shared utilities (HTTP, output, logging)
    version/       # Version and upgrade handling
  internal/        # Internal packages (not exported)
    tui/           # Reusable TUI components
    buildinfo/     # Build-time information

Quick Reference

Cobra Commands

  • Use RunE over Run for error handling
  • Register flags in init() functions
  • Use persistent flags for shared options
  • Validate arguments with Args field

Bubbletea TUI

  • Implement Init(), Update(), View() interface
  • Use message types for state changes
  • Return tea.Cmd for async operations
  • Keep state immutable in Update()

Lipgloss Styling

  • Define styles as package-level constants
  • Use lipgloss.NewStyle() for styling
  • Handle terminal width dynamically
  • Support color themes via style variables

Shared Go Skills

This skill extends the base Go skills. See:

LinkDescription
go-skills/SKILL.mdOverview and quick reference
go-skills/patterns.mdIdiomatic Go patterns
go-skills/concurrency.mdGoroutines, channels, sync
go-skills/error-handling.mdError wrapping, sentinels
go-skills/testing.mdTable-driven tests, mocks
go-skills/security.mdInput validation, secure coding

CLI-Specific Checklists

FileDescription
cobra.mdCobra command patterns, flags, validation
bubbletea.mdBubbletea Model/Update/View patterns
performance.mdCLI-specific optimizations

Key Patterns in This Codebase

Command Registration Pattern

var myCmd = &cobra.Command{
    Use:   "mycommand [args]",
    Short: "Brief description",
    Long:  `Extended description with examples.`,
    Args:  cobra.MaximumNArgs(1),
    RunE: func(cmd *cobra.Command, args []string) error {
        // Implementation with error returns
        return nil
    },
}

func init() {
    rootCmd.AddCommand(myCmd)
    myCmd.Flags().StringVar(&flagVar, "flag", "default", "Flag description")
}

TUI Model Pattern

type myModel struct {
    viewport viewport.Model
    textarea textarea.Model
    width    int
    height   int
    err      error
}

func (m myModel) Init() tea.Cmd {
    return tea.Batch(m.textarea.Focus(), doAsyncWork())
}

func (m myModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
    var cmds []tea.Cmd
    switch msg := msg.(type) {
    case tea.WindowSizeMsg:
        m.width = msg.Width
        m.height = msg.Height
    case tea.KeyMsg:
        switch msg.String() {
        case "ctrl+c":
            return m, tea.Quit
        }
    }
    return m, tea.Batch(cmds...)
}

func (m myModel) View() string {
    return lipgloss.JoinVertical(lipgloss.Left,
        m.viewport.View(),
        m.textarea.View(),
    )
}

Output API Pattern

// Use the output API for consistent messaging
utils.OutputInfo("Starting service %s...", serviceName)
utils.OutputSuccess("Service started successfully")
utils.OutputError("Failed to start service: %v", err)
utils.OutputProgress("Downloading model...")
utils.OutputWarning("Service already running")

Service Orchestration Pattern

// Ensure services are running before operations
factory := GetServiceConfigFactory()
config := factory.ServerOnly(serverURL)
orchestrator.EnsureServicesOrExitWithConfig(config, "server")

// Or with multiple services
config := factory.RAGCommand(serverURL)
orchestrator.EnsureServicesOrExitWithConfig(config, "server", "rag", "universal-runtime")

Guidelines

  1. User Experience First: CLI should feel responsive and provide clear feedback
  2. Graceful Degradation: Handle missing services, network errors, and timeouts gracefully
  3. Consistent Output: Use the output API for all user-facing messages
  4. Cross-Platform: Test on macOS, Linux, and Windows
  5. Terminal Compatibility: Test with different terminal emulators and sizes

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Comprehensive code review for diffs. Analyzes changed code for security vulnerabilities, anti-patterns, and quality issues. Auto-detects domain (frontend/backend) from file paths.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8372026년 6월 10일 업데이트

Commit changes, push to GitHub, and open a PR. Includes quality checks (security, patterns, simplification). Use --quick to skip checks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8372026년 6월 10일 업데이트

Best practices for the Common utilities package in LlamaFarm. Covers HuggingFace Hub integration, GGUF model management, and shared utilities.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8372026년 6월 10일 업데이트

Configuration module patterns for LlamaFarm. Covers Pydantic v2 models, JSONSchema generation, YAML processing, and validation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8372026년 6월 10일 업데이트

Designer subsystem patterns for LlamaFarm. Covers React 18, TanStack Query, TailwindCSS, and Radix UI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8372026년 6월 10일 업데이트

Electron patterns for LlamaFarm Desktop. Covers main/renderer processes, IPC, security, and packaging.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

llama-farm/llamafarm8372026년 6월 10일 업데이트

llama-farm의 스킬 모두 보기

이 스킬의 문제 신고