Skip to content

Latest commit

 

History

History
170 lines (132 loc) · 11.3 KB

File metadata and controls

170 lines (132 loc) · 11.3 KB

Reference

What Gets Installed

Core Tools

  • llm - LLM CLI tool (fork with markdown markup enhancements, originally by Simon Willison - Documentation)
  • Claude Code - Anthropic's official agentic coding CLI
  • Claude Code Router - Multi-provider routing proxy for Claude Code (Azure + Gemini dual-provider or Gemini-only)

Prerequisites

  • Python 3 - Required for llm
  • uv - Modern Python package installer
  • Node.js - JavaScript runtime (v20+, from repositories or nvm)
  • Rust/Cargo - Rust toolchain (v1.85+, from repositories or rustup)
  • Go - Go toolchain (v1.22+, optional, for imagemage)
  • argc - Bash CLI framework and command runner (enables optional llm-functions integration)
  • bubblewrap - Sandboxing tool for llm-tools-sandboxed-shell
  • poppler-utils - PDF utilities (pdftotext for RAG)
  • pandoc - Document converter (DOCX support for RAG)
  • xsel - X11 clipboard tool (enables pbcopy/pbpaste on Linux)
  • jq - Command-line JSON processor

LLM Plugins

LLM Templates

  • llm.yaml - Custom assistant template with security/IT expertise configuration (Optimized for cybersecurity and Linux tasks, includes context and sandboxed_shell tools by default)
  • llm-code.yaml - Code-only generation template (outputs clean, executable code without markdown)
  • llm-wut.yaml - Command-line assistant for explaining terminal output and troubleshooting (concise 5-sentence responses, uses context tool automatically)
  • llm-assistant.yaml - AI pair programming template for Terminator terminal (provides intelligent debugging, command suggestions, and automatic execution in split panes)

Additional Tools

  • gitingest - Convert Git repositories to LLM-friendly text
  • yek - Fast repository to LLM-friendly text converter (230x faster than alternatives, written in Rust)
  • files-to-prompt - File content formatter for LLM prompts
  • asciinema - Terminal session recorder (built from source for latest features)
  • context - Terminal history extraction from asciinema recordings (CLI + LLM tool)
  • Micro - Modern terminal text editor with llm-micro plugin for in-editor AI assistance
  • imagemage - Gemini image generation CLI (requires Go 1.22+, only installed when Gemini is configured)
  • onnx-asr - Speech-to-text transcription using NVIDIA Parakeet TDT (25 European languages, auto-punctuation)
  • llm-assistant - TmuxAI-inspired AI assistant for Terminator terminal (automatic command execution, watch mode)

Shell Integration

  • AI-powered command completion (Ctrl+N) - see llm-integration.bash / .zsh
  • Tab completion for llm commands (Zsh only) - see llm-zsh-plugin
  • Custom llm wrapper with automatic template application - see llm-common.sh
  • Automatic session recording with asciinema - see llm-common.sh
  • macOS-style clipboard aliases (pbcopy/pbpaste via xsel on Linux)
  • Common aliases and PATH configuration

Configuration Files

  • ~/.config/io.datasette.llm/ - LLM configuration directory

    • extra-openai-models.yaml - Azure OpenAI model definitions
    • templates/llm.yaml - Custom assistant template with security/IT expertise (cybersecurity focus)
    • templates/llm-code.yaml - Code-only generation template (no markdown, no explanations)
    • default_model.txt - Currently selected default model
    • API keys stored securely via llm's key management
  • ~/.config/llm-tools/ - Additional tool configuration

    • asciinema-commit - Tracks asciinema version for update detection
  • $SESSION_LOG_DIR/ - Session recording storage

    • Default: /tmp/session_logs/asciinema/ (temporary) or ~/session_logs/asciinema/ (permanent)
    • Contains .cast files with terminal session recordings
    • Configured via SESSION_LOG_DIR environment variable in your shell RC file
  • ~/.config/io.datasette.llm/rag/ - RAG collections (llm-tools-rag)

    • Contains ChromaDB vector databases and BM25 indices

Shell Integration Files

Located in the integration/ subdirectory:

These are automatically sourced from your .bashrc or .zshrc.

Credits

Core Tools & Frameworks

  • Simon Willison - Original llm CLI tool and plugins (llm-gemini, llm-anthropic, llm-openrouter, llm-jq, llm-tools-sqlite, llm-tools-quickjs, llm-fragments-github, llm-cmd)
  • c0ffee0wl - llm fork with markdown markup enhancements
  • sigoden - argc Bash CLI framework and llm-functions framework
  • Anthropic - Claude Code agentic coding CLI
  • Astral - uv Python package manager
  • Rust Foundation - Rust programming language and Cargo
  • Node.js Foundation - Node.js JavaScript runtime

LLM Plugins & Extensions

Additional Tools

License

This installation script is provided as-is. Individual tools have their own licenses:

  • llm: Apache 2.0
  • See individual tool repositories for details

Contributing

To modify or extend this installation, see CLAUDE.md for detailed architecture documentation.

Key files to understand:

Development workflow:

  1. Read CLAUDE.md to understand architecture
  2. Edit the scripts in the repository
  3. Test your changes
  4. Commit and push to git
  5. Changes pulled automatically on next run