This directory contains helper scripts for ex_pgflow development.
Interactive script to set up your development environment. Supports three methods:
- Nix (recommended) - Installs Elixir, Erlang, PostgreSQL with pgmq automatically
- Docker - Runs PostgreSQL with pgmq in Docker (requires separate Elixir/Erlang installation)
- Native - Guides you through manual installation of all dependencies
Usage:
# Interactive mode
./scripts/setup-dev-environment.sh
# Specify method
./scripts/setup-dev-environment.sh --method nix
./scripts/setup-dev-environment.sh --method docker
./scripts/setup-dev-environment.sh --method nativeOr via Makefile:
make setup # Interactive
make setup-nix # Nix method
make setup-docker # Docker methodValidates your development environment setup. Checks:
- Elixir and Erlang installation
- PostgreSQL server status
- Database connectivity
- pgmq extension installation
- Project dependencies
- Compilation status
Usage:
./scripts/check-environment.sh
# Or via Makefile
make checkSets up GitHub repository settings (for maintainers).
Configures branch protection rules (for maintainers).
Release preparation checklist (for maintainers).
# 1. Run setup script
./scripts/setup-dev-environment.sh
# 2. Verify setup
./scripts/check-environment.sh
# 3. Install dependencies
make deps
# 4. Create and migrate database
make db-create
make db-migrate
# 5. Run tests
make testBefore starting work each day:
# Check environment is ready
make check
# Start PostgreSQL if needed
make docker-up
# Run tests
make testIf environment check fails:
# Re-run setup
./scripts/setup-dev-environment.sh
# Or manually fix specific issues
# See SETUP.md for detailed troubleshooting- SETUP.md - Complete setup guide with troubleshooting
- GETTING_STARTED.md - First workflow tutorial
- CONTRIBUTING.md - Development guidelines