Cli tool similar to npm but for Godot projects
gdcli
is a command-line interface tool for starting and managing Godot projects more efficiently. It simplifies the process of managing different Godot versions and setting up project structures.
For people experimenting with multiple Godot projects, managing Godot versions and starting repositories with the correct file structure can be cumbersome. gdcli
addresses these issues with simple commands.
- Initialize Projects: With
gdcli init
, the tool prompts you with questions and creates a Godot project with a ready-to-use folder structure. - Manage Godot Versions: After cloning a project from a repository, you no longer need to manually find the correct Godot version. Simply use:
gdcli install
gdcli open
- Download the latest release from the Releases page.
- Place the downloaded file in a directory of your choice.
- Add the directory to your PATH environment variable.
An installer will be provided in future updates to automate the PATH addition.
To build the gdcli
tool from source, run the following command:
go build -o bin/gdcli.exe main.go
This will compile the code and generate the gdcli.exe
executable in the bin
directory.
To create a new release, follow these steps:
-
Create a new version tag in the repository:
git tag -a vX.Y.Z -m "Release vX.Y.Z" git push origin vX.Y.Z
Replace
X.Y.Z
with the new version number. -
Trigger a release workflow manually (if needed) from GitHub Actions:
- Go to the Actions tab.
- Select Release Workflow.
- Click Run Workflow and provide a tag version (e.g.,
vX.Y.Z
).
- Add build script
- Add custom scripts similar to npm options for Node.js
- Add support for global extensions, allowing extensions to be installed globally for use in every project
- Support more versions and variants, hopefully dynamic versions
- For now, just Godot 4.3 and 4.3 Mono
- Support for Linux
- In the future, the objective is to support all versions dynamically
- Support templates for starting projects
- example: menu, platformer, 2d, 3d, etc.
- Add support for custom Godot versions
- example: custom Godot Steam version
We aim to turn gdcli
into a useful tool for Godot developers. Contributions are welcome!
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes.
- Open a pull request with a detailed description of your changes.