74 lines
3.1 KiB
Markdown
74 lines
3.1 KiB
Markdown
# 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
|
|
```bash
|
|
cargo install --git https://github.com/moritz-hoelting/shulkerscript-cli.git
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Initialize a new project
|
|
```bash
|
|
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
|
|
```bash
|
|
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
|
|
```bash
|
|
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
|
|
```bash
|
|
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](https://github.com/moritz-hoelting/shulkerscript-lang) repository. Please indicate if pull requests for this repository require pull requests for the language repository** |