Complete Guide to llmfit CLI Subcommands: 10 Essential Commands for LLM Deployment
The llmfit binary exposes ten distinct llmfit CLI subcommands—fit, system, doctor, list, search, info, recommend, plan, serve, and bench—defined in llmfit-tui/src/main.rs using the clap crate, enabling hardware detection, model catalog queries, and performance benchmarking with JSON or table output.
The llmfit tool serves as the primary interface to the llmfit-core analysis engine, routing user input through a structured command hierarchy. According to the source code in [llmfit-tui/src/main.rs](https://github.com/AlexsJones/llmfit/blob/main/llmfit-tui/src/main.rs), the CLI implements a Commands enum that dispatches to specialized handlers in the core library, supporting both interactive TUI and programmatic JSON workflows.
Core Analysis Commands
These subcommands leverage the analysis engine in [llmfit-core/src/analysis.rs](https://github.com/AlexsJones/llmfit/blob/main/llmfit-core/src/analysis.rs) to evaluate model compatibility against detected or overridden hardware specifications.
fit
The fit subcommand runs the full model-fit analysis, returning a ranked list of models that match your current hardware profile. It accepts the --perfect flag to show only models guaranteed to run without swapping, and the -n parameter to limit results.
# Show the top 5 perfect-fit models
llmfit fit --perfect -n 5
recommend
The recommend subcommand produces a ranked list of models optimized for your specific use case, such as coding or inference. It supports hardware overrides and JSON output for integration with automation pipelines.
# Recommend best coding models, output as JSON
llmfit recommend --json --use-case coding --limit 4
plan
The plan subcommand estimates hardware upgrade requirements for target model configurations, calculating VRAM needs based on context length and quantization settings.
# Plan GPU memory requirements for a 4-bit quantized model
llmfit plan "Qwen/Qwen3-4B-MLX-4bit" --context 8192 --quant mlx-4bit --json
Hardware Inspection Commands
These commands interface with [llmfit-core/src/hardware.rs](https://github.com/AlexsJones/llmfit/blob/main/llmfit-core/src/hardware.rs) to detect and report system specifications.
system
The system subcommand prints a formatted table of detected hardware, including CPU cores, RAM capacity, and GPU specifications.
llmfit system
doctor
The doctor subcommand emits a detailed diagnostics report combining raw output from nvidia-smi or rocm-smi with llmfit's hardware interpretation, essential for debugging deployment issues.
llmfit doctor
Model Catalog Commands
These subcommands query the embedded model database without performing hardware analysis.
list
The list subcommand enumerates every model entry in the embedded database, generating a complete catalog of supported architectures and providers.
llmfit list
search
The search subcommand performs text-based filtering across model names, providers, and parameter sizes.
llmfit search "llama 8b"
info
The info subcommand displays detailed specifications for a single model, including parameter counts, VRAM requirements, and quantization compatibility.
llmfit info "Mistral-7B"
Deployment and Testing Commands
serve
The serve subcommand launches a lightweight REST API defined in [llmfit-tui/src/serve_api.rs](https://github.com/AlexsJones/llmfit/blob/main/llmfit-tui/src/serve_api.rs), mirroring CLI functionality for remote agents or cluster scheduling.
llmfit serve --host 0.0.0.0 --port 8787
bench
The bench subcommand runs throughput benchmarks against specific providers (Ollama, vLLM, MLX, llama-cpp), implemented in [llmfit-core/src/bench.rs](https://github.com/AlexsJones/llmfit/blob/main/llmfit-core/src/bench.rs). The optional --share flag uploads results to the community repository.
llmfit bench --provider ollama --share --dry-run
Global Flags and Output Modifiers
All llmfit CLI subcommands accept global flags defined in the CLI entry point to modify behavior:
--json: Force JSON output for programmatic consumption--memory,--ram,--cpu-cores,--max-context: Override auto-detected hardware values--cli: Force command-line mode even when TUI is available
Example combining global flags with subcommands:
# Show hardware specs in JSON format
llmfit --json system
# Benchmark with hardware overrides
llmfit bench --all --share --memory 64GB
Summary
- The llmfit CLI subcommands are defined in
llmfit-tui/src/main.rsusing the clap crate, providing type-safe argument parsing for ten distinct operations. - Analysis commands (
fit,recommend,plan) interface withllmfit-core/src/analysis.rsto evaluate model-hardware compatibility. - Inspection commands (
system,doctor) leveragellmfit-core/src/hardware.rsfor system diagnostics. - Catalog commands (
list,search,info) query the embedded model database without hardware validation. - Service commands (
serve,bench) enable API deployment and performance testing viallmfit-tui/src/serve_api.rsandllmfit-core/src/bench.rs. - Global flags including
--jsonand hardware overrides apply universally across all subcommands.
Frequently Asked Questions
What is the difference between the fit and recommend subcommands?
The fit subcommand evaluates all models against your current hardware and returns compatibility rankings, while recommend filters results by specific use cases such as coding or chat, applying additional heuristics beyond raw hardware fit. Both commands use the same core scoring algorithm in llmfit-core/src/analysis.rs, but recommend applies user-intent weighting to the results.
How do I enable JSON output for all llmfit CLI subcommands?
All subcommands respect the global --json flag, which can be placed before the subcommand (e.g., llmfit --json system). This flag forces machine-readable output suitable for integration with shell scripts or orchestration tools, bypassing the default TUI or plain table formatting.
Which source file implements the hardware detection for the system and doctor commands?
Hardware detection is implemented in [llmfit-core/src/hardware.rs](https://github.com/AlexsJones/llmfit/blob/main/llmfit-core/src/hardware.rs), which exports system specifications to both the system and doctor subcommands. The doctor command additionally appends raw output from vendor-specific tools like nvidia-smi to aid in debugging GPU driver issues.
Can I run llmfit benchmarks against multiple providers simultaneously?
Yes, the bench subcommand supports the --all flag to cycle through configured providers (Ollama, vLLM, MLX, llama-cpp) sequentially, as implemented in llmfit-core/src/bench.rs. When combined with the --share flag, results are aggregated and pushed to the community repository for comparative analysis.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →