Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dev-storage-reclaimer

Production-hardened Rote Play that audits dormant developer workspaces and calculates safe, reclaimable dependency and build cache space across Node, Rust, Python, Go, and Docker.

Modiqo Play Runtime License

Overview

Developer environments quietly accumulate tens of gigabytes of obsolete build artifacts in projects that haven't been touched in months. Most cleanup scripts either run destructive one-liners without auditing or crash when scanning dense directories.

dev-storage-reclaimer runs a deterministic, 3-stage Directed Acyclic Graph (DAG) pipeline that discovers dormant repositories based on configurable inactivity thresholds (stale_days), inspects dependency and container caches, and renders an actionable Markdown audit table—100% read-only, with zero file mutations.


Architectural Highlights

  • Path-Depth Invariant Serialization: Avoids repeating deep absolute paths across serialized steps. Discovery records emit strictly relative paths (relative_path), reducing payload size to ~22 KB for 300 completely dormant projects (~74 bytes/record). This scales the safe execution ceiling past 880+ repositories under Rote's strict 64 KB stdout DAG limit.
  • Nested Project Boundary Isolation: Prevents double-counting and false cache attribution when sub-projects are nested within parent directories (e.g., monorepos, microservices, or embedded repos). Build artifacts inside child folders are strictly scoped to the child project.
  • Zero-Risk & Non-Destructive: Performs read-only scans and disk size measurements. Never deletes or mutates directories without explicit operator intervention.
  • Hermetic Synthetic Demo: Ships with an isolated demo=true test runner that populates mock project trees, validates discovery and sizing, and guarantees complete sandbox cleanup after execution.

Supported Ecosystems & Targets

Ecosystem Detected Markers Audited Directories / Artifacts
Node.js package.json node_modules
Rust Cargo.toml target/
Python requirements.txt, pyproject.toml, Pipfile .venv/, venv/, __pycache__/
Docker Engine Socket / CLI Dangling build cache & unused image layers

Quickstart

1. Instant Demo (Zero Setup)

Runs an isolated, self-cleaning synthetic test tree with zero side effects:

rote play run https://play.modiqo.ai/anvit/dev-storage-reclaimer@0.4.0 demo=true --yes

2. Audit Your Development Workspace

Scan your local projects folder for projects inactive for more than 30 days (default):

rote play run https://play.modiqo.ai/anvit/dev-storage-reclaimer@0.4.0 root=/Users/yourname/dev --yes

3. Custom Inactivity Threshold

Target deeply abandoned repositories inactive for 90+ days:

rote play run https://play.modiqo.ai/anvit/dev-storage-reclaimer@0.4.0 root=/Users/yourname/dev stale_days=90 --yes

Pipeline Architecture

┌─────────────────────────┐
│   discover_projects     │  Recursive traversal, root-relative path emission,
└────────────┬────────────┘  and dormancy classification based on mtime.
             │
             ▼
┌─────────────────────────┐
│   inspect_reclaimable   │  On-demand absolute path re-joining, nested boundary
└────────────┬────────────┘  isolation, and dependency/docker cache sizing.
             │
             ▼
┌─────────────────────────┐
│ render_markdown_report  │  Emits clean, structured terminal tables and summary
└─────────────────────────┘  metrics of safe reclaimable gigabytes.


Parameters

Parameter Type Default Description
root string (cwd) Absolute path to the workspace root directory. Relative paths (.) are rejected for sandbox safety.
stale_days number 30 Number of elapsed days since last project activity to consider a repository dormant.
demo boolean false When true, provisions a temporary mocked multi-project structure and automatically prunes it upon completion.

Verification & Benchmarks

  • Linter Status: Passed with 0 violations (rote play lint --json).

  • Stdout Buffer Scalability: Tested under a 120-character nested path with 300 dormant repos:

  • Raw schema: 158,759 bytes (Failed DAG threshold)

  • Path-depth invariant schema: 22,183 bytes (67% reduction; well below 65,536-byte limit)

  • Boundary Validation: Verified non-overlapping disk allocation across parent/child monorepo layouts under peer audit.


Links


About

Audits dormant developer projects and calculates reclaimable dependency and build cache space.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages