Skip to content

Latest commit

 

History

History
154 lines (137 loc) · 4.68 KB

File metadata and controls

154 lines (137 loc) · 4.68 KB

factctl Project Worklog

Project Overview

factctl is a runtime orchestrator for Factorio game instances, managing mods, runtimes, and server configurations.

Current Status

  • 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)

First Pass Status: ✅ COMPLETE

The first pass implementation is now complete with all core functionality working:

✅ Completed Features

  • 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

🎯 Ready for Use

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

Priority Tasks

1. Instance Management System

  • Define instance configuration structure
    • Create configuration schema
    • Add validation logic
    • Write configuration tests
  • Implement instance creation (up command)
    • Directory structure creation
    • Configuration file generation
    • Mod directory setup
    • Save game management
  • Implement instance removal (down command)
    • Safe cleanup procedures
    • Backup handling
    • Backup restoration
  • Implement instance launching (run command)
    • 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

2. Mod Management System

  • 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

3. Runtime Management System

  • 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

4. CLI Implementation

  • 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

5. Documentation

  • 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

In Progress

  1. Mod Management System
    • Implementing mod installation
    • Dependency resolution
    • Version constraint handling
    • Mod configuration management

Completed Tasks

  1. Source Resolution System

    • Multiple source type support (portal, GitHub, Git, etc.)
    • Source parsing and validation
    • Integration tests
    • Multi-mod repository support
  2. Authentication System

    • Credential management
    • Secure storage
    • Unit tests
  3. JSONC Parser

    • Comment stripping
    • JSON validation
    • Unit tests

Notes

  • 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