seedfast_darwin_amd64
v1.24.0
Published
AI-powered PostgreSQL database seeding tool
Maintainers
Readme
Seedfast CLI
AI-powered PostgreSQL database seeding tool
Seedfast CLI generates realistic test data for PostgreSQL databases. It connects to a backend service that uses AI to understand your database schema and create meaningful, contextually appropriate seed data.
Features
- AI-Powered Planning: Automatically analyzes your database schema and generates an intelligent seeding plan
- Realistic Data: Creates contextually appropriate test data based on table relationships and constraints
- Interactive UI: Rich terminal interface with real-time progress tracking
- Concurrent Execution: Multi-worker architecture for fast data generation
- Secure Authentication: OAuth-style device flow with OS-level credential storage
- Schema-Aware: Respects foreign keys, constraints, and relationships between tables
Installation
npm (Node.js/JavaScript projects)
# Global installation
npm install -g seedfast
# Or use with npx (no installation required)
npx seedfast seedHomebrew (macOS and Linux)
brew install argon-it/tap/seedfastDownload Binary
Download the latest release for your platform from the releases page.
From Source
Requires Go 1.25+:
git clone <repository-url>
cd cli
go build -o seedfastQuick Start
1. Authenticate
seedfast loginOpens your browser for authentication. The CLI waits until you complete the login.
2. Connect to Database
seedfast connectEnter your PostgreSQL connection string:
postgres://user:password@localhost:5432/dbname?sslmode=disable3. Seed Your Database
seedfast seedThe CLI will:
- Analyze your database schema
- Present a seeding plan for your approval
- Generate and insert realistic test data
- Show real-time progress for each table
Commands
seedfast login # Authenticate with the backend service
seedfast connect # Configure database connection
seedfast seed # Start the seeding process
seedfast me # Check authentication status (formerly whoami)
seedfast logout # Clear stored credentials
seedfast --version # Show version informationConfiguration
Environment Variables
SEEDFAST_DSN- PostgreSQL connection string (overrides stored value)DATABASE_URL- Alternative PostgreSQL connection string (fallback)SEEDFAST_VERBOSE- Enable verbose logging (1to enable)
Database Connection
You can configure the database connection in three ways (in order of priority):
- Environment variable
SEEDFAST_DSN - Environment variable
DATABASE_URL - Stored value from
seedfast connectcommand (saved in OS keychain)
How It Works
- Authentication: OAuth-style device flow securely authenticates with the backend
- Schema Analysis: Backend analyzes your PostgreSQL schema (tables, relationships, constraints)
- AI Planning: AI planner determines optimal seeding strategy and generates realistic data
- Execution: CLI receives SQL tasks via gRPC and executes them locally
- Progress Tracking: Real-time UI shows progress for each table being seeded
Troubleshooting
Authentication Issues
# Check current auth status
seedfast me
# Re-authenticate
seedfast logout
seedfast loginDatabase Connection Issues
# Reconfigure connection
seedfast connect
# Or set via environment variable
export SEEDFAST_DSN="postgres://user:password@localhost:5432/dbname?sslmode=disable"Verbose Logging
export SEEDFAST_VERBOSE=1
seedfast seedDevelopment
For local development and testing with custom backends, see DEVELOPMENT.md.
Quick summary:
- Production builds: Connect to production backend only
- Dev builds (
go build -tags dev): Support--backend-urland--grpc-urlflags for local testing
Requirements
- PostgreSQL database with
appschema - Active internet connection for backend communication
- OS keychain support (macOS Keychain or Windows Credential Manager)
Platform Support
- macOS (x64, ARM64) - Uses native Keychain
- Linux (x64, ARM64) - Uses system keyring or encrypted file storage
- Windows (x64, ARM64) - Uses Windows Credential Manager
Linux Keyring Backends
Seedfast automatically detects and uses the best available backend on Linux:
- Secret Service (GNOME Keyring, KDE Wallet) - Requires D-Bus session
- pass (password-store) - Requires GPG setup
- File Storage (automatic fallback) - Encrypted, works everywhere including WSL and Docker
For WSL users: File storage is automatically used. No additional setup required.
For detailed Linux keyring setup and troubleshooting, see docs/LINUX_KEYRING.md.
Contributing
This is a private repository. For contributions, please contact the maintainers.
License
See LICENSE file for details.
