nself cli v0.3.1
🚀 NSelf v0.3.1: Enhanced Configuration Validation & Professional Output
🎉 What's New
This release dramatically improves NSelf's robustness with comprehensive configuration validation, automatic error fixing, and professional output formatting. Based on extensive testing feedback, v0.3.1 addresses 22+ common configuration issues that users encounter.
🔧 Enhanced Configuration Validation System
- 25+ validation checks for .env files covering all common mistakes
- Empty file detection with automatic minimal config creation
- Port validation ensuring valid ranges (1-65535) and conflict detection
- Quote handling detecting and fixing mismatched quotes automatically
- Password security with special character escaping and strength validation
- Duplicate detection identifying and removing conflicting variables
- Whitespace cleanup removing problematic leading/trailing spaces
🤖 Smart Auto-Fix System
- 25+ automated fixes for common configuration errors
- Safe backups created before any modifications
- Progress indicators showing fix application in real-time
- Port conflict resolution suggesting alternative available ports
- Docker compatibility ensuring naming conventions are followed
- Memory format validation checking specifications like 512M, 2G
✨ Professional Output Formatting
- Perfect text alignment in all boxed messages and banners
- Consistent spacing with properly aligned borders throughout
- Unicode box characters for clean, professional appearance
- Color-coded status indicators for errors, warnings, and success
- Centered welcome screens suitable for screenshots and presentations
📁 Environment File Priority
- Strict hierarchy: .env > .env.local > .env.dev (no merging)
- Complete isolation - higher priority files override lower ones entirely
- Smart defaults applied after loading the chosen configuration file
- Clear documentation explaining the priority system
🛠️ Advanced Validation Features
- IP address validation for host configurations
- Timezone format checking ensuring valid timezone strings
- SSL configuration validation verifying cert/key file paths exist
- Service list validation with proper comma and naming format
- Boolean normalization handling yes/no, true/false, 1/0 variants
- JWT key validation ensuring minimum 32-character security
🔄 System Improvements
- GitHub release-only updates ensuring users get stable versions only
- Enhanced error messages with actionable solutions
- Cross-platform compatibility improved for macOS, Linux, and WSL
- Template formatting updated across all .env files
🐛 Major Issues Fixed
✅ Empty .env.local files causing build failures✅ Invalid port numbers (>65535, negative) crashing services✅ Special characters in passwords breaking shell parsing✅ Quote
mismatches preventing configuration loading✅ Duplicate variables causing undefined behavior✅ Inline comments interfering with value parsing✅ Docker naming violations preventing
containers✅ Project names with spaces breaking networks✅ Weak passwords compromising security✅ Environment priority confusion with multiple files
📋 What's Included
- config-validator-v2.sh: Enhanced validation engine with 30+ functions
- auto-fixer-v2.sh: Comprehensive auto-fix system
- Professional templates: All .env files updated with perfect formatting
- Documentation: New environment configuration guide
- Test suite: 30+ validation scenarios covered
🚀 Quick Start
New Installation:
curl -fsSL https://raw.githubusercontent.com/acamarata/nself/main/install.sh | bash
Update Existing:
nself update
Initialize Project:
mkdir my-project && cd my-project
nself init # Creates .env.local with validation
nself build # Auto-fixes any issues found
nself up # Starts your backend
🎯 Impact
This release makes NSelf significantly more user-friendly and production-ready. The enhanced validation system catches configuration mistakes before they cause problems, while the
auto-fix system resolves them automatically. The professional output formatting ensures NSelf looks great in screenshots, documentation, and presentations.
Perfect for: Teams wanting robust configuration management, developers tired of debugging environment issues, and anyone who values professional-quality CLI tools.
📖 Resources