meine
meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…
A CLI tool for managing and executing SQL queries across multiple databases. Written in Go, made beautiful with BubbleT…
A CLI tool for managing and executing SQL queries across multiple databases. Written in Go, made beautiful with BubbleTea
Quick Start • Configuration • Commands • Keybindings • Features • Completion • Databases • Roadmap • Contributing
This project is currently in beta, please report unexpected behavior through the issues tab
Try out the live demo (no install required!)
See Features for details and examples
Go to the releases page and find the correct version for your system. Download it and make sure the file is executable and moved to a directory in your $PATH. Alternatively, use one of the methods below:
Use go to install squix directly
go install github.com/eduardofuncao/squix/cmd/squix@latest
this will put the binary squix in your $GOBIN path (usually ~/go/bin)
Follow these instructions to build the project locally
git clone https://github.com/eduardofuncao/squix go build -o squix ./cmd/squix
The squix binary will be available in the root project directory
DuckDB requires CGO and is included in the default build. To build without DuckDB:
CGO_ENABLED=0 go build -o squix ./cmd/squix
Squix is available in nixpkgs (v0.4.0-beta+).
# Try it nix-shell -p squix # Or with flakes nix run nixpkgs#squix
Squix is available as a Nix flake for easy installation on NixOS and systems with Nix.
nix run github:eduardofuncao/squix
nix profile install github:eduardofuncao/squix
nix develop github:eduardofuncao/squix
Add to your flake-based configuration.nix or flake.nix:
{
description = "My NixOS config";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
squix.url = "github:eduardofuncao/squix";
};
outputs = { self, nixpkgs, squix, ... }: {
nixosConfigurations.myHostname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
{
environment.systemPackages = [
squix.packages.x86_64-linux.default
];
}
];
};
};
}
Then rebuild: sudo nixos-rebuild switch
Add to your home.nix or flake config:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nix-unstable";
squix.url = "github:eduardofuncao/squix";
};
outputs = { self, nixpkgs, squix, ... }: {
homeConfigurations."username" = {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [
{
home.packages = [
squix.packages.x86_64-linux.default
];
}
];
};
};
}
Then apply: home-manager switch
brew tap eduardofuncao/squix brew install squix
There's also an unofficial AUR package for squix available at: squix-bin
# Create your first connection (PostgreSQL example) squix init mydb postgres "postgresql://user:pass@localhost:5432/mydb" # Add a saved query squix add list_users "SELECT * FROM users" # List your saved queries squix list queries # Run it, this opens the interactive table viewer squix run list_users # Or run inline SQL squix run "SELECT * FROM products WHERE price > 100"
No database handy? Spin up a sample one to explore right away:
# Create an Office-themed SQLite database in the current directory squix example squix init --name example --type sqlite --conn example.db squix explore squix run "select * from employees"
Once your query results appear, you can navigate and interact with the data:
# Use vim-style navigation or arrow-keys j/k # Move down/up h/l # Move left/right g/G # Jump to first/last row # Copy data y # Yank (copy) current cell v # Enter visual mode to select multiple cells and copy with y x # Export selected data as csv, tsv, json, sql, markdown or html # Edit data directly u # Update current cell (opens your $EDITOR) D # Delete current row # Modify and re-run e # Edit the query and re-run it # Search around / # Search cell's contents (n/N to cycle through results) f # Search column names (,/; to cycle through results) # Help H # Show keyboard shortcuts overlay ? # Toggle footer keybinds # Exit q # Quit back to terminal
PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, Oracle, ClickHouse, Firebird, DuckDB
See connection init examples in Database Support
Dynamic tab completion for bash, zsh, and fish that includes your saved queries and connections.
See Shell Completion
Row limits, column widths, color schemes (dracula, gruvbox, catppuccin-mocha, etc.) and UI visibility options can be set through the config file at ~/.config/squix/config.yaml.
See Configuration
See Commands for the full command reference and database init examples
See Keybindings for all navigation, editing, search, and visual mode keybindings on the results table view
Squix ships a SKILL.md file in the repo root, a simple reference for AI
coding agents (Claude Code, Copilot, etc.) to use squix non-interactively. It
covers safe commands, format flags, parameterized queries, and which commands
to avoid (TUI/editor). Point your agent at it if you want it to run SQL queries
as part of your workflow.
This project is currently in beta, please report unexpected behavior through the issues tab
squix shell)/) and column header search (f)squix run as json, csv, etc. with --format flagIf Squix saves you time, consider supporting its development through GitHub Sponsors. I work on Squix in my spare time and your support helps me dedicate more hours to it, keep the live demo running, build a proper docs/landing site, and cover GitHub Actions minutes for cross-platform builds, instead of relying on local builds.
Any amount is greatly appreciated ❤
We welcome contributions! Get started with detailed instructions from CONTRIBUTING.md
Thanks a lot to all the contributors:
Squix wouldn't exist without the inspiration and groundwork laid by these fantastic projects:
Built with:
Made with 🐿️ by @eduardofuncao
Previously Pam's Database Drawer, thanks to u/marrsd for suggesting the new name!
more like this
meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…
search projects, people, and tags