cli-skills
CLI best practices for LlamaFarm. Covers Cobra, Bubbletea, Lipgloss patterns for Go CLI development.
Shared Python best practices for LlamaFarm. Covers patterns, async, typing, testing, error handling, and security.
$ npx -y skills add llama-farm/llamafarm --skill python-skills --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/python-skillsContext preview
The summary Claude sees to decide when to auto-load this skill.
Shared Python best practices for LlamaFarm. Covers patterns, async, typing, testing, error handling, and security.
name: python-skills description: Shared Python best practices for LlamaFarm. Covers patterns, async, typing, testing, error handling, and security. allowed-tools: Read, Grep, Glob user-invocable: false
Shared Python best practices and code review checklists for all Python components in the LlamaFarm monorepo.
| Component | Path | Python | Key Dependencies | |-----------|------|--------|-----------------| | Server | `server/` | 3.12+ | FastAPI, Celery, Pydantic, structlog | | RAG | `rag/` | 3.11+ | LlamaIndex, ChromaDB, Celery | | Universal Runtime | `runtimes/universal/` | 3.11+ | PyTorch, transformers, FastAPI | | Config | `config/` | 3.11+ | Pydantic, JSONSchema | | Common | `common/` | 3.10+ | HuggingFace Hub |
| Topic | File | Key Points | |-------|------|------------| | Patterns | [patterns.md](patterns.md) | Dataclasses, Pydantic, comprehensions, imports | | Async | [async.md](async.md) | async/await, asyncio, concurrent execution | | Typing | [typing.md](typing.md) | Type hints, generics, protocols, Pydantic | | Testing | [testing.md](testing.md) | Pytest fixtures, mocking, async tests | | Errors | [error-handling.md](error-handling.md) | Custom exceptions, logging, context managers | | Security | [security.md](security.md) | Path traversal, injection, secrets, deserialization |
LlamaFarm uses `ruff` with shared configuration in `ruff.toml`:
line-length = 88 target-version = "py311" select = ["E", "F", "I", "B", "UP", "SIM"]
Key rules:
from pydantic_settings import BaseSettings
class Settings(BaseSettings, env_file=".env"):
LOG_LEVEL: str = "INFO"
HOST: str = "0.0.0.0"
PORT: int = 14345
settings = Settings() # Singleton at module levelfrom core.logging import FastAPIStructLogger # Server
from core.logging import RAGStructLogger # RAG
from core.logging import UniversalRuntimeLogger # Runtime
logger = FastAPIStructLogger(__name__)
logger.info("Operation completed", extra={"count": 10, "duration_ms": 150})from abc import ABC, abstractmethod
class Component(ABC):
def __init__(self, name: str, config: dict[str, Any] | None = None):
self.name = name or self.__class__.__name__
self.config = config or {}
@abstractmethod
def process(self, documents: list[Document]) -> ProcessingResult:
passfrom dataclasses import dataclass, field
@dataclass
class Document:
content: str
metadata: dict[str, Any] = field(default_factory=dict)
id: str = field(default_factory=lambda: str(uuid.uuid4()))from pydantic import BaseModel, Field, ConfigDict
class EmbeddingRequest(BaseModel):
model: str
input: str | list[str]
encoding_format: Literal["float", "base64"] | None = "float"
model_config = ConfigDict(str_strip_whitespace=True)Each Python component follows this structure:
component/
├── pyproject.toml # UV-managed dependencies
├── core/ # Core functionality
│ ├── __init__.py
│ ├── settings.py # Pydantic Settings
│ └── logging.py # structlog setup
├── services/ # Business logic (server)
├── models/ # ML models (runtime)
├── tasks/ # Celery tasks (rag)
├── utils/ # Utility functions
└── tests/
├── conftest.py # Shared fixtures
└── test_*.pyWhen reviewing Python code in LlamaFarm:
1. **Patterns** (Medium priority)
2. **Async** (High priority)
3. **Typing** (Medium priority)
4. **Testing** (Medium priority)
5. **Errors** (High priority)
6. **Security** (Critical priority)
See individual topic files for detailed checklists with grep patterns.
Enterprise AI capabilities on your own hardware. No cloud required. LlamaFarm is an open-source AI platform that runs entirely on your hardware.
Repo: llama-farm/llamafarm
CLI best practices for LlamaFarm. Covers Cobra, Bubbletea, Lipgloss patterns for Go CLI development.
Comprehensive code review for diffs. Analyzes changed code for security vulnerabilities, anti-patterns, and quality issues. Auto-detects domain…
Commit changes, push to GitHub, and open a PR. Includes quality checks (security, patterns, simplification). Use --quick to skip checks.
Best practices for the Common utilities package in LlamaFarm. Covers HuggingFace Hub integration, GGUF model management, and shared utilities.
Configuration module patterns for LlamaFarm. Covers Pydantic v2 models, JSONSchema generation, YAML processing, and validation.
Designer subsystem patterns for LlamaFarm. Covers React 18, TanStack Query, TailwindCSS, and Radix UI.