# LLMHosts.com -- Learned Patterns

## PURPOSE
Recurring code conventions, architectural idioms, and project-specific rules.
Accumulated by Analyst during the Learn step of improvement cycles.

## PATTERNS

### P-001: CLI Command Pattern
- Convention: All CLI commands use Click decorators with Rich console output
- File: `llmhost/cli.py`
- Example: `@main.command()` + `console.print()`
- First observed: 2026-02-14 (initial skeleton)

### P-002: Configuration Pattern
- Convention: Pydantic BaseModel for config, loaded from `~/.llmhost/config.toml`
- File: `llmhost/config.py`
- Constants in `llmhost/constants.py`
- First observed: 2026-02-14

### P-003: Docker-Only Development
- Convention: All development happens in Docker containers, never natively
- Files: `Dockerfile.dev`, `docker-compose.yml`
- Strict: this is a non-negotiable project rule
- First observed: 2026-02-14

### P-004: Test Organization
- Convention: `tests/` directory with `test_*.py` files, pytest markers for categories
- Markers: unit, integration, e2e, spec, contract, performance, security, slow
- First observed: 2026-02-14
