README
ยถ
๐ Gophex - Go Project Generator
A powerful, cross-platform CLI tool that generates production-ready Go projects with comprehensive database support, intelligent change detection, automated workflows, and clean architecture principles.
โจ Key Features
๐ Universal Cross-Platform Support
- Windows, macOS, Linux - Full feature parity across all platforms
- Platform-Specific Scripts - Generates
.batfiles for Windows,.shfor Unix - Smart Tool Detection - Auto-installs required tools (golang-migrate, etc.)
- Native Integration - Uses platform-specific commands and file managers
๐๏ธ Intelligent Project Generation
- Clean Architecture - Domain-driven design with proper separation of concerns
- Interactive Database Configuration - PostgreSQL, MySQL, and MongoDB support
- Multiple Database Configurations - Single instance, read-write split, and cluster setups
- Custom Environment Generation - Automatic
.envand.env.examplecreation with real values - Database-Specific Migrations - SQL migrations for PostgreSQL/MySQL, initialization scripts for MongoDB
๐ Post-Generation Workflow Automation
- Interactive Menu System - Continue working after generation without exiting
- Quick Start - One-click setup: dependencies โ database โ start application
- Development Workflow - Full automated setup with testing and validation
- Tool Auto-Installation - Automatically installs golang-migrate when needed
- Multi-Project Sessions - Generate and manage multiple projects in one session
๐ Production-Ready Security
- JWT Authentication - Complete auth system with secure middleware
- Security Middleware - CORS, rate limiting, request logging, input validation
- Password Security - bcrypt hashing with proper salting
- Environment Security - Secure credential management and configuration
๐๏ธ Universal Database Support
- PostgreSQL - Full support with connection pooling, SSL, clustering
- MySQL - Complete integration with TLS, read-write splits
- MongoDB - Document database with replica sets, authentication, sharding
- Flexible Configurations - Single, read-write split, and cluster setups
- Migration Management - Database-specific migration tools with auto-installation
๐ Smart Project Management & Metadata
- Dynamic Project Metadata - Automatically generated
gophex.mdfiles with project hierarchy and progress tracking - Activity Tracking - Monitors completion status of project activities (dependencies, migrations, tests, etc.)
- "Re-" Prefix System - Intelligent prefixes for repeated actions (e.g., "re-Install dependencies")
- Project Loading - Load existing Gophex projects by specifying directory path
- Smart Validation - Checks for gophex.md file existence and provides helpful feedback
- Secure Metadata - Tracks database configuration without storing sensitive credentials
๐ก๏ธ Intelligent Change Detection & Safety
- Manual Change Detection - Automatically detects user modifications
- Step-by-Step Updates - Break large changes into confirmable steps
- Backup & Rollback - Safe update process with rollback capabilities
- Code Protection - Never overwrites custom business logic without confirmation
- Git Integration - Tracks changes through Git history analysis
๐ฏ Enhanced Developer Experience
- Fully Interactive CLI - All functionality through user-friendly MCQ prompts
- No Command-Line Arguments - Simple, consistent interface without complex flags
- Project Continuity - Seamlessly continue working on existing projects
- Single Binary - Templates embedded using Go's embed filesystem
- Comprehensive Documentation - Auto-generated README and migration guides
- Real-Time Feedback - Progress indicators and status updates
- Error Recovery - Graceful error handling with helpful suggestions
๐ ๏ธ Installation
๐ Cross-Platform Support
Gophex works on Windows, macOS, and Linux with full feature parity.
Install from GitHub
go install github.com/buildwithhp/gophex@latest
Build from Source
git clone https://github.com/buildwithhp/gophex.git
cd gophex
go build -o gophex main.go
Platform-Specific Installation
Windows:
# Requires Go 1.19+
go install github.com/buildwithhp/gophex@latest
macOS:
# Using Homebrew (if Go not installed)
brew install go
go install github.com/buildwithhp/gophex@latest
Linux:
# Ubuntu/Debian
sudo apt install golang-go
go install github.com/buildwithhp/gophex@latest
๐ฏ Usage
๐ฎ Interactive MCQ Interface
Gophex uses a fully interactive Multiple Choice Question (MCQ) interface - no command-line arguments needed! Simply run gophex and navigate through user-friendly menus.
Why MCQ-only?
- โ Beginner Friendly - No need to memorize complex command flags
- โ Consistent Experience - Same interface across all platforms
- โ Error Prevention - Guided choices prevent invalid configurations
- โ Discovery - Easily explore all available options
- โ Accessibility - Works great with screen readers and assistive tools
๐ Quick Start
# Install Gophex
go install github.com/buildwithhp/gophex@latest
# Start interactive mode
gophex
๐ Interactive Workflow
Step 1: Start Gophex
gophex
# Choose from:
# - Generate a new project
# - Load existing project โ NEW!
# - Show version
# - Show help
# - Quit
Step 2: Interactive Configuration
- Project Type Selection - Choose from API, webapp, microservice, or CLI
- Project Name - Enter your project name
- Database Configuration (for API projects):
- Database type: PostgreSQL, MySQL, or MongoDB
- Configuration type: Single instance, read-write split, or cluster
- Connection details: Host, port, credentials, SSL settings
- Path Confirmation - Confirm or change the generation directory
Step 3: Post-Generation Menu
โ
Project 'myapi' is ready at /path/to/myapi
๐ API project with database integration
๐ What would you like to do next?
โก Quick start (install deps + start app)
๐ Development workflow (full auto-setup)
๐ Open project directory
๐๏ธ Run database migrations/initialization
๐ฆ Install dependencies (go mod tidy)
๐ Start the application
๐งช Run tests
๐ View project documentation
๐ Run change detection
๐ Generate another project
โ Exit
๐ Loading Existing Projects
NEW! Gophex can now load and continue working on existing projects:
gophex
# Select: Load existing project
๐ Load Existing Gophex Project
๐ก Enter the path to a directory containing a 'gophex.md' file
? Enter the path to a Gophex project directory: ./myapi
๐ Loading project: myapi (api)
๐ Location: ./myapi
๐ Last updated: 2 hours ago
๐ What would you like to do next?
โก Quick start (install deps + start app)
๐ Development workflow (full auto-setup)
๐ Open project directory
๐๏ธ re-Run database migrations/initialization โ "re-" prefix for completed activities
๐ฆ re-Install dependencies (go mod tidy) โ Shows what's been done before
๐ Start the application
๐งช Run tests
๐ View project documentation
๐ Run change detection
๐ Generate another project
โ Exit
If no gophex.md file is found:
? Enter the path to a Gophex project directory: ./some-directory
โ No Gophex metadata file (gophex.md) found in: /path/to/some-directory
? Would you like to create a new project? (Y/n)
Key Features:
- Manual Path Input - Simple, direct path specification without system-wide searching
- Smart Validation - Checks for gophex.md file existence and validity
- Smart Activity Tracking - Shows "re-" prefix for activities that have been completed before
- Time-Aware Display - Shows when projects were last updated
- Fallback to Generation - Option to create new project if no metadata found
- Seamless Integration - Loaded projects work exactly like newly generated ones
๐ป Interactive Interface
# Start Gophex interactive mode
gophex
# Main menu options:
# - Generate a new project
# - Show version
# - Show help
# - Quit
๐ Project Types
๐ REST API (Production-Ready)
Generates a comprehensive REST API with clean architecture, database integration, and your choice of web framework:
๐ Framework Options
- Gin - High-performance HTTP web framework with JSON validation
- Echo - Minimalist web framework with middleware support
- Gorilla - Powerful toolkit with flexible routing and middleware
gophex
# Select: Generate a new project
# Select: api - REST API with clean architecture
# Enter project name: myapi
# Choose framework: Gin/Echo/Gorilla
# Choose database: PostgreSQL/MySQL/MongoDB
# Configure database setup: Single/Read-Write/Cluster
# Enter connection details
Generated Structure:
myapi/
โโโ cmd/api/ # Application entry point
โ โโโ main.go # Graceful shutdown, DB connections
โโโ internal/
โ โโโ api/ # HTTP layer
โ โ โโโ handlers/ # Request handlers
โ โ โ โโโ auth.go # JWT authentication
โ โ โ โโโ users.go # User CRUD operations
โ โ โ โโโ posts.go # Post management
โ โ โ โโโ health.go # Health checks
โ โ โโโ middleware/ # HTTP middleware
โ โ โ โโโ auth.go # JWT validation
โ โ โ โโโ cors.go # CORS handling
โ โ โ โโโ logging.go # Request logging
โ โ โ โโโ ratelimit.go # Rate limiting
โ โ โโโ routes/ # Route definitions
โ โ โ โโโ routes.go # API routing setup
โ โ โโโ responses/ # Response formatting
โ โ โโโ error.go # Error responses
โ โ โโโ success.go # Success responses
โ โโโ database/ # Universal database layer
โ โ โโโ database.go # Database interface & implementations
โ โ โโโ config.go # Database configuration
โ โ โโโ factory.go # Database factory
โ โโโ domain/ # Business logic
โ โ โโโ user/ # User domain
โ โ โ โโโ model.go # User entity
โ โ โ โโโ repository.go # Repository interface
โ โ โ โโโ service.go # Business logic
โ โ โโโ post/ # Post domain
โ โ โโโ model.go # Post entity
โ โ โโโ repository.go # Repository interface
โ โ โโโ service.go # Business logic
โ โโโ infrastructure/ # External dependencies
โ โ โโโ database/ # Database implementations
โ โ โ โโโ postgres/ # PostgreSQL repositories
โ โ โ โโโ redis/ # Redis caching
โ โ โโโ auth/ # Authentication
โ โ โโโ jwt.go # JWT implementation
โ โ โโโ password.go # Password hashing
โ โโโ config/ # Configuration management
โ โ โโโ config.go # App configuration
โ โโโ pkg/ # Shared utilities
โ โโโ validator/ # Input validation
โ โโโ logger/ # Structured logging
โ โโโ errors/ # Custom error types
โโโ migrations/ # Database migrations
โ โโโ 000001_create_users_table.up.sql # User table migration
โ โโโ 000001_create_users_table.down.sql # Rollback migration
โ โโโ 000002_create_posts_table.up.sql # Post table migration
โ โโโ 000002_create_posts_table.down.sql # Rollback migration
โ โโโ mongodb_init.js # MongoDB initialization (if MongoDB)
โ โโโ README.md # Migration documentation
โโโ scripts/ # Utility scripts
โ โโโ migrate.sh # Database migration script
โ โโโ detect-changes.sh # Change detection script
โโโ .env # Environment variables (with real values)
โโโ .env.example # Environment template
โโโ .gophex-generated # Generation metadata
โโโ gophex.md # Project metadata and activity tracking (NEW!)
โโโ go.mod # Go modules
โโโ README.md # Project documentation
๐ฏ Framework-Specific Features
Gin Framework:
- High-performance HTTP routing with radix tree
- Built-in JSON validation and binding
- Middleware chaining with context passing
- Automatic content negotiation
Echo Framework:
- Minimalist design with powerful middleware
- Built-in request/response binding
- Automatic TLS support
- Extensible middleware system
Gorilla Framework:
- Flexible routing with URL patterns
- Powerful middleware toolkit
- WebSocket support ready
- Session management capabilities
Features Included:
- โ Universal Database Support - PostgreSQL, MySQL, MongoDB with all configuration types
- โ
Cross-Platform Scripts - Windows
.batand Unix.shfiles generated automatically - โ Auto-Tool Installation - golang-migrate and other tools installed automatically
- โ Post-Generation Workflow - Interactive menu for immediate development
- โ
Smart Project Metadata - Dynamic
gophex.mdwith project hierarchy and activity tracking - โ Project Loading - Load and continue working on existing Gophex projects
- โ Activity Awareness - "Re-" prefix system for repeated actions
- โ JWT Authentication System - Complete auth with secure middleware
- โ User Management - Full CRUD operations with validation
- โ Post Management System - Content management with author relationships
- โ Security Middleware - CORS, rate limiting, request logging, input validation
- โ Database Migrations - SQL migrations and MongoDB initialization scripts
- โ
Environment Configuration - Custom
.envgeneration with real database credentials - โ Change Detection - Automatic detection of manual code modifications
- โ Health Check Endpoints - Application and database health monitoring
- โ Clean Architecture Pattern - Domain-driven design with proper separation
- โ Repository Pattern - Abstract data access layer
- โ Dependency Injection - Loose coupling between components
- โ Graceful Shutdown - Proper resource cleanup and signal handling
- โ Development Automation - One-click setup from generation to running app
๐ Web Application
gophex
# Select: Generate a new project
# Select: webapp - Web application with templates
Generates a web application with HTML templates and static file serving.
๐ง Microservice
gophex
# Select: Generate a new project
# Select: microservice - Microservice with gRPC support
Creates a lightweight microservice with health checks and service endpoints.
๐ป CLI Tool
gophex
# Select: Generate a new project
# Select: cli - Command-line tool
Generates a CLI application using Cobra framework.
๐๏ธ Architecture Principles
Clean Architecture
- Domain Layer: Business logic and entities
- Infrastructure Layer: External dependencies (database, APIs)
- API Layer: HTTP handlers and middleware
- Dependency Inversion: Interfaces define contracts
Best Practices
- โ Separation of Concerns - Each layer has a single responsibility
- โ Dependency Injection - Loose coupling between components
- โ Repository Pattern - Abstract data access
- โ Service Layer - Business logic encapsulation
- โ Middleware Pattern - Cross-cutting concerns
- โ Error Handling - Consistent error responses
- โ Configuration Management - Environment-based config
- โ Structured Logging - Observability and debugging
- โ Input Validation - Data integrity and security
- โ Testing Structure - Unit and integration tests
๐ง Technology Stack & Automation
๐ค Automated Tool Management
Auto-Installation Features:
- golang-migrate: Automatically installed when needed for database migrations
- Platform Detection: Installs appropriate tools for your operating system
- Version Verification: Ensures tools are properly installed and accessible
- Error Recovery: Provides helpful guidance if installation fails
Tool Installation Process:
# When you run database setup, Gophex automatically:
โ ๏ธ golang-migrate tool is not installed
This tool is required for postgresql database migrations
? Would you like Gophex to install golang-migrate for you? Yes
๐ฆ Installing golang-migrate tool...
Running: go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
โ
golang-migrate installed successfully!
๐ Version: v4.16.2
๐ฏ Ready for postgresql database migrations
๐๏ธ Database Support
- PostgreSQL: Full support with connection pooling, SSL, read-write splits, clustering
- MySQL: Complete integration with TLS, connection pooling, cluster support
- MongoDB: Document database with replica sets, authentication, cluster configurations
- Redis: Caching layer (optional)
- Migrations: golang-migrate for SQL databases (auto-installed), custom scripts for MongoDB
๐๏ธ Core Dependencies
- HTTP Router: Gorilla Mux
- Database Drivers:
- PostgreSQL:
lib/pq - MySQL:
go-sql-driver/mysql - MongoDB:
go.mongodb.org/mongo-driver
- PostgreSQL:
- Authentication: JWT with secure token handling
- Password Hashing: bcrypt with proper salting
- Configuration: Environment-based configuration
- Logging: Structured logging with levels
- Validation: Custom validation package
๐ ๏ธ Development Automation
- Workflow Automation: One-click setup from generation to running application
- Change Detection: Automatic detection of manual modifications via Git analysis
- Migration Management: Database-specific migration tools with auto-installation
- Testing Integration: Automated test running and validation
- Documentation Generation: Auto-generated README and migration guides
- Safety Features: Backup, rollback, and change protection capabilities
๐ Cross-Platform Tools
- Windows: Batch files (
.bat), CMD integration, Explorer opening - macOS: Shell scripts (
.sh), Terminal integration, Finder opening - Linux: Shell scripts (
.sh), Terminal integration, file manager opening - Universal: HTTP client for health checks, Go tools for all operations
๐ Getting Started with Generated Projects
๐ฏ Recommended Workflow (Easiest)
-
Generate and Auto-Setup:
gophex # Select: Generate a new project # Follow interactive prompts # Select "โก Quick start" from post-generation menuThis automatically:
- Installs dependencies
- Sets up database (installs golang-migrate if needed)
- Starts the application
- Tests health endpoint
-
Start Developing:
# API is running on http://localhost:8080 # Health check: http://localhost:8080/api/v1/health # Ready for development!
๐ Manual Setup (Step-by-Step)
-
Generate the project:
gophex # Select: Generate a new project # Select: api - REST API with clean architecture # Enter project name: myapi # Choose database type: PostgreSQL/MySQL/MongoDB # Configure database setup and credentials -
Use Post-Generation Menu:
# After generation, choose from menu: ๐ฆ Install dependencies (go mod tidy) ๐๏ธ Run database migrations/initialization ๐ Start the application -
Or Manual Commands:
cd myapi go mod tidy # Windows scripts\migrate.bat up # Unix/Linux/macOS ./scripts/migrate.sh up go run cmd/api/main.go
๐งช Testing Your API
# Health check
curl http://localhost:8080/api/v1/health
# Register a user
curl -X POST http://localhost:8080/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com","username":"testuser","password":"password123"}'
# Login
curl -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com","password":"password123"}'
๐ Change Detection & Safety
Generated projects include intelligent change detection:
# Windows
scripts\detect-changes.bat
# Unix/Linux/macOS
./scripts/detect-changes.sh
# Shows:
# - Git commits since generation
# - Modified files
# - Custom code patterns
# - Custom imports
# - Database schema changes
๐ ๏ธ Development Tools
Database Management:
# Check migration status
scripts/migrate.sh status # Unix
scripts\migrate.bat status # Windows
# Create new migration
scripts/migrate.sh create add_new_table
Project Management:
# Run tests
go test ./...
# Build for production
go build -o api cmd/api/main.go
# Check for changes
scripts/detect-changes.sh
API Endpoints
Generated APIs include these endpoints:
GET /api/v1/health- Health checkPOST /api/v1/auth/register- User registrationPOST /api/v1/auth/login- User loginGET /api/v1/users- List users (protected)GET /api/v1/users/{id}- Get user (protected)PUT /api/v1/users/{id}- Update user (protected)DELETE /api/v1/users/{id}- Delete user (protected)GET /api/v1/posts- List posts (public)GET /api/v1/posts/{id}- Get post (public)POST /api/v1/posts- Create post (protected)PUT /api/v1/posts/{id}- Update post (protected)DELETE /api/v1/posts/{id}- Delete post (protected)
๐งช Testing
Generated projects include comprehensive testing structure:
# Run all tests
go test ./...
# Run with coverage
go test -cover ./...
# Run integration tests
go test ./tests/integration/...
# Run unit tests
go test ./internal/...
๐ Project Metadata System
๐ gophex.md File
Every Gophex project now includes a gophex.md file that contains comprehensive metadata about the project:
{
"project": {
"name": "myapi",
"type": "api",
"version": "1.0.0",
"gophex_version": "1.0.0",
"generated_at": "2025-08-03T20:00:00+05:30",
"last_updated": "2025-08-03T20:05:00+05:30"
},
"hierarchy": {
"cmd": {
"api": {
"main.go": "application_entry_point"
}
},
"internal": {
"api": {
"handlers": {
"auth.go": "authentication_handlers",
"users.go": "user_management_handlers"
}
}
}
},
"database": {
"configured": true,
"type": "postgresql",
"config_type": "single",
"is_clustered": false,
"has_read_write_split": false,
"ssl_enabled": false,
"migrations_executed": true,
"schema_initialized": true
},
"activities": {
"project_generated": {
"completed": true,
"timestamp": "2025-08-03T20:00:00+05:30",
"can_repeat": false
},
"dependencies_installed": {
"completed": true,
"timestamp": "2025-08-03T20:05:00+05:30",
"can_repeat": true
},
"database_migrated": {
"completed": true,
"timestamp": "2025-08-03T20:03:00+05:30",
"can_repeat": true
}
}
}
๐ Key Features:
- ๐ Dynamic Hierarchy - Complete file structure with descriptive labels
- ๐๏ธ Database Tracking - Configuration status without sensitive credentials
- ๐ Activity Monitoring - Tracks completion of project activities
- ๐ "Re-" Prefix System - Shows which activities can be repeated
- ๐ Timestamps - When activities were completed
- ๐ Project Discovery - Enables automatic project loading
- ๐ก๏ธ Secure - No passwords or sensitive data stored
๐ก Benefits:
- Project Continuity - Resume work on any Gophex project from anywhere
- Team Collaboration - Share project status and progress with team members
- Development Insights - Understand what's been done and what's next
- Automation Support - Enables intelligent tooling and workflows
๐๏ธ Database Configuration Examples
PostgreSQL Single Instance
# Interactive prompts will generate:
DATABASE_URL=postgres://admin:password@localhost:5432/myapi?sslmode=disable
MySQL Read-Write Split
# Interactive prompts will generate:
DATABASE_WRITE_URL=admin:password@tcp(write-host:3306)/myapi?tls=false
DATABASE_READ_URL=admin:password@tcp(read-host:3306)/myapi?tls=false
MongoDB Cluster
# Interactive prompts will generate:
DATABASE_URL=mongodb://admin:password@node1:27017,node2:27017,node3:27017/myapi?replicaSet=rs0&authSource=admin
๐ก๏ธ Change Detection & Safety Features
Automatic Change Detection
Generated projects include intelligent change detection:
# Run change detection
./scripts/detect-changes.sh
# Sample output:
๐ Gophex Change Detection Tool
================================
โ
Gophex-generated project detected
๐
Generated: 2025-01-02T15:04:05Z
๐๏ธ Type: api
๐๏ธ Database: postgresql
โ ๏ธ Found 3 manual commits since generation
โ ๏ธ Found 2 files modified since generation:
๐ internal/api/handlers/users.go
๐ internal/database/migrations/003_custom.sql
โ ๏ธ Found custom code markers:
๐ท๏ธ // CUSTOM: (5 matches)
๐ท๏ธ // TODO: (2 matches)
๐ Change Detection Summary
โ ๏ธ MANUAL CHANGES DETECTED
This project has been manually modified since generation.
Please review changes carefully before applying updates.
Safe Update Protocol
When updating generated projects:
- Change Detection: Automatically detects manual modifications
- Step-by-Step Updates: Breaks large changes into confirmable steps
- Backup & Rollback: Creates backups before making changes
- User Confirmation: Never overwrites custom code without permission
๐ฆ Template System
Gophex uses Go's embedded filesystem for templates:
- Embedded Templates: All templates are embedded in the binary
- Database-Aware: Templates adapt based on database configuration
- No External Dependencies: Single binary distribution
- Fast Generation: Templates loaded from memory
- Version Controlled: Templates are part of the codebase
- Easy Maintenance: Each template is a separate file
- Custom Environment Generation: Creates
.envfiles with actual values
๐ค Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Adding New Templates
- Create template files in
internal/templates/{type}/ - Use
.tmplextension for template files - Available template variables:
{{.ProjectName}}- Project name{{.ModuleName}}- Go module name{{.DatabaseConfig.Type}}- Database type (postgresql, mysql, mongodb){{.DatabaseConfig.ConfigType}}- Configuration type (single, read-write, cluster){{.DatabaseConfig.Host}}- Database host{{.DatabaseConfig.Username}}- Database username{{.DatabaseConfig.Password}}- Database password{{.GeneratedAt}}- Generation timestamp
- Templates are automatically discovered by the embedded filesystem
- Use conditional logic for database-specific code:
{{if eq .DatabaseConfig.Type "postgresql"}} // PostgreSQL-specific code {{else if eq .DatabaseConfig.Type "mongodb"}} // MongoDB-specific code {{end}}
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Inspired by modern Go project layouts
- Built with Go's powerful standard library
- Uses industry-standard packages and patterns
- Follows clean architecture principles
๐ฏ Key Features Summary
๐ Cross-Platform Excellence
- Windows, macOS, Linux: Full feature parity across all platforms
- Platform-Specific Scripts: Generates
.batfor Windows,.shfor Unix - Smart Tool Management: Auto-installs golang-migrate and other required tools
- Native Integration: Uses platform-specific file managers and commands
๐ Workflow Automation
- Post-Generation Menu: Continue working without exiting the application
- Project Loading: Load and continue working on existing Gophex projects
- Quick Start: One-click setup from generation to running application
- Development Workflow: Automated dependency installation, database setup, testing
- Multi-Project Sessions: Generate and manage multiple projects efficiently
๐๏ธ Universal Database Support
- 3 Database Types: PostgreSQL, MySQL, MongoDB
- 3 Configuration Types: Single instance, read-write split, cluster
- Automatic Setup: Custom environment files with real credentials
- Migration Management: Database-specific scripts with auto-tool installation
๐ Smart Project Management
- Dynamic Metadata: Comprehensive
gophex.mdfiles with project hierarchy and activity tracking - Activity Intelligence: "Re-" prefix system for repeated actions
- Manual Project Loading: Load projects by specifying directory path
- Project Continuity: Resume work on any project from anywhere
- Secure Tracking: Metadata without sensitive credentials
๐ก๏ธ Intelligent Change Management
- Change Detection: Automatically detects manual modifications via Git and file analysis
- Safe Updates: Step-by-step confirmation process with rollback capabilities
- Code Protection: Never overwrites custom business logic without explicit permission
- User Control: Respects user decisions and preserves customizations
๐๏ธ Production-Ready Architecture
- Clean Architecture: Domain-driven design with proper separation of concerns
- Security First: JWT auth, CORS, rate limiting, input validation, secure password hashing
- Performance Optimized: Connection pooling, caching, optimized middleware
- Observability: Structured logging, health checks, error tracking
- DevOps Ready: Migration scripts, environment management, testing structure
๐ Support
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ง Email: Contact Us
- ๐ Documentation: Check generated
README.mdin your projects
๐ Version History
v1.1.0 (Latest) - Smart Project Management & Metadata
- โ Project Loading - Load and continue working on existing Gophex projects by path
- โ
Smart Metadata System - Dynamic
gophex.mdfiles with project hierarchy and activity tracking - โ Activity Awareness - "Re-" prefix system for repeated actions
- โ Smart Validation - Checks for gophex.md file existence with helpful feedback
- โ Secure Metadata - Tracks configuration without storing sensitive credentials
- โ Project Continuity - Resume work from any directory on any project
- โ Time-Aware Display - Shows when projects were last updated
- โ Enhanced Developer Experience - Seamless workflow between project generation and management
v1.0.0 - Complete Development Workflow
- โ Cross-Platform Support - Windows, macOS, Linux with full feature parity
- โ Post-Generation Workflow - Interactive menu system for continued development
- โ Automated Tool Installation - Auto-installs golang-migrate and other required tools
- โ Universal Database Support - PostgreSQL, MySQL, MongoDB with all configuration types
- โ Interactive Database Configuration - Step-by-step database setup with real credentials
- โ
Custom Environment Generation - Automatic
.envfiles with actual values - โ Platform-Specific Scripts - Windows batch files and Unix shell scripts
- โ Change Detection & Safety - Intelligent detection of manual modifications
- โ Development Automation - One-click setup from generation to running application
- โ Clean Architecture - Domain-driven design with repository pattern
- โ Production-Ready Security - JWT auth, CORS, rate limiting, input validation
๐ What's New in v1.1.0
- Project Loading: Load existing Gophex projects by specifying directory path
- Smart Metadata: Dynamic project metadata with complete hierarchy tracking and activity monitoring
- Activity Intelligence: "Re-" prefix system shows what's been done before and can be repeated
- Smart Validation: Checks for gophex.md file existence with helpful error messages and fallback options
- Enhanced Continuity: Seamless workflow between creating new projects and managing existing ones
- Secure Tracking: Comprehensive metadata without storing sensitive information like passwords
๐ Why Choose Gophex?
๐ฏ For Beginners
- MCQ Interface: No command-line arguments to learn - just select from menus
- Guided Setup: Interactive prompts guide you through every step
- Auto-Installation: Installs required tools automatically
- Learning Aid: Generated code follows Go best practices
- Documentation: Comprehensive README and migration guides
๐ For Professionals
- Production Ready: Security, performance, and observability built-in
- Time Saving: From idea to running API in minutes
- Customizable: Respects and preserves your custom modifications
- Scalable: Clean architecture supports growth and team development
๐ข For Teams
- Consistent Structure: Standardized project layout across team
- Change Detection: Track modifications and maintain code quality
- Cross-Platform: Works on every developer's machine
- Documentation: Auto-generated docs for easy onboarding
Made with โค๏ธ for the Go community
Gophex - Generate. Load. Configure. Deploy. Scale.
๐ Works everywhere Go works - Windows, macOS, Linux ๐ Load any Gophex project from anywhere
Documentation
ยถ
There is no documentation for this package.