{"id":31733329,"url":"https://github.com/quingkhaos/factorio-mocks-modpacks","last_synced_at":"2026-08-13T11:32:11.356Z","repository":{"id":316489966,"uuid":"1063143864","full_name":"QuingKhaos/factorio-mocks-modpacks","owner":"QuingKhaos","description":"Curated modpack configurations and automation for comprehensive Factorio mod testing scenarios","archived":false,"fork":false,"pushed_at":"2025-09-25T14:21:55.000Z","size":71,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-09T08:24:16.898Z","etag":null,"topics":["factorio","factorio-mod","game-development","lua","mocking","testing","testing-framework"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QuingKhaos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-24T08:18:34.000Z","updated_at":"2025-09-25T14:21:57.000Z","dependencies_parsed_at":"2025-09-24T23:34:23.759Z","dependency_job_id":"d1d8a96e-b806-4fb6-ad12-6299a1b4c98c","html_url":"https://github.com/QuingKhaos/factorio-mocks-modpacks","commit_stats":null,"previous_names":["quingkhaos/factorio-mocks-modpacks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/QuingKhaos/factorio-mocks-modpacks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuingKhaos%2Ffactorio-mocks-modpacks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuingKhaos%2Ffactorio-mocks-modpacks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuingKhaos%2Ffactorio-mocks-modpacks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuingKhaos%2Ffactorio-mocks-modpacks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QuingKhaos","download_url":"https://codeload.github.com/QuingKhaos/factorio-mocks-modpacks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuingKhaos%2Ffactorio-mocks-modpacks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36606511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-13T02:00:06.325Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["factorio","factorio-mod","game-development","lua","mocking","testing","testing-framework"],"created_at":"2025-10-09T08:24:08.199Z","updated_at":"2026-08-13T11:32:11.341Z","avatar_url":"https://github.com/QuingKhaos.png","language":null,"funding_links":["https://ko-fi.com/quingkhaos"],"categories":[],"sub_categories":[],"readme":"[![GitHub build status: Quality Assurance](https://img.shields.io/github/actions/workflow/status/QuingKhaos/factorio-mocks-modpacks/qa.yml?branch=main\u0026label=QA\u0026style=for-the-badge)](https://github.com/QuingKhaos/factorio-mocks-modpacks/actions?query=workflow%3A%22Quality+Assurance%22)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/QuingKhaos/factorio-mocks-modpacks?label=Pull%20Requests\u0026style=for-the-badge)](https://github.com/QuingKhaos/factorio-mocks-modpacks/pulls)\n[![Ko-fi](https://img.shields.io/badge/Ko--fi-support%20me-hotpink?logo=kofi\u0026logoColor=white\u0026style=for-the-badge)](https://ko-fi.com/quingkhaos)\n\n# Factorio Mocks Modpacks - Curated Mod Configurations\n\n## Overview\n\nCurated collection of Factorio modpack configurations designed for comprehensive mock data generation and testing\nscenarios.\n\nPart of the [Factorio Mocks Ecosystem](https://github.com/QuingKhaos/factorio-mocks) - a five-repository system\nproviding complete testing infrastructure for Factorio mod development.\n\n## 🎯 Purpose\n\nThe `factorio-mocks-modpacks` repository maintains carefully curated modpack configurations representing common\nmodpacks played in the Factorio community. These configurations drive automated mock data generation using the\n[factorio-mocks-generator](https://github.com/QuingKhaos/factorio-mocks-generator) to produce comprehensive mock data\nfor robust mod testing across diverse environments.\n\n**Key Benefits:**\n\n- **Community Alignment**: Focus on modpacks actually played by the Factorio community\n- **Automated Data Generation**: CI/CD workflows automatically generate mock data using latest mod versions\n- **ORAS Distribution**: Container-based artifact distribution for efficient data consumption\n- **Zero Maintenance**: Latest mod versions eliminate manual version management overhead\n\n## 🏗️ Architecture\n\n### Modpack Organization\n\n```text\nmodpacks/\n├── vanilla/\n│   ├── modpack.json\n├── spaceage/\n│   ├── modpack.json\n├── krastorio2/\n│   ├── modpack.json\n│   └── mod-settings.dat\n├── pyanodons/\n└── [other-modpacks]/\n```\n\n### Configuration Structure\n\nEach modpack configuration includes:\n\n- **`modpack.json`**: Custom modpack definition with metadata and dependencies for mod manager resolution\n- **`mod-settings.dat`**: Binary mod settings (when non-default settings are needed)\n\n**Latest Mod Versions Strategy**: Only Factorio version is pinned to latest stable version. All mods use latest available\nversions from the Mod Portal, eliminating maintenance overhead while ensuring current test data.\n\n### `modpack.json` Format\n\nThe `modpack.json` format follows Factorio's `info.json` structure but serves as a dependency specification rather than a\ncomplete mod definition:\n\n```json\n{\n  \"name\": \"pyanodons-full\",\n  \"title\": \"Full Pyanodons\",\n  \"description\": \"Full pyanodons with additional quality of life mods\",\n  \"dependencies\": [\n    \"base \u003e= 2.0.66\",\n    \"cranes_pyanodon \u003e= 2.0.0\",\n    \"pyalienlife \u003e= 3.0.58\",\n    \"pyalternativeenergy \u003e= 3.1.34\",\n    \"pycoalprocessing \u003e= 3.0.28\",\n    \"pyfusionenergy \u003e= 3.0.16\",\n    \"pyhightech \u003e= 3.0.17\",\n    \"pyindustry \u003e= 3.0.19\",\n    \"pypetroleumhandling \u003e= 3.0.21\",\n    \"pypostprocessing \u003e= 3.0.39\",\n    \"pyrawores \u003e= 3.0.24\"\n  ]\n}\n```\n\n## 🚀 Current Status\n\n**Phase**: Early Development - Planning and Architecture Complete\n\n**Implementation Status:**\n\n- ✅ **Foundation Setup** - Repository infrastructure and documentation\n- ⏳ **Vanilla Configurations** - Base Factorio version setups\n- ⏳ **Popular Mod Collections** - Common single-mod and small-set configurations\n- ⏳ **Comprehensive Modpacks** - Full-scale modpack configurations\n- ⏳ **Community Modpacks** - Additional popular modpack configurations\n- ⏳ **Automated Build Workflows** - CI/CD pipelines for artifact generation\n\n## 🎮 How It Works\n\n### Mock Data Generation Workflow\n\nFollowing the ecosystem's data flow architecture, modpack configurations drive the complete mock data generation process:\n\n1. **Modpack Preparation**: Resolve latest compatible mod versions and create ORAS artifacts\n2. **Environment Setup**: GitHub Actions pulls modpack artifacts and sets up extraction environment\n3. **Data Extraction**: `factorio-mocks-generator` runs in headless Factorio instance with the modpack\n4. **Data Processing**: Extract, validate, and format all exportable globals and localization\n5. **Dual Distribution**: Update `factorio-mocks-data` Git repository AND create ORAS artifacts with dual tagging\n6. **Artifact Linking**: Use `oras attach` to link mock data artifacts to their source modpack digest\n7. **Consumption**: `factorio-mocks-loader` fetches and caches data for consumer projects\n\n### ORAS Artifact Structure\n\n```bash\n# Modpack artifact\nghcr.io/quingkhaos/factorio-mocks-modpacks/vanilla:2.0.66\n\n# Generated mock data artifact (linked via oras attach)\nghcr.io/quingkhaos/factorio-mocks-data/vanilla:2.0.66-2024.12.15\n```\n\n### Automated Update Cycle\n\n- **Daily Builds**: Automated GitHub Actions resolve latest mod versions and regenerate artifacts\n- **Version Capture**: Each artifact snapshot contains exact mod versions used at build time\n- **Dependency Resolution**: Always fetch latest versions that satisfy dependency constraints\n\n### Latest Versions Strategy\n\n- **Factorio Version**: Pinned to specific stable release (e.g. 2.0.66)\n- **Mod Versions**: Always use latest available versions from Mod Portal\n- **Automated Updates**: Daily builds capture mod ecosystem evolution automatically\n- **Build Immutability**: Each artifact captures exact versions used at build time\n\n## 🔧 Development Setup\n\n### Prerequisites\n\n- **Git** and **GitHub CLI** for repository management\n- **Lua** development environment for mod manager scripts\n\n### Quick Start\n\nFor detailed development setup, see the [Contributing Guide](CONTRIBUTING.md#development-environment-setup).\n\n**Basic Setup**:\n\n1. Clone the repository\n2. Review existing modpack configurations\n\n### Automated Build Process\n\n- **CI/CD Workflows**: Automated build processing for all modpack configurations\n- **ORAS Artifact Generation**: Automated artifact creation and distribution\n\n## 📚 Documentation\n\n### For Contributors\n\n- **[Contributing Guide](CONTRIBUTING.md)** - How to contribute modpack configurations\n- **[Code of Conduct](CODE_OF_CONDUCT.md)** - Community standards and expectations\n- **[Security Policy](SECURITY.md)** - Reporting security issues\n\n### For Ecosystem\n\n- **[Main Documentation](https://github.com/QuingKhaos/factorio-mocks)** - Full ecosystem overview\n- **[Architecture Decisions](https://github.com/QuingKhaos/factorio-mocks/tree/main/planning/decisions)** - Technical\n  decision records\n- **[Implementation Roadmap](https://github.com/QuingKhaos/factorio-mocks/blob/main/planning/implementation-roadmap.md)**\n  - Development phases\n\n## 🤝 Contributing\n\nWe welcome contributions from Factorio modpack creators, mod developers, and the broader community! Your modpack\nconfigurations help ensure comprehensive testing coverage for the entire ecosystem.\n\n### Ways to Contribute\n\n- **Modpack Configurations**: Add new documented modpack setups\n- **Build Process Enhancement**: Improve automated build workflows and artifact generation\n- **Documentation**: Improve configuration guides and usage notes\n- **Community Feedback**: Share experiences with different modpack combinations\n\n### Getting Started\n\n1. Read the [Contributing Guide](CONTRIBUTING.md)\n2. Check [open issues](https://github.com/QuingKhaos/factorio-mocks/issues?q=is%3Aopen+label%3A%22ecosystem%3A+modpacks%22)\n   for modpack-specific tasks\n3. Look for [`good-first-issue`](https://github.com/QuingKhaos/factorio-mocks/issues?q=is%3Aopen+label%3A%22good-first-issue%22+label%3A%22ecosystem%3A+modpacks%22)\n   labels for beginner-friendly tasks\n\n**Note**: Issues are tracked centrally in the [main repository](https://github.com/QuingKhaos/factorio-mocks/issues)\nwith `ecosystem: modpacks` labels.\n\n## 📄 License\n\nThis project is licensed under the GNU General Public License v3.0 (GPLv3). See [LICENSE](LICENSE) for details.\n\n**Why GPLv3?** This license ensures that the project's tooling remain open source while maintaining strong copyleft\nprotections for the community.\n\n## 🔗 Ecosystem Links\n\n- **[factorio-mocks](https://github.com/QuingKhaos/factorio-mocks)** - Central hub and main documentation\n- **[factorio-mocks-generator](https://github.com/QuingKhaos/factorio-mocks-generator)** - Data extraction engine\n- **[factorio-mocks-data](https://github.com/QuingKhaos/factorio-mocks-data)** - Generated mock data artifacts\n- **[factorio-mocks-loader](https://github.com/QuingKhaos/factorio-mocks-loader)** - Runtime library for consuming\n  mock data\n\n## 💖 Support\n\nIf this project helps your Factorio mod development, consider supporting its development:\n\n[![Ko-fi](https://img.shields.io/badge/Ko--fi-support%20this%20project-hotpink?logo=kofi\u0026logoColor=white\u0026style=for-the-badge)](https://ko-fi.com/quingkhaos)\n\n---\n\n**Status**: 🚧 Early Development Phase - Infrastructure setup and planning complete, configuration creation beginning.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquingkhaos%2Ffactorio-mocks-modpacks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquingkhaos%2Ffactorio-mocks-modpacks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquingkhaos%2Ffactorio-mocks-modpacks/lists"}