agama/rust/xtask/README.md
2024-11-11 15:27:18 +00:00

1 KiB

Agama project tasks

This package implements a set of project tasks following the xtask pattern. This pattern allows writing the typical maintenance tasks using Rust code.

Defined tasks

  • completions: generates shell completion snippets for Bash, Fish and Zsh.
  • manpages: generates manpages for the command-line interface.
  • markdown: generates a manual page for the command-line interface in Markdown format. Useful to be included in our website.
  • openapi: generates the OpenAPI specification for the HTTP API.

Running a task

To run a task, just type cargo xtask TASK where TASK is the name of the task (check the Defined tasks section).

cargo xtask manpages

Most of the artifacts are generated in an out directory. You can modify the target by setting the OUT_DIR environment variable.

Writing a new task

Tasks are defined using regular Rust code. Check the main.rs file for further information.