shulkerscript-cli/README.md

2.8 KiB

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
  • --force Force initialization even if the directory is not empty

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