Go to file
Moritz Hölting 84c348782a change to dual license and final fixes for release 2024-09-30 17:01:06 +02:00
assets Include namespace when using init command 2024-04-06 21:48:41 +02:00
src change to dual license and final fixes for release 2024-09-30 17:01:06 +02:00
.gitignore Add init command 2024-03-27 13:58:09 +01:00
CHANGELOG.md merge build and package command 2024-06-12 22:43:57 +02:00
CODE_OF_CONDUCT.md change to dual license and final fixes for release 2024-09-30 17:01:06 +02:00
CONTRIBUTING.md change to dual license and final fixes for release 2024-09-30 17:01:06 +02:00
Cargo.lock change to dual license and final fixes for release 2024-09-30 17:01:06 +02:00
Cargo.toml change to dual license and final fixes for release 2024-09-30 17:01:06 +02:00
LICENSE-APACHE change to dual license and final fixes for release 2024-09-30 17:01:06 +02:00
LICENSE-MIT change to dual license and final fixes for release 2024-09-30 17:01:06 +02:00
README.md fix incorrect pack version and setup human panic 2024-06-24 21:55:06 +02:00

README.md

Shulkerscript cli tool

This is a cli tool for the shulkerscript language. It can be used to initialize a new project, and to compile and package a project.

Installation

cargo install --git https://github.com/moritz-hoelting/shulkerscript-cli.git

Usage

Initialize a new project

shulkerscript init [OPTIONS] [PATH]

Where [PATH] is the path of the folder to initialize in [default: .]

Options:

  • --name <NAME> The name of the project
  • --description <DESCRIPTION> The description of the project
  • --pack-format <FORMAT> The pack format version
  • --icon <PATH> The path to the icon file, leave empty for default icon
  • --force Force initialization even if the directory is not empty
  • --batch Do not prompt for input, use default values instead if possible or fail

Build a project

shulkerscript build [OPTIONS] [PATH]

Where [PATH] is the path of the project folder to build [default: .]

Options:

  • --assets <ASSETS> The path to the assets directory [default: ./assets]
  • --output <OUTPUT> The output directory, overrides the DATAPACK_DIR environment variable
  • --no-validate Do not validate the output to be compatible with the pack format
  • --zip Package the output into a zip file

Environment variables:

  • DATAPACK_DIR The output directory [default: ./dist]

Clean the output directory

shulkerscript clean [OPTIONS] [PATH]

Where [PATH] is the path of the project folder to clean [default: .]

Options:

  • --output <OUTPUT> The output directory, overrides the DATAPACK_DIR environment variable
  • --all Clean all files in the output directory, not only the ones generated by shulkerscript
  • --force Required for --all to prevent accidental deletion of files

Environment variables:

  • DATAPACK_DIR The output directory [default: ./dist]

Watch for changes

shulkerscript watch [OPTIONS] [PATH]

Where [PATH] is the path of the project folder to watch [default: .]

Options:

  • --no-initial Do not run the command initially
  • --debounce-time <TIME_IN_MS> The time to wait in ms after the last change before running the command [default: 2000]
  • --watch <PATH> The directories to watch for changes [multi-arg, default: src, pack.toml, pack.png, assets directory]
  • --execute <COMMAND> The commands (cli subcommands or shell commands) to execute in the project when changes have been detected [multi-arg, default: build]

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Note that this repository only contains the cli tool for interfacing with the language. The language itself is located in the shulkerscript-lang repository. Please indicate if pull requests for this repository require pull requests for the language repository