🧹 safaai — TUI-first Developer Workstation Optimizer
_______. ___ _______ ___ ___ __
/ | / \ | ____| / \ / \ | |
| (----` / ^ \ | |__ / ^ \ / ^ \ | |
\ \ / /_\ \ | __| / /_\ \ / /_\ \ | |
.----) | / _____ \ | | / _____ \ / _____ \ | |
|_______/ /__/ \__\ |__| /__/ \__\ /__/ \__\ |__|
Understand your workstation. Never blindly delete. Optimize like a developer.
💡 The Motivation: AI Era vs. Developer Disk Space
We live in the golden age of AI, local LLMs, and agentic coding workflows. But with great developer power comes great disk-space responsibility.
Every single week, your workstation accumulates:
- Gigabytes of Xcode DerivedData and archived artifacts.
- Monstrosity-level
node_modulesdirectories hidden in old forgotten directories. - Orphaned Docker volumes and dangling images.
- Caching artifacts from package managers like Homebrew.
- Massive model weights and vector DB test logs.
Sometimes, your machine starts chugging, and you just need an instant performance boost (freeing inactive RAM, purging caches, killing rogue memory-hogging consumer apps) without launching a heavy, closed-source consumer GUI app.
While there are plenty of disk cleaning utilities for Windows, developers on macOS and Linux are often left to guess which rm -rf command will break their local databases or compilation systems.
safaai is built for devs: terminal-first, completely open-source, interactive, and transparent.
[!IMPORTANT] safaai's Golden Rule: Never delete automatically. Explain everything. Every cleanup is previewable. Every action can be dry-run.
🛠️ Commands Reference
Press / inside the application to open the command palette and run slash commands:
| Command | Action | Risk Level | What it does |
|---|---|---|---|
/clean |
Scan & Clean | Safe (Review required) | Streams live disk scans across node, docker, brew, and Xcode projects. Reclaims space interactively with individual/parallel selectors. |
/doctor |
Compute Health Score | None | Audits your workstation and returns a developer health score from 0 to 100 based on bloated caches, memory leaks, and boot speed. |
/optimize |
RAM & Process Boost | Medium | Instantly purges system memory pages and terminates heavy background third-party applications to recover active RAM. |
/logs |
Browse Logs | None | Full searchable audit log of every operation, file path, and byte reclaimed during safaai runs. |
/ignorelist |
Manage Exclusions | None | Configure directory exclusions so safaai never scans or touches sensitive paths. |
/sysinfo |
System Dashboard | None | Visual real-time CPU, RAM, disk read/write, and network bandwidth meters. |
/update |
In-App Self Update | None | Automatically fetches latest release assets, checks versions, and atomically replaces the binary executable. |
/help |
Command Assistant | None | Displays quick command hints and keyboard binds. |
/quit |
Exit safaai | None | Terminate all active scanners safely and exit the TUI. |
💻 OS Support Matrix
| OS | Status | Notes |
|---|---|---|
| macOS | Fully Supported (11.0+) | Optimized for Apple Silicon (arm64) and Intel (x86_64). Includes Apple-specific scanners (Xcode, LaunchAgents, system memory purges). |
| Linux | Fully Supported | Runs natively in standard TTY terminals. Bypasses macOS-specific routines automatically. |
| Windows | Coming Soon 🛠️ | Native command shell adapters and Windows registry/temp cleanup scanners are currently under development. |
🚀 Installation & Launch
Run it instantly using uv (recommended):
# Force install the latest version, bypassing local cache
uv tool install --force --no-cache safaai
safaai
Or run it on-demand without permanent installation:
uvx --no-cache safaai
Or install via pipx / pip:
pipx install --force safaai
safaai
[!TIP] Bypassing Cached Versions:
uvhas aggressive local metadata caching. To guarantee that you fetch and run the absolute latest release ofsafaai, always include the--no-cacheflag when installing, upgrading, or running on-demand.
For macOS standalone binary downloads or custom Homebrew formula taps, check the Releases page.
Made with ♥ by Manu Gopinath
Metadata
Release files for safaai 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| safaai-0.1.7.tar.gz | 551.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| safaai-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 638.1 kB
Release files / safaai-0.1.7.tar.gz
| Download URL | safaai-0.1.7.tar.gz |
|---|---|
| Size | 551.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
79f76dc630e15943042ebfbeb887816eb55d3c5002ae4b841c01e14c893cad8f
|
|
BLAKE2b-256 checksum How to use checksums |
39555c832ab47e3c2ecff88573ad4a1dd33387136db9f903ff3f8bd8b027747b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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 / safaai-0.1.7-py3-none-any.whl
| Download URL | safaai-0.1.7-py3-none-any.whl |
|---|---|
| Size | 86.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7998626208d0506c1ab9a810493a8ef080e2df095749ea5508bc0a515da56bb8
|
|
BLAKE2b-256 checksum How to use checksums |
95692d9803176dcb7fe5b8f4df92ee58f68602319fc1ceb8989c9789b1991594
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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}
|