A fast disk space analyzer and cleaner powered by Rust! :vulcan_salute:
space is a Command Line Interface (CLI) utility that can be used to visualize and manage disk space.
Two operating modes are supported:
:one: Text User Interface (TUI)

:two: Non-interactive, read-only output to the terminal
space --help to see options.
:information_source: The apparent size of a file is the size of the file content, which is typically less than the actual space allocated as blocks on the disk. The larger the file, the less significant the difference.
brew install emilevr/space/space
In future, space may be upgraded via:
brew upgrade emilevr/space/space
space is available in the extras bucket.
:one: Add the bucket via the following command, if you haven't done so already:
scoop bucket add extras
:two: Install:
scoop install space
:three: In future, upgrade:
scoop update space
Alternatively, use the following command to install space via the Scoop manifest published by this repo:
scoop install https://emilevr.github.io/space/scoop/space.json
bash -c "$(curl -fsSL https://raw.githubusercontent.com/emilevr/space/main/install/install.sh)"
If you have PowerShell installed on either Windows, Linux or MacOS, you can run the following in a PowerShell terminal to install (or reinstall) the latest version of space:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional if your current execution policy already allows local scripts
Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/emilevr/space/main/install/install.ps1 | Invoke-Expression
Download and extract the relevant file for your platform and operating system from the list of assets included in the latest release
Yet another disk space usage utility?
You may have noticed that there are a fair number of disk space usage utilities out there, written in many languages. So why make another one? Well, this kind of project is a great way to learn a new language and a bunch of related stuff, like building and distributing applications for many platforms. It's also fun to write, with some challenges around performance that provide an opportunity to give Rust's "Fearless Concurrency" a spin. The implementation is straight forward and hasn't been optimized much, yet it performs pretty well.
This repository contains:
After the initial checkout please run the post-checkout hook manually via:
git config core.hooksPath ./.git-hooks
# On MacOS / Linux, make the hook scripts executable. On Windows, comment out the line below:
chmod +x .git-hooks/*
git hook run post-checkout
This will setup the hooks directory, enabling the pre-commit hook to run linting, code coverage and benchmarks.
To build the library and binaries, simply run cargo build --all-features from the repo root directory.
The binaries will be built in the ./target/debug directory. Alternatively use cargo run --bin space to
build and run the space CLI.
:information_source: All the commands listed below should also be run from the repo root.
cargo test --all-features.cargo test --all-features -- --include-ignored. Note:this
requires a large/maximized terminal window.cargo fmt -- --check to check code formatting.cargo clippy..vscode directory.
This repo contains a simple Rust build project that takes care of versioning, running code coverage and benchmark tasks.
In order for code coverage to be generated, ensure you have installed llvm-tools via
rustup component add llvm-tools.
To generate a code coverage report, run cargo install --path ./buildit && buildit coverage --include-ignored.
To run a benchmark test, use cargo buildit benchmark.
:information_source: The plan is to make this a comparative benchmark that runs as part of each PR merge build, with the results automatically published to the README.
Please read CONTRIBUTING.md for details on the code of conduct and how to submit pull requests.
SemVer is used for versioning. For the versions available, see the tags on this repository.
Also see the list of contributors to this project.
This project is licensed under the MIT License - see the LICENSE file for details
$ claude mcp add space \
-- python -m otcore.mcp_server <graph>