🧹 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. |
⌨️ TUI Keyboard Shortcuts & Emoji Reference
To make safaai fully keyboard-accessible, every clickable action has an associated keyboard shortcut labeled directly in the button or row.
🧹 Cleanup Preview (/clean)
[c]— Clean (🧹 Clean [c]): Run the cleanup execution on all checked items.[s]— Safe Only (🟢 Safe [s]): Select only low-risk items (e.g. system cache, temp folders) for deletion.[a]— Toggle All (⚡ All [a]): Cycle selection states between safe-only, select all, and deselect all.[Esc]— Cancel (✕ Cancel [Esc]): Exit the cleanup preview and return to the main dashboard.
📋 Checklist Row Actions
Use the Up/Down Arrow keys to navigate and move focus between the list items. Once a row is highlighted (focused with a green left-border indicator), use these shortcut keys:
[Space]/[Enter]: Toggle the checked state of the highlighted item.[o]— Open Directory (👁️ [o]): Open the target item's folder in Finder (macOS), xdg-open (Linux), or Explorer (Windows) to review its content manually.[i]— Ignore Item (🙈 [i]): Add the target item to your exclusion list, ignoring it in all future scans.
📊 Log Viewer (/logs)
[r]— Refresh (🔄 Refresh [r]): Reload and refresh the audit logs database.[c]— Clear (🗑 Clear [c]): Permanently truncate the SQLite audit log database.[d]— Export (📥 Export [d]): Export and download all audit logs to a CSV file.[Esc]— Done (✓ Done [Esc]): Dismiss the log browser.[Home]/[End]: Jump directly to the first/last page of logs.[PageUp]/[PageDown]: Scroll up/down the datatable page.
🔑 Authentication Modal
[Enter]— Authenticate (🔑 Authenticate [Enter]): Submit the entered sudo password.[Esc]— Cancel (✕ Cancel [Esc]): Reject authentication and cancel the operation.
⚙️ Self Update Modal (/update)
[u]— Update Now (⚙️ Update Now [u]): Confirm and apply the in-app version update.[Esc]— Cancel (✕ Cancel [Esc]): Dismiss the updater.
💻 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.12
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.12.tar.gz | 553.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| safaai-0.1.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 641.4 kB
Release files / safaai-0.1.12.tar.gz
| Download URL | safaai-0.1.12.tar.gz |
|---|---|
| Size | 553.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f93832d4f39df59639d0e4a417d90ec59a21740b7fb486a75f69807a57ee46f5
|
|
BLAKE2b-256 checksum How to use checksums |
2b3da72062ca17affcc89e174256f23b7a4a55e0a2d2f42a9c99407646068bf5
|
| 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.12-py3-none-any.whl
| Download URL | safaai-0.1.12-py3-none-any.whl |
|---|---|
| Size | 88.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a28c1b1eeb77c5e300b2d2489ca0ebd8bdc7dc3a8612d0ffbc4d0723ec23d8e
|
|
BLAKE2b-256 checksum How to use checksums |
a1aa467a860c67ad9a76df21b8f482dc0216479fe89625f5094f2790b19a7a4d
|
| 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}
|