Skip to content

v0.3.0 — Phase 3: monorepo, watcher, stats, bundle, completions

Choose a tag to compare

@CreatmanCEO CreatmanCEO released this 11 May 12:49
· 14 commits to main since this release
8822cd5

Phase 3 MVP

Five new feature areas, taking cc-janitor from 0.2.0 → 0.3.0.

Monorepo nested .claude/ discovery

  • core/monorepo.py walks a configurable root, classifies each location as real / nested / junk
  • cc-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.py mtime-poll loop, cross-platform daemon spawn (start_new_session on POSIX, DETACHED_PROCESS on Windows)
  • cc-janitor watch start/stop/status, health line in cc-janitor doctor
  • Optional psutil extra: 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 2 context-audit job)
  • TUI Audit-tab stats sub-pane with ASCII sparklines (toggle: s)
  • context-audit scheduled-job template migrated to the new schema. Legacy cost.jsonl still 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