cli-skills

CLI Skills for LlamaFarm

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cli-skills" with this command: npx skills add llama-farm/llamafarm/llama-farm-llamafarm-cli-skills

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:

Link Description

go-skills/SKILL.md Overview and quick reference

go-skills/patterns.md Idiomatic Go patterns

go-skills/concurrency.md Goroutines, channels, sync

go-skills/error-handling.md Error wrapping, sentinels

go-skills/testing.md Table-driven tests, mocks

go-skills/security.md Input validation, secure coding

CLI-Specific Checklists

File Description

cobra.md Cobra command patterns, flags, validation

bubbletea.md Bubbletea Model/Update/View patterns

performance.md CLI-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

  • User Experience First: CLI should feel responsive and provide clear feedback

  • Graceful Degradation: Handle missing services, network errors, and timeouts gracefully

  • Consistent Output: Use the output API for all user-facing messages

  • Cross-Platform: Test on macOS, Linux, and Windows

  • Terminal Compatibility: Test with different terminal emulators and sizes

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-review

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

typescript-skills

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python-skills

No summary provided by upstream source.

Repository SourceNeeds Review
General

commit-push-pr

No summary provided by upstream source.

Repository SourceNeeds Review