Skip to main content

🤖 fsgc — Filesystem Garbage Collector

Release License Maintenance

Clean your filesystem with precision.

A Python-based CLI utility that performs high-performance filesystem scanning using MCTS-informed search to identify space-intensive directories and suggests garbage collection based on intelligent heuristics.


🚀 Getting Started

The fsgc tool is built with modern Python tooling (uv).

Installation

For users (recommended):

uvx fsgc

Or via pipx:

pipx install fsgc

For developers:

# Clone the repository
git clone https://github.com/apiad/fsgc.git
cd fsgc

# Install dependencies and build the project
uv sync

Usage

By default, running fsgc will perform a stochastic MCTS-informed scan of the current directory:

fsgc scan .

Options:

  • --workers / -w: Number of concurrent workers (default: 8).
  • --depth / -d: Maximum display depth (default: 2).
  • --min-percent / -p: Minimum size percentage of parent to show child (default: 0.01).
  • --limit / -l: Maximum number of children to list individually (default: 10).
  • --age / -a: Age threshold in days for recency heuristic (default: 90).
  • --dry-run: Show what would be collected without deleting.

🧠 The Core Philosophy

fsgc is "The Architect in the Machine." It uses a Stochastic Search architecture to turn raw metadata into actionable deletion proposals:

  1. Scanner (The Playout): Informed MCTS scanning using GCTrail history and known signatures.
  2. Heuristic Engine (The Mark Phase): Scores nodes based on patterns, recency, and sentinel verification (e.g., verifying package.json for node_modules).
  3. Aggregator (The Sweep Phase): Groups garbage into logical collections for interactive selection.

🛠️ Development Lifecycle

The project is managed using a highly customized Gemini CLI agent framework. For more information on the framework and available commands, refer to GEMINI.md.

Standard Targets:

  • make lint: Run Ruff checks.
  • make format: Apply code formatting.
  • make test: Execute the test suite.
  • make check: Run Mypy static analysis.
  • make all: Run all checks and tests.

⚓ The Hook System

The framework uses a robust hook system (.gemini/hooks/) that synchronizes the agent with your project state, ensuring continuous validation and journaling.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for fsgc 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fsgc 0.5.0
File Size Uploaded
fsgc-0.5.0.tar.gz 205.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fsgc 0.5.0
File Interpreter ABI Platform
fsgc-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 242.7 kB

Release files / fsgc-0.5.0.tar.gz

Download URL fsgc-0.5.0.tar.gz
Size 205.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ead85a450192d6f3348130ed6dfd1b783b2519962bf7f968c0a40618c15366b4
BLAKE2b-256 checksum
How to use checksums
bf2fc4cc6948cfb3ff17e338513cc68dd36b50dbd81669cfdee54e3e134753c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fsgc-0.5.0-py3-none-any.whl

Download URL fsgc-0.5.0-py3-none-any.whl
Size 37.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a4067cd403dd2cb185b54de0e82524488a8b12ed61b54b10d057b1bf8730549
BLAKE2b-256 checksum
How to use checksums
96acb19f799cae8538fadb6e650081e6e856a58f6d2402982096a10b47c8a550
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page