v0.3.0 — Phase 3: monorepo, watcher, stats, bundle, completions
Phase 3 MVP
Five new feature areas, taking cc-janitor from 0.2.0 → 0.3.0.
Monorepo nested .claude/ discovery
core/monorepo.pywalks a configurable root, classifies each location as real / nested / junkcc-janitor monorepo scan/show- TUI Source-filter dropdown on Permissions / Hooks / Memory tabs (widget; backend scope-aware filtering deferred to 0.3.1)
- Closes upstream issues anthropics/claude-code#37344, #35561, #18192, #40640
Opt-in auto-reinject watcher
core/watcher.pymtime-poll loop, cross-platform daemon spawn (start_new_sessionon POSIX,DETACHED_PROCESSon Windows)cc-janitor watch start/stop/status, health line incc-janitor doctor- Optional
psutilextra:pip install cc-janitor[watcher]
Stats dashboard with history
- Daily snapshots at
~/.cc-janitor/history/<date>.json cc-janitor stats [--since 30d] [--format text|json|csv]cc-janitor stats snapshot(called by Phase 2context-auditjob)- TUI Audit-tab stats sub-pane with ASCII sparklines (toggle:
s) context-auditscheduled-job template migrated to the new schema. Legacycost.jsonlstill readable.
Export/import config bundle
cc-janitor config export <bundle.tar.gz> [--include-memory]cc-janitor config import <bundle.tar.gz> [--dry-run] [--force]- Hard exclusion of
settings.local.json,.env,credentials.json - Dry-run-first guard; SHA-256 manifest verified on import; backup-before-overwrite
Shell completions
cc-janitor completions install [bash|zsh|fish|powershell]cc-janitor completions show <shell>
Quality
- 202 tests passing (up from ~160 in 0.2.0)
- Ruff-clean
- CI green on Python 3.11/3.12 × ubuntu/windows
Install
pip install cc-janitor==0.3.0
pip install cc-janitor[watcher]==0.3.0 # with optional psutil
Known limitations
TUI Source-filter widget renders + stores selection, but core
discover_rules / hooks_files / memory_files walk the full default
tree regardless of selection — backend wiring deferred to 0.3.1.
Migration note
Existing crontab entries referencing cc-janitor context cost --json
continue to work and are read by stats as legacy cost.jsonl. To
upgrade:
cc-janitor schedule remove cc-janitor-context-audit
cc-janitor schedule add context-audit
🤖 Generated with Claude Code