Contributing to Squix
February 12, 2026 ยท View on GitHub
We welcome contributions! Here's how to get started:
Development Setup
You need Go 1.21+ and the database client libraries for the databases you want to test against.
Option 1: Using Nix
Enter the development shell with all required dependencies:
## using shell.nix
nix-shell
## or using flake.nix
nix develop
This provides:
- Go compiler
- Database clients: PostgreSQL, SQLite, Oracle Instant Client, duckDB
Option 2: Manual Setup
Install Go and the database clients you need:
# Go
go install github.com/eduardofuncao/squix/cmd/squix@latest
# PostgreSQL client (Ubuntu/Debian)
sudo apt install postgresql-client
# SQLite
sudo apt install sqlite3
# Oracle Instant Client
# Download from https://www.oracle.com/database/technologies/instant-client/downloads.html
Testing with Real Databases
To test Squix with actual database connections, use the dbeesly project - a collection of pre-configured database setups with sample data.
Example
SQL Server:
git clone https://github.com/dbeesly/sqlserver.git
cd sqlserver
make start
squix init sqlserver-dev sqlserver "sqlserver://sa:MyStrongPass123@localhost:1433/master"
Each dbeesly database includes:
- A make file with start, stop, logs and clean commands (run
make startto start the db server), which run docker-compose under the hood if needed - Pre-populated data (including the tables employees, departments, timesheets)
Making Changes
- Fork the repository
- Create a feature branch:
git checkout -b my-feature - Make your changes and test with dbeesly databases
- Commit:
git commit -m "Add my feature" - Push:
git push origin my-feature - Open a Pull Request
Development Workflow
# Build locally
go build -o squix ./cmd/squix
# Run your build
./squix status
# Test with a dbeesly database
cd ../dbeesly/sqlserver
make start
cd ../squix
./squix run "SELECT * FROM employees"