Maybe LLM CLI Is All You Need.
Web interfaces for AI are convenient, but they break your flow. Every time you switch to ChatGPT or Claude for a quick task, you lose context and momentum. The real productivity gains come when AI integrates seamlessly into your existing command-line workflows.
After building several CLI tools and integrating LLM capabilities into my daily development routine, I’m convinced that command-line AI tools are the future for technical professionals.
LLM CLI Tool: The Foundation
Simon Willison’s LLM CLI tool is the backbone of command-line AI integration. What makes it exceptional isn’t just its simplicity—it’s the plugin ecosystem and template system that transforms quick queries into repeatable workflows.
📖 Documentation: llm.datasette.io | 🔗 GitHub: simonw/llm
The real power comes from piping and templates:
# Install and configure
uv add llm && llm keys set openai
# The patterns that matter
cat src/auth.py | llm "Security review this authentication code"
git diff HEAD~1 | llm -t code-review
grep "ERROR" logs.txt | llm "Root cause analysis"
My Translation Tool (trl)
Working with international teams means constant translation needs. Instead of copy-pasting into web interfaces, I built trl—a context-aware translation CLI that understands technical content.
# Context-aware technical translation
trl documentation.md -f -l spanish
trl "API rate limiting exceeded" -l french -s "Error messages for developers"
# Batch documentation updates
for lang in spanish french german; do
trl README.md -f -l $lang -o README_$lang.md
done
The key difference: specialized system prompts that preserve technical terms, code examples, and formatting that generic translators destroy.
My Git Commit Automation (comait)
Commit messages are cognitive overhead. My comait alias generates conventional commit messages by analyzing staged changes:
alias comait='git commit -m "$(git diff --cached | llm -t gitcommit)"'
# Stage changes and commit with AI-generated message
git add src/auth.ts && comait
# Output: "feat: implement JWT token refresh mechanism"
The LLM template analyzes the diff and produces conventional commit format. No more “fix stuff” or “updates” commits.
Why CLI Tools Win
The advantage isn’t just convenience—it’s about maintaining flow state. When you can pipe, redirect, and compose AI operations with standard Unix tools, you’re not context-switching. You’re extending your existing mental model.
Key composability patterns:
# Error analysis pipeline
tail -f app.log | grep ERROR | llm "Categorize and suggest fixes"
# Documentation workflow
find docs/ -name "*.md" | xargs -I {} llm "Check for broken links:" < {}
# Code quality automation
git diff main | llm -t security-review | tee review.md
The real power emerges when these tools become invisible parts of your workflow, not separate applications you “use.”
Conclusion
Web AI interfaces optimize for engagement, not productivity. CLI tools optimize for flow. When AI becomes part of your command-line toolkit rather than a separate destination, you unlock compound productivity gains that web interfaces can’t match.
Start with Simon Willison’s LLM CLI as your foundation, then build specialized tools like my trl and comait for your specific pain points. The goal isn’t replacing human intelligence—it’s augmenting your existing workflows without breaking them.
Ready to integrate AI into your development workflow? I help teams build custom CLI automation that fits their specific needs and stack. Let’s discuss how command-line AI tools can transform your daily development routine.
Contact me at [email protected] to explore building AI-powered CLI tools for your workflow.