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 start to start the db server), which run docker-compose under the hood if needed
  • Pre-populated data (including the tables employees, departments, timesheets)

Making Changes

  1. Fork the repository
  2. Create a feature branch: git checkout -b my-feature
  3. Make your changes and test with dbeesly databases
  4. Commit: git commit -m "Add my feature"
  5. Push: git push origin my-feature
  6. 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"