Add Learn page documenting snip learn
docs(config): snip config now shows the effective merged configuration (#161, v0.25.0)
docs: configurable cc-economics pricing tiers, refreshed defaults (#171/#172)
docs: plugin layer needs no session env (--plugin-config flag, relative dirs, #170)
docs: plugin configuration layer (SNIP_PLUGIN_CONFIG, #157/#167)
docs: align wiki with code (132 filters, 20 actions, trust store, project config, cc-economics, .NET examples)
docs: aggregate replaces what it counts, and where drop stages may sit Three bundled filters shipped with this bug (snip#134, snip#136): rails-routes, rails-migrate and cargo-test each printed a correct count instead of the content it counted. Records the fix pattern and the follow-on trap cargo-test exposed, that a remove_lines placed after the payload/noise boundary deletes payload.
docs: shell blocks and heredocs are never rewritten Follows snip#133 / snip#137: the hook now tracks compound commands, so loop, conditional, function and subshell bodies are left raw, and heredoc bodies are copied through instead of being segmented as commands.
docs: injected flags must not change the question, and {{.count}} pitfalls Follows snip#124 and snip#125: git-log no longer injects --no-merges, git-diff and git-show name the diffstat substitution and let -p opt out, and git-diff no longer invents a file count.
docs: sync with snip v0.23.0 - Filter DSL: tail overflow_msg, new truncate_bytes entry, compact_path caveat (removed from all 28 bundled filters, see snip#115 / snip#117) - Integration: Codex now uses a native PreToolUse hook with updatedInput (snip#126), including why permissionDecision:allow is not an approval grant - Configuration: document [filters.global] and [filters.override.<name>], which were entirely absent (max_output_bytes flagged in snip#118) - Home: correct the filter, action and CLI command counts
docs: piped and redirected commands are left unfiltered (#111) A command whose stdout feeds a pipe stage or a file redirection is no longer wrapped by the hook: snip's filters are lossy by design, and a consumer depends on the producer's exact count and content. Documents the behavior table, the fail-safe redirect detection, and the unchanged auto-allow semantics.
docs: document tee.project_marker and optional -- separator for proxy (#107, #108)
docs: match.subcommand accepts a list of subcommands (PR #104)
docs: document display.summary key (PR #82)
Integration: document Grok Build (xAI) support
docs: direct-run runner prefixes (#95) + track_unfiltered / gain --unfiltered (#96)
docs(integration): native GitHub Copilot CLI / VS Code hook (snip hook copilot)
docs: bump filter count to 127, add gradlew to build tools
docs: document append param for group_by/aggregate, add ls savings - group_by and aggregate now support append: true to keep original lines and add summary at the end instead of replacing them - Add ls -laR to the savings table (49.8% on test fixture, 99.2% on real directories with thousands of files)
docs: update wiki for v0.12.0 (126 filters, 19 actions, multi-agent, discover, verify)
docs: update wiki for v0.10.0 - native snip hook, Go 1.25+, 22 filters - Replace snip-rewrite.sh references with snip hook (Integration.md) - Update hook architecture description (no bash, no jq) - Update Go version requirement from 1.24+ to 1.25+ (Installation.md, Contributing.md) - Update built-in filters list from 5 to 22 (Filters.md)
Add Windows install instructions and Go install section
Fix diagram alignment, add Go/source install to Quick Start
Wiki: Home, Installation, Integration, Gain Dashboard, Filters, DSL Reference, Configuration, Architecture, Contributing
Initial Home page