TuxCleaner, an open-source cleanup toolkit for Linux inspired by Mole

TuxCleaner is a free, open-source Linux toolkit that combines system cleanup, application uninstalling, disk analysis, project artifact removal, and system monitoring in a single terminal app.

I took a lot of inspiration from Mole for macOS, which I really appreciate, while implementing the Linux-specific cleanup rules independently.

Key features:

  • Deep cleaning: removes known system, user, browser, developer, package-manager, Docker, and Flatpak leftovers
  • Application uninstaller: finds explicitly installed desktop apps and Flatpaks, previews the removal transaction, and preserves user data
  • Disk and project insights: finds large personal files and old artifacts such as node_modules, target, build, dist, and .venv
  • System status: displays CPU, memory, disk usage, load, and uptime
  • Safety-first workflow: includes dry-run support, explicit confirmation, protected paths, and operation history

It currently supports Arch, Debian/Ubuntu, and Fedora/RHEL-based distributions.

TuxCleaner is still an MVP, so feedback, bug reports, and contributions are very welcome.

GitHub: https://github.com/debba/tuxcleaner

u/debba_ — 6 days ago

Safety-first Linux cleanup, application uninstall, disk analysis, and system status CLI written in Rust.

I liked Mole's terminal-focused approach and wanted something built specifically for Linux, so I started working on TuxCleaner.

It's a Rust TUI for cleaning caches, uninstalling apps, finding large files and old project artifacts, and checking basic system status. Safety is the main focus, with dry runs, explicit confirmations, strict allowlists, and a local operation history.

The project is still a very early and rough MVP. It currently supports Arch, Debian/Ubuntu, and Fedora/RHEL based distributions, but there is still plenty to improve. I'd really appreciate feedback, especially about usability, missing features, and anything that feels unclear or unsafe.

github.com
u/debba_ — 7 days ago

free-my-arch: a Claude Code skill that cleans up your Arch install without nuking anything important

I got tired of running the same ritual every few months (paccache, docker prune, digging through ~/.cache, hunting for that 8GB ISO I forgot about), so I turned it into a Claude Code skill.

You run /free-my-arch and it goes through four strict phases: scan, report, confirm, clean. The scan is read-only, no sudo, and nothing gets deleted until you've explicitly confirmed it.

What it looks at:

  • pacman cache, AUR helper caches, orphan packages, journal, coredumps
  • user and app caches (~/.cache, thumbnails, trash)
  • dev caches: pip, cargo, npm/pnpm/yarn, Go modules, plus node_modules folders in projects you haven't touched in 30+ days
  • Docker dangling images and build cache, unused Flatpak runtimes
  • personal files above a size threshold (default 500M, configurable: /free-my-arch 1G)

The part I spent the most time on is the confirmation model. Caches get confirmed per group, but personal files are picked one by one, and the skill never recommends deleting your own data. It just surfaces it. Docker volumes are excluded from the group clean entirely and get their own explicit question, orphan packages show the full list before removal, and things like VM images or Thunderbird mail stores are flagged separately with a warning instead of being mixed in with regular files.

There's also a hardcoded do-not-touch list: dotfile configs, browser profiles, the pacman database, anything inside .git. And it keeps one cached version of each installed package by default instead of wiping the whole cache.

At the end you get a before/after df comparison so you can see what it actually freed.

Repo: https://github.com/debba/free-my-arch

Feedback welcome, especially if you can think of a category it should scan that it currently doesn't.

u/debba_ — 8 days ago
▲ 1 r/claudeskills+1 crossposts

free-my-arch: a Claude Code skill that cleans up your Arch install without nuking anything important

I got tired of running the same ritual every few months (paccache, docker prune, digging through ~/.cache, hunting for that 8GB ISO I forgot about), so I turned it into a Claude Code skill.

You run /free-my-arch and it goes through four strict phases: scan, report, confirm, clean. The scan is read-only, no sudo, and nothing gets deleted until you've explicitly confirmed it.

What it looks at:

  • pacman cache, AUR helper caches, orphan packages, journal, coredumps
  • user and app caches (~/.cache, thumbnails, trash)
  • dev caches: pip, cargo, npm/pnpm/yarn, Go modules, plus node_modules folders in projects you haven't touched in 30+ days
  • Docker dangling images and build cache, unused Flatpak runtimes
  • personal files above a size threshold (default 500M, configurable: /free-my-arch 1G)

The part I spent the most time on is the confirmation model. Caches get confirmed per group, but personal files are picked one by one, and the skill never recommends deleting your own data. It just surfaces it. Docker volumes are excluded from the group clean entirely and get their own explicit question, orphan packages show the full list before removal, and things like VM images or Thunderbird mail stores are flagged separately with a warning instead of being mixed in with regular files.

There's also a hardcoded do-not-touch list: dotfile configs, browser profiles, the pacman database, anything inside .git. And it keeps one cached version of each installed package by default instead of wiping the whole cache.

At the end you get a before/after df comparison so you can see what it actually freed.

Feedback welcome, especially if you can think of a category it should scan that it currently doesn't.

github.com
u/debba_ — 8 days ago
▲ 3 r/DatabaseAdministators+2 crossposts

Tabularis – Open-source desktop SQL workspace with SQL notebooks, a built-in MCP server for AI agents, and plugins in any language

Hi everyone! I've been building Tabularis, a free and open-source (Apache 2.0) desktop SQL client built with Tauri (Rust + React).

What makes it different from DBeaver/TablePlus/Beekeeper:

  • SQL notebooks: mix SQL and Markdown cells, share variables across cells, render charts inline
  • Built-in MCP server: Claude, Cursor and other AI agents can read your schema and run queries through the same app you already use, with no separate connector
  • Plugins in any language: drivers are external processes speaking JSON-RPC over stdio, so you can write one in Python, Go, or whatever language you prefer
  • Local AI text-to-SQL: works with Ollama, nothing leaves your machine
  • Visual EXPLAIN: interactive query plan graphs

PostgreSQL, MySQL/MariaDB and SQLite are built in. ClickHouse, DuckDB, Redis, Firestore, Db2, BigQuery and around 15 more are available as plugins from the registry.

Runs on Windows (WinGet), macOS (Homebrew, signed and notarized) and Linux (Snap, Flatpak, AUR and AppImage).

Feedback is very welcome. And if your favorite database is missing, there's a plugin bounty board.

github.com
u/debba_ — 22 days ago

Il problema di Anthropic non è l’AI. È il marketing.

Penso che Anthropic abbia un serio problema di posizionamento del prodotto.

Prima ha presentato Fable 5 come il modello premium per eccellenza: più costoso, disponibile solo su determinati piani e comunicato come il massimo che fosse possibile ottenere.

Poi, a distanza di poco tempo ha rilasciato Opus 5 che per il 99% degli utenti, offrirà un’esperienza praticamente equivalente.

Il problema non è il modello, ma il modo in cui il prodotto viene posizionato e raccontato.

Se il tuo livello premium diventa quasi indistinguibile dall’offerta standard nel giro di una settimana, gli utenti non penseranno: “Che incredibile velocità di innovazione.”

Penseranno semplicemente di aver pagato per qualcosa che ha perso valore quasi subito.

La qualità del modello conquista i benchmark, il posizionamento del prodotto conquista il mercato.

Voi cosa ne pensate?

reddit.com
u/debba_ — 26 days ago
▲ 4 r/react

Optimizing a virtualized React grid: 3,420 formatter calls down to 90

This is a write-up of a performance fix in Tabularis (open-source desktop DB client). The grid was already virtualized with TanStack Virtual, but wide tables still dropped frames: every scroll tick re-rendered all ~38 visible rows, and each cell called the value formatter three times.

The fix is essentially one React.memo boundary at the row level, plus splitting props by volatility (a stable memoized context object + per-row primitives) and stabilizing handlers with refs.

I shipped it in June based on "feels smoother", then went back and built a headless Vitest+Profiler benchmark for this post. The benchmark itself had a fun bug: the shared i18n mock returned a fresh t function per render, which silently invalidated the memo on every row. Harness and raw results are linked in the post.

tabularis.dev
u/debba_ — 1 month ago
▲ 24 r/coding+1 crossposts

Running database drivers as sandboxed external processes (and why a HashMap insert was a security boundary)

tabularis.dev
u/debba_ — 2 months ago
▲ 20 r/vercel+1 crossposts

Just a thank-you to the Vercel OSS team for backing my open-source project

Not a promo, just a genuine thank-you to Vercel.

A few months ago, I started Tabularis, an open-source desktop database client, mostly out of late-night frustration with the existing tools. Today, I got the email accepting it into the Vercel Open Source Program.

I’ll be honest: I’ve been a Vercel fan for years, so this one hit a little differently.
The part that made me smile is what gets supported: the site itself.

tabularis.dev (docs, blog, changelog, plugin pages) is an open-source Next.js app, static export, deployed on Vercel. So it ended up being an open-source database client with an open-source website, both backed by the same program.

How this actually helps the project:

  • Next-level preview deploys: Since the site is mostly Markdown, being able to review every docs change or blog post, including dynamic OG cards, exactly as it will look live has already saved me from shipping so many typos.
  • Zero-friction staging: It makes it incredibly easy to experiment with the "boring-but-important" stuff I've been pushing off, like custom search indexing and performance tweaks, without breaking production.
  • Automated workflow: It just automates the whole deployment pipeline, meaning I can spend less time wrestling with DevOps and more time actually building the DB client.

Anyway, a huge thanks to the Vercel OSS team for backing a young project. It genuinely means a lot.

Drop any questions about the DB client or the setup below, happy to chat!

u/debba_ — 2 months ago
▲ 4 r/coolgithubprojects+4 crossposts

Tabularis Run: a Super Mario-style platformer in vanilla JS + Canvas built with Fable

Tabularis Run is a small browser platformer I built as a love letter to old-school Mario, but the fun part is the constraints:

• Vanilla JS + Canvas, ZERO runtime dependencies.

The source is plain ESM and runs with no build step at all (Vite is only used for the production bundle).

• No external assets. Every sprite is procedural pixel art drawn from char-grids, and all music/SFX is WebAudio chiptune generated on the fly — no PNGs, no audio files.

• 12 levels across 3 worlds with bosses, gamepad + touch + keyboard support, and a share-your-score card rendered to PNG in-canvas.

• Built almost entirely with Fable (Anthropic's Claude model) via Claude Code — a fitting twist, since Tabularis is AI-native.

Play in the browser: https://game.tabularis.dev/?utm_source=reddit

Code (MIT, contributions welcome): https://github.com/TabularisDB/game

github.com
u/debba_ — 2 months ago
▲ 0 r/SQL

Finally Tabularis has a native JSON viewer and advanced grid editors

Hi everyone,
Working with JSON/JSONB data inside relational databases is often a pain. Most database IDEs treat JSON fields as massive, unformatted text strings, forcing you to copy-paste them into external formatters just to understand what's going on.
To solve this, I’ve completely revamped the Data Grid in Tabularis (an open-source, local-first SQL client built with Rust and Tauri v2).
Here is how it handles JSON now:

  • Code, Tree, and Raw Editors: You can switch views depending on whether you need to check the nested structure (Tree) or do quick edits (Code/Raw).
  • Smart Auto-Detection: If you have valid JSON stored inside plain TEXT or VARCHAR columns, a new toggle automatically detects it and activates the rich JSON cell renderer (giving you the tree expander and native viewer).
  • Native Viewer Window: Opens heavy JSON structures in a dedicated, lightweight Tauri window with per-cell deduplication, keeping the grid snappy.
  • Pending Edits & Diffs: It tracks cell changes, row additions, or deletions as pending edits, showing side-by-side or inline diffs before you actually commit the generated SQL to the database.

Since it’s built with Rust/Tauri, the virtualized grid stays incredibly fast even with large result sets. It also features a built-in MCP (Model Context Protocol) server if you like connecting your database schema to AI agents like Cursor or Claude safely.
The project is fully open-source and local-first. Would love to get some feedback from the community on how to improve the data grid further!

u/debba_ — 3 months ago

Finally Tabularis has native JSON viewing and editing for SQL databases

Hi everyone!

I wanted to share a quick update on Tabularis, a modern, open-source SQL client (PostgreSQL, MySQL, SQLite) built with Rust and Tauri.

If you work with JSON data inside relational databases, you know how frustrating it can be to read or edit it in standard tools. The latest update completely revamps the Data Grid to solve this.

What’s new with the JSON Viewer & Grid:

  • Code, Tree, and Raw Editors: Choose how you want to inspect and modify your JSON data.
  • Native Viewer Window: Opens heavy JSON structures in a dedicated, lightweight window.
  • Auto-Detection: A new toggle automatically detects valid JSON inside plain TEXT or VARCHAR columns and activates the rich cell renderer.
  • Inline Diffs: See clear, visual side-by-side or inline diffs of your pending changes before committing them to the database.

Other cool features:

  • Virtualized Grid: High-performance rendering that keeps large result sets instant.
  • SQL Notebooks: Mix markdown, SQL queries, and interactive charts.
  • MCP Server Native: Let AI tools (Cursor, Claude) inspect schemas safely without credential leaks.

It's fast, local-first, and completely open-source.

Check it out and let me know what you think!

u/debba_ — 3 months ago
▲ 0 r/coolgithubprojects+1 crossposts

The application layer was the perimeter for 20 years. Agents broke that and the database has to defend itself again

For two decades the database could outsource trust to the application layer: humans authenticated users, sanitized inputs, reviewed every commit before it shipped. Agents don't fit that picture.

>

The app-as-perimeter model stops being true the moment an LLM holds a live connection to your DB.

I wrote a piece on this, and on how I handled it in Tabularis's MCP integration: read-only enforced at the connection (fail-closed), pre-flight `EXPLAIN` as the approval unit, append-only local audit logs, and session tracing you can export as a replayable SQL notebook:

https://tabularis.dev/blog/database-has-to-defend-itself-again

u/debba_ — 3 months ago