feat: pyauto-status dirty file listing + split MOD/UNTR columns - #5
Merged
Conversation
Replace the single DIRTY column in pyauto-status with separate MOD (tracked-modified) and UNTR (untracked) counts so accumulating noise is distinguishable from real edits-in-progress. After the main table, emit a `Dirty files:` section listing the actual `git status --porcelain` output for every repo with dirty content, indented under the repo name. Cache porcelain once per repo so the listing reuses the same data the counts came from — no extra git invocations. Day-to-day signal: if UNTR climbs across runs for a repo, the .gitignore needs extending. MOD counts surface real edits that need committing or reverting. Closes #4 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Jammy2211
pushed a commit
that referenced
this pull request
May 6, 2026
Jammy2211
pushed a commit
that referenced
this pull request
Jun 22, 2026
Jammy2211
pushed a commit
that referenced
this pull request
Jun 22, 2026
Jammy2211
pushed a commit
that referenced
this pull request
Jul 8, 2026
Jammy2211
pushed a commit
that referenced
this pull request
Jul 9, 2026
Jammy2211
pushed a commit
that referenced
this pull request
Jul 24, 2026
Jammy2211
pushed a commit
that referenced
this pull request
Jul 24, 2026
Jammy2211
pushed a commit
that referenced
this pull request
Jul 27, 2026
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.
Summary
Follow-up to #2. Splits the single
DIRTYcolumn inpyauto-statusintoMOD(tracked-modified) +UNTR(untracked), and adds a per-repo file listing after the main table so the dashboard surfaces what is dirty, not just how many. Cachesgit status --porcelainonce per repo so the listing is free — same number of git invocations as before. Closes #4.API Changes
None — internal changes only. PyAutoPrompt has no public Python API.
The dashboard's column layout changes:
DIRTYis replaced byMOD UNTR. Personal terminal tool with one user; no consumers to migrate.Test Plan
time pyauto-statusfrom a fresh shell still completes in <10s.MOD=0 UNTR=0, no*flag, and is omitted from the listing.??/Mprefixes preserved.bash PyAutoPrompt/scripts/status.sh --reposproduces the new format (delegation path unbroken).Implementation notes
declare -A repo_porcelain) keyed by repo basename. The dirty-file listing iteratesreposa second time to emit only repos with non-empty porcelain.untrisgrep -c '^??',modisgrep -cv '^??'against the cached output. Empty porcelain shortcuts tomod=0 untr=0.'%-32s %-30s %-36s %6s %5s %4s %4s %s\n'. Dashed separator widened to match.🤖 Generated with Claude Code