Repository navigation
Releases: speakman/llmcontext
Release list
v0.4.0
Breaking Changes
- Default output format is now "compact" with minimal markers (~15% token reduction)
- Use
--format standardfor the previous verbose format
- Use
estimate_tokens()signature changed: addedmodelanduse_tiktokenparameters
New Features
Compact Output Format (New Default)
The compact format uses ## FILE: path headers instead of verbose --- START FILE: path --- markers, significantly reducing token overhead:
# Project Context
## FILE: src/main.py
```python
print("hello")FILE: logo.png
[BINARY: PNG 256×256, 45.3 KB]
### Model-Specific Token Estimation (`--model`)
Get more accurate token estimates based on your target LLM:
- `--model claude` - Uses chars/3.5 heuristic (Anthropic recommendation)
- `--model gpt-4` - Uses chars/4 heuristic (default)
- `--model gemini` - Uses chars/4 heuristic
- `--model llama` - Uses chars/3.8 heuristic
### Optional Tiktoken Support (`--tokenizer`)
For 100% accurate GPT token counts:
```bash
pip install llmcontext[tiktoken]
llmcontext . output.txt --tokenizer tiktoken
Installation
pip install llmcontext
# Or with tiktoken support:
pip install llmcontext[tiktoken]Full Changelog
See CHANGELOG.md
Release 0.3.0
What's New in v0.3.0
🎯 Token Tracking
- Always shows token count:
Processed 15 files (~46.2K tokens) --max-tokensflag: Skip files that would exceed a token budget- Threshold warnings: Alerts at 128K, 200K, and 1M tokens
⚡ Improved Error Handling (Breaking Change)
- Removed defensive exception handling - errors now surface clearly
- Removed ImportError fallbacks for Pillow/mutagen
- If something breaks, you'll know about it immediately
🔧 Code Quality
- Refactored
should_exclude()into smaller, focused helper functions - Added CI linting with ruff and mypy
- Expanded test coverage (27 tests)
Breaking Changes
This release removes defensive code that could hide errors:
- Bare
except Exception:blocks have been removed - ImportError fallbacks for optional dependencies removed (Pillow/mutagen are required)
If you were relying on silent fallback behavior, ensure dependencies are properly installed.
Usage Example
# See token count in output
llmcontext . output.txt
# Processed 42 files (~85K tokens)
# Limit token budget
llmcontext --max-tokens 100000 . output.txt
# Skips files that would exceed the budgetInstallation
pipx install git+https://github.com/speakman/llmcontext.git@v0.3.0Full Changelog: v0.2.4...v0.3.0
Release 0.2.4
What's Changed
See the full changelog for details.
Installation
Install directly from this release:
pipx install git+https://github.com/speakman/llmcontext.git@v0.2.4Or clone and install locally:
git clone https://github.com/speakman/llmcontext.git
cd llmcontext
pip install -e .Full Changelog: v0.2.3...v0.2.4
Release 0.2.3
What's Changed
See the full changelog for details.
Installation
Install directly from this release:
pipx install git+https://github.com/speakman/llmcontext.git@v0.2.3Or clone and install locally:
git clone https://github.com/speakman/llmcontext.git
cd llmcontext
pip install -e .Full Changelog: v0.2.2...v0.2.3
Release 0.2.2
What's Changed
See the full changelog for details.
Installation
Install directly from this release:
pipx install git+https://github.com/speakman/llmcontext.git@v0.2.2Or clone and install locally:
git clone https://github.com/speakman/llmcontext.git
cd llmcontext
pip install -e .Full Changelog: v0.2.1...v0.2.2
Release 0.2.1
What's Changed
See the full changelog for details.
Installation
Install directly from this release:
pipx install git+https://github.com/speakman/llmcontext.git@v0.2.1Or clone and install locally:
git clone https://github.com/speakman/llmcontext.git
cd llmcontext
pip install -e .What's Changed
- Fix CLI show_prompt option and gitignore parsing by @speakman in #1
- Require Pillow and mutagen by @speakman in #2
- Add main entry and logging improvements by @speakman in #3
New Contributors
Full Changelog: https://github.com/speakman/llmcontext/commits/v0.2.1