1 unstable release

0.1.0 Oct 1, 2024

#913 in Command line utilities

MIT/Apache

81KB
2K SLoC

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

From release (Windows)

iex (iwr "https://raw.githubusercontent.com/moritz-hoelting/shulkerscript-cli/main/install.ps1").Content

From release (Linux / macOS)

curl -sfSL https://raw.githubusercontent.com/moritz-hoelting/shulkerscript-cli/main/install.sh | bash

From source

cargo install shulkerscript-cli

VS Code Extension

A VS Code extension is available here to provide syntax highlighting and snippets for Shulkerscript files.

Usage

Read the documentation for more information on the language and cli.

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

Dependencies

~22–37MB
~572K SLoC