factctl is a runtime orchestrator for Factorio game instances, managing mods, runtimes, and server configurations.
- Source Resolution System (Complete)
- Authentication System (Complete)
- JSONC Parser (Complete)
- Instance Management System (Complete)
- Mod Management System (Complete)
- Runtime Management System (Complete)
- CLI Implementation (Complete)
- Documentation (Complete)
The first pass implementation is now complete with all core functionality working:
- CLI Implementation: Full command-line interface with all commands
- Instance Management: Create, update, remove instances with validation
- Mod Management: Download and install mods from multiple sources
- Runtime Management: Factorio version management and execution
- Log Management: Real-time log streaming and historical access
- Error Handling: Comprehensive error messages and user guidance
- Progress Reporting: Visual progress indicators for operations
- Documentation: Complete README, quick start guide, and examples
The tool is now functional for basic Factorio instance management. Users can:
- Create and manage Factorio instances
- Install mods from Portal, GitHub, and Git sources
- Run instances with proper configuration
- Monitor logs in real-time
- Handle errors gracefully with helpful messages
- Define instance configuration structure
- Create configuration schema
- Add validation logic
- Write configuration tests
- Implement instance creation (
upcommand)- Directory structure creation
- Configuration file generation
- Mod directory setup
- Save game management
- Implement instance removal (
downcommand)- Safe cleanup procedures
- Backup handling
- Backup restoration
- Implement instance launching (
runcommand)- Runtime environment setup
- Command-line argument handling
- Process management
- Graceful shutdown handling
- Add log streaming functionality
- Log file handling
- Real-time streaming
- Log rotation support
- Log parsing and filtering
- Historical log access
- Design dependency resolution system
- Version constraint parsing
- Dependency graph building
- Version compatibility checking
- Implement mod installation workflow
- Download management
- Installation verification
- Dependency handling
- Add mod configuration handling
- Mod list management
- Enable/disable functionality
- Mod info extraction
- Add Factorio version management
- Version listing
- Download handling
- Installation verification
- Implement runtime environment setup
- Directory structure
- Environment variables
- Resource management
- Add save game management
- Save file handling
- Backup system
- Restore functionality
- Complete command handlers
- Argument parsing
- Validation
- Help text
- Add progress reporting
- Download progress
- Installation status
- Operation completion
- Implement error handling
- User-friendly messages
- Debug logging
- Recovery procedures
- Write comprehensive README
- Installation instructions
- Basic usage guide
- Configuration examples
- Add API documentation
- Source resolution
- Authentication
- Instance management
- Create user guides
- Getting started
- Advanced usage
- Troubleshooting
- Add configuration examples
- Basic setups
- Advanced scenarios
- Multi-mod configurations
- Mod Management System
- Implementing mod installation
- Dependency resolution
- Version constraint handling
- Mod configuration management
-
Source Resolution System
- Multiple source type support (portal, GitHub, Git, etc.)
- Source parsing and validation
- Integration tests
- Multi-mod repository support
-
Authentication System
- Credential management
- Secure storage
- Unit tests
-
JSONC Parser
- Comment stripping
- JSON validation
- Unit tests
- Project is using Go 1.24.5
- Licensed under Apache License 2.0
- Currently focused on command-line interface
- Planning to add server management features in future