Installation
Installation
Section titled “Installation”macOS / Linux
Section titled “macOS / Linux”Run the install script:
curl -fsSL https://raw.githubusercontent.com/struckchure/axel/main/scripts/install.sh | bashThe script places the axel binary in ~/.local/bin (Linux) or /usr/local/bin (macOS) and adds it to your PATH.
Verify the installation:
axel versionWindows
Section titled “Windows”Open PowerShell and run:
irm https://raw.githubusercontent.com/struckchure/axel/main/scripts/install.ps1 | iexThe script downloads the binary to %LOCALAPPDATA%\axel\ and adds it to your user PATH.
Restart your terminal, then verify:
axel versionBuild from source
Section titled “Build from source”Requires Go 1.21+.
git clone https://github.com/struckchure/axel.gitcd axelgo build -o axel ./cmdMove the binary somewhere on your PATH:
mv axel /usr/local/bin/axel # macOS / LinuxConfiguration
Section titled “Configuration”Create an axel.yaml in your project directory:
database-url: postgres://user:pass@localhost:5432/mydbschema-path: ./schema.aslmigrations-dir: ./migrationsRun commands directly in your project folder:
axel validateaxel upIf your project is in a different directory, pass --dir (or -d):
axel -d ./myproject validateDiscovery order inside project directory:
axel.yaml— loaded as the full config if foundschema.asl— used as the schema if noaxel.yamldefault.asl— fallback schema filename
You can also set the database URL via an environment variable:
export DATABASE_URL=postgres://user:pass@localhost:5432/mydbaxel up