Skip to content
This repository has been archived by the owner on Nov 5, 2023. It is now read-only.

🌟 Utilities for games project management

License

Notifications You must be signed in to change notification settings

MechanicalFlower/magic_combo

Repository files navigation

🌟 magic_combo

Python Version license standard-readme compliant

PyPI - Package Version

linting - Ruff format - black types - mypy

A collection of Python utilities for seamless management of my personal games project in Godot Engine.

About

This project is used to develop, contribute and manage my game projects, but it's also completely optional.

Develop, contribute and manage

The package is split into 3 parts:

  • tasks, that is a wrapper around the Godot binary. It's allow to automatically download the version of Godot used by your game...
  • playbooks, that is a suite of tasks. It's useful to build your game from scratch, like in CI.
  • scripts, that is more random stuff, like generate credits from a dep5 file, or bump your game version in the Godot export preset file.

And the second goal of this package is to pin dependencies use in my .pre-commit-config.yml files.

Optional

I attach importance to being able to do things without extra tools, so my personal game projects used this package to simplify some tasks, but if you know how to use Godot you can do anything with Godot.

This project was born to localize my scripts in one place rather than having them duplicated in each project.

Install

This project uses python and pip. Go check them out if you don't have them locally installed.

$ pip install magic_combo

Usage

To list all sucommands, run:

$ magic_combo --list
Subcommands:

  playbook.build                    Build godot game for Linux.
  playbook.clean                    Clean combo, godot and plug caches.
  playbook.export                   Release export for any platform.
  playbook.run                      Build and run godot game for Linux.
  script.add-config-to-github-env   Add 'godot_version' and 'game_version'
                                    to Github env.
  script.bump-version               Updates the game version for export.
  script.generate-credits           Generate a CREDITS.md file.
  script.new                        Create a new godot game project, based
                                    on MechanicalFlower/godot-template.
  task.clean-combo
  task.clean-godot
  task.clean-plug
  task.editor
  task.export-release-linux
  task.export-release-mac
  task.export-release-windows
  task.godot
  task.import-resources
  task.install-addons
  task.install-godot
  task.install-templates
  task.makedirs
  task.run-release

And to run any subcommands, run:

$ magic_combo <sucommand>