Merged
Conversation
…ures Add a visual hero section to the README with CI, coverage, Python, license, and savings badges. Include a before/after compression table with real numbers derived from audit_compression.py. Add generate_demo.py script and example fixtures for git diff, pytest, terraform, npm install, and kubectl.
Create docs/comparison.md with a factual comparison of Token-Saver against cc_token_saver_mcp, token-optimizer-mcp, and Claude Context Mode. Add a "How It Compares" section in README linking to it.
Add support for user-defined processors loaded from ~/.token-saver/processors/. User processors inherit from Processor base class and are auto-discovered alongside built-in ones. Broken processors are skipped gracefully. Add user_processors_dir config key, example ansible processor, and 7 tests.
Add push trigger on main, Python 3.11 to matrix, pytest-cov for coverage reporting, codecov upload on 3.12, mypy type checking step. Add dev optional dependencies group to pyproject.toml.
Add py.typed marker for PEP 561 compliance. Create mypy.ini with permissive settings. Add type annotations to engine.py and config.py public method signatures. mypy step is included in CI workflow.
Add 'token-saver benchmark <command>' to measure compression on real commands. Supports --format json for scripting and --dry-run to show processor match without executing. Add 4 tests for the new subcommand.
Support project-level config files that override global settings. Token-Saver walks up parent directories to find .token-saver.json (like .gitignore). Track config sources for debug mode. Add 5 tests for project config.
Create demo.py that processes all fixtures through the compression engine and displays before/after stats. Add examples/README.md documenting the fixtures and how to run the demo.
Fix ruff warnings: unused imports, noqa directives, dict.fromkeys, TYPE_CHECKING import, and apply ruff formatter to all new files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Why
How
Checklist
ruff check .passesruff format --check .passespython3 -m pytest tests/ -vpasses (all 207+ tests)