Skip to content

feat(Add --since, -o, --version, map extension filter)#5

Merged
MedUnes merged 1 commit intomasterfrom
feature/add-extension-granual-support
Apr 10, 2026
Merged

feat(Add --since, -o, --version, map extension filter)#5
MedUnes merged 1 commit intomasterfrom
feature/add-extension-granual-support

Conversation

@MedUnes
Copy link
Copy Markdown
Owner

@MedUnes MedUnes commented Apr 10, 2026

Summary

  • Add --since flag: produces a composite review document (map of changed files with [M]/[A]/[D] status + full unified diff + complete content of changed files). Auto-names output as dewdrops_since_.md. Mutually
    exclusive with --map/--from.
  • Add -o flag for custom output file path in all modes.
  • Add --version flag, with version injected via goreleaser ldflags at release time (dev for local builds).
  • Change --map from boolean to optional-value flag: --map (supported languages only), --map=go,py (specific extensions), --map=any (all text files). Eliminates noise from config files (.yaml, .json, .env) in default map
    output.
  • Add oversize output warning when output exceeds ~100K estimated tokens.
  • Add markdown heading extraction for .md files (headings instead of first-3-lines fallback).
  • Pre-compile all signature regexes as package-level vars instead of per-file compilation.
  • Batch git mod-time lookups with 16 concurrent goroutines instead of sequential per-file.
  • Wrap --map tree output in a fenced ```text block for reliable copy-paste.

Details

  • The --since flag is the flagship feature. It enables a workflow where the user runs dewdrops --since main ., pastes the output into an LLM, and asks "Review these changes." The output gives the LLM three views: structural map
    with change status, unified diff, and full content of changed files. Deleted files appear in the tree with [D] but are excluded from the content section.

  • The --map extension filter uses Go's IsBoolFlag() interface so --map works as a bare flag (supported extensions only) while --map=value passes a filter. Default supported set: .go, .py, .js/.ts/.jsx/.tsx, .rs, .java/.kt, .rb,
    .php, .c/.h/.cpp/.hpp, .sh/.bash, .sql, .md. Config/data files excluded from default to avoid first-3-lines fallback noise.

@MedUnes MedUnes merged commit 687006c into master Apr 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant