#task #automation #toml #build #task-runner #makefile #build-tool

build ruke

一个极其简单的自动化工具。受 Makefile 和 Justfile 启发。

4 个版本

0.1.10 2024 年 5 月 18 日
0.1.9 2024 年 5 月 18 日
0.1.4 2024 年 4 月 26 日

#173命令行实用工具

Download history 387/week @ 2024-04-16 159/week @ 2024-04-23 415/week @ 2024-04-30 120/week @ 2024-05-07 341/week @ 2024-05-14 41/week @ 2024-05-21 11/week @ 2024-05-28 54/week @ 2024-07-02 92/week @ 2024-07-30

每月 92 次下载

MIT 许可证

25KB
509

Ruke

GitHub top language Crates.io Version GitHub's license GitHub last commit (branch)

一个极其简单的自动化工具。受 Makefile 和 Justfile 启发。

[!TIP] 查找 Dockerfile/docker-compose.yml 生成器? gorvus 正在等待您!

🔑 关键特性

  • 精美的界面:良好的体验、清晰的说明和彩色文本。
  • 闪电般速度:用 Rust 编写,运行时感觉像火箭。
  • 易于配置:与其他命令行运行器不同,Ruke 使用 TOML,因此您不需要学习新的语言。

🛠 使用方法

先决条件:Rust 和 Cargo。

安装

cargo install ruke

入门指南

首先,您需要在 Ruke.toml 文件中定义您的任务。

希望 Ruke 能帮到您,只需运行

ruke init

当您的 Ruke.toml 准备就绪后,现在您需要运行一个特定的任务。

运行任务的语法是 ruke [目标] 其中目标是要执行的任务。尝试这个

ruke

注意:目标任务 "main" 是默认的,因此如果您运行 ruke,则与运行 ruke main 相同。

掌握 CLI

可用命令
  • ruke init - 在其中创建任务的 Ruke.toml 文件
  • ruke list - 列出现有任务
  • ruke new - 创建新任务(交互式模式)
  • ruke add - 向现有任务添加命令(交互式模式)
  • ruke remove - 删除现有任务(交互式模式)
  • ruke [目标] - 运行特定任务
别名
  • ruke initruke i
  • ruke listruke ls
  • ruke newruke n
  • ruke addruke a
  • ruke removeruke rm
参数和标志
命令 标志
ruke init 没有标志
ruke list -m --minimal-f --file <FILE>
ruke new -n --name <NAME>-f --file <FILE>
ruke add -n --name <NAME>-c --command <COMMAND>-f --file <FILE>
ruke remove -n --name <NAME>-f --file <FILE>
ruke[目标] -q --quiet-f --file <FILE>

如果您运行ruke --help,您将看到有用的指南,并且如果您需要特定命令的帮助,请尝试ruke help [command]

示例

ruke list --minimal将输出比ruke list更少的信息(仅任务名称)。

ruke new -n "task-name"将创建一个名为"task-name"的新任务。

ruke add -n "task-name" -c "echo command-to-be-executed"将向名为"task-name"的任务中添加指定的命令。

ruke remove -n "task-name" -f path/to/Ruke.toml将意外目录中的Ruke.toml文件中的"task-name"任务删除。

ruke build将运行"build"任务并显示输出,而ruke build -q将静默运行。

掌握Ruke文件

我建议您使用以下两个名称之一:Ruke.tomlRukefile,但是,只要您编写有效的TOML,就可以将文件命名为任何您想要的名字,并通过-f --file <FILE>标志传递。

查看TOML v1.0.0的完整规范

[tasks.main]                       # defines a task with an unique name
commands = ["go run cmd/main.go"]  # defines a command array to be executed sequentially

[tasks.dev]
commands = ["pnpm dev"]

[tasks.build]
commands = ["go build -o gorvus cmd/main.go", "./gorvus"]

💖 贡献

请随时贡献,创建一个问题来报告错误、建议API更改、改进或功能。

如何贡献

  1. Fork这个仓库
  2. 在您的机器上克隆您的分支
  3. 进行您的更改,提交并推送这些更改
  4. 打开一个pull请求(写一个描述性消息说明您做了哪些更改)

贡献者

感谢这些杰出的人

notshwuy GitHub profile picture FelipeMCassiano GitHub profile picture

📝 许可协议

本项目采用MIT许可协议 - 请参阅LICENSE以获取更多信息。


由Kauê Fraga Rodrigues用❤️和🦀制作。

依赖项

~4–15MB
~135K SLoC