@snowdreamtech/unirtm-windows-x64 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -16
- package/README_zh-CN.md +62 -16
- package/bin/unirtm.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
+
<img src="./docs/public/logo.svg" width="200" alt="UniRTM Logo" />
|
|
4
|
+
|
|
3
5
|
<h1 align="center">
|
|
4
6
|
UniRTM
|
|
5
7
|
</h1>
|
|
@@ -14,11 +16,11 @@
|
|
|
14
16
|
<p><b>Dev tools, env vars, and tasks in one CLI with built-in security.</b><br><i>Inspired by and paying tribute to <a href="https://github.com/jdx/mise">mise</a>.</i></p>
|
|
15
17
|
|
|
16
18
|
<p align="center">
|
|
17
|
-
<a href="https://
|
|
18
|
-
<a href="https://
|
|
19
|
-
<a href="https://
|
|
20
|
-
<a href="https://
|
|
21
|
-
<a href="https://
|
|
19
|
+
<a href="https://snowdreamtech.github.io/UniRTM/guide/getting-started.html">Getting Started</a> •
|
|
20
|
+
<a href="https://snowdreamtech.github.io/UniRTM">Documentation</a> •
|
|
21
|
+
<a href="https://snowdreamtech.github.io/UniRTM/dev-tools/overview.html">Dev Tools</a> •
|
|
22
|
+
<a href="https://snowdreamtech.github.io/UniRTM/environments/overview.html">Environments</a> •
|
|
23
|
+
<a href="https://snowdreamtech.github.io/UniRTM/tasks/overview.html">Tasks</a>
|
|
22
24
|
</p>
|
|
23
25
|
|
|
24
26
|
<hr />
|
|
@@ -26,7 +28,7 @@
|
|
|
26
28
|
</div>
|
|
27
29
|
|
|
28
30
|
> [!TIP]
|
|
29
|
-
> UniRTM
|
|
31
|
+
> UniRTM's powerful task runner empowers you to orchestrate deep security scans (like Trivy & Syft) perfectly alongside your environments.
|
|
30
32
|
|
|
31
33
|
## What is it?
|
|
32
34
|
|
|
@@ -39,15 +41,26 @@
|
|
|
39
41
|
While taking heavy inspiration from the brilliant tool `mise` (dev tools, env vars, and tasks in one CLI), UniRTM introduces several distinct architectural choices:
|
|
40
42
|
|
|
41
43
|
- **Pure Go Engine**: Extreme parallel downloading capabilities leveraging goroutines.
|
|
42
|
-
- **
|
|
43
|
-
- **
|
|
44
|
+
- **Lightweight Native Shims**: Replaces sluggish bash shims with a unified, high-performance Go router. This prevents `$PATH` explosion while maintaining near-native execution speeds.
|
|
45
|
+
- **Unifying Security via Tasks**: While keeping the core engine minimal, UniRTM allows you to perfectly integrate external security scanners like Trivy or Syft into your reproducible task workflows.
|
|
44
46
|
- **Absolute Locking**: Generates a `unirtm.lock` file that pins the exact checksums and versions of your downloaded tools for reproducible environments.
|
|
45
47
|
|
|
48
|
+
## Supported Platforms
|
|
49
|
+
|
|
50
|
+
*Fully supported on macOS (Apple Silicon / Intel), Linux (glibc & musl/Alpine), and Windows.*
|
|
51
|
+
|
|
52
|
+
## Demo
|
|
53
|
+
|
|
54
|
+
The following demo shows how to use `UniRTM` to install a specific version of `go` globally.
|
|
55
|
+
Notice the speed and the built-in vulnerability scanning!
|
|
56
|
+
|
|
57
|
+
[](https://github.com/snowdreamtech/UniRTM/blob/main/docs/tapes/demo.mp4)
|
|
58
|
+
|
|
46
59
|
## Quickstart
|
|
47
60
|
|
|
48
61
|
### Install UniRTM
|
|
49
62
|
|
|
50
|
-
See [Getting started](https://
|
|
63
|
+
See [Getting started](https://snowdreamtech.github.io/UniRTM/guide/getting-started.html) for more options.
|
|
51
64
|
|
|
52
65
|
```sh-session
|
|
53
66
|
$ curl -sL https://raw.githubusercontent.com/snowdreamtech/UniRTM/main/install.sh | bash
|
|
@@ -82,7 +95,7 @@ $ go version
|
|
|
82
95
|
go version go1.22.x macos/arm64
|
|
83
96
|
```
|
|
84
97
|
|
|
85
|
-
See [dev tools](https://
|
|
98
|
+
See [dev tools](https://snowdreamtech.github.io/UniRTM/dev-tools/) for more examples.
|
|
86
99
|
|
|
87
100
|
### Manage environment variables
|
|
88
101
|
|
|
@@ -98,7 +111,7 @@ $ echo $SOME_VAR
|
|
|
98
111
|
bar
|
|
99
112
|
```
|
|
100
113
|
|
|
101
|
-
Note that `UniRTM` can also [load `.env` files](https://
|
|
114
|
+
Note that `UniRTM` can also [load `.env` files](https://snowdreamtech.github.io/UniRTM/environments/#env-directives).
|
|
102
115
|
|
|
103
116
|
### Run tasks
|
|
104
117
|
|
|
@@ -114,7 +127,7 @@ $ unirtm run build
|
|
|
114
127
|
building...
|
|
115
128
|
```
|
|
116
129
|
|
|
117
|
-
See [tasks](https://
|
|
130
|
+
See [tasks](https://snowdreamtech.github.io/UniRTM/tasks/) for more information.
|
|
118
131
|
|
|
119
132
|
### Example UniRTM project
|
|
120
133
|
|
|
@@ -163,17 +176,50 @@ run = "terraform apply -auto-approve"
|
|
|
163
176
|
Run it with:
|
|
164
177
|
|
|
165
178
|
```sh-session
|
|
166
|
-
unirtm install # install tools specified in .unirtm.toml
|
|
179
|
+
unirtm install # install all required tools specified in .unirtm.toml
|
|
167
180
|
unirtm run deploy # automatically runs validation and audit dependencies first
|
|
168
181
|
```
|
|
169
182
|
|
|
170
183
|
## Full Documentation
|
|
171
184
|
|
|
172
|
-
See [
|
|
185
|
+
See [snowdreamtech.github.io/UniRTM](https://snowdreamtech.github.io/UniRTM)
|
|
186
|
+
|
|
187
|
+
### Architecture & Environments Comparison
|
|
188
|
+
|
|
189
|
+
We believe in making deliberate architectural choices to support modern enterprise environments. Here is how `UniRTM` compares to ecosystem pioneers like `mise` and `asdf` across multiple dimensions:
|
|
190
|
+
|
|
191
|
+
#### 1. Core Architecture & Execution
|
|
192
|
+
|
|
193
|
+
| Dimension | `asdf` (Bash) | `mise` (Rust) | `UniRTM` (Go) | Why it matters |
|
|
194
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
195
|
+
| **Execution Path** | Bash Shims | Rust Shims / PATH | **Lightweight Go Shims** | Uses a single compiled Go binary as a router to perfectly solve the performance issues of Bash shims and ensure cross-platform compatibility. |
|
|
196
|
+
| **Concurrency Model** | None | OS Threads | **Goroutines** | Go's ultra-lightweight goroutines provide extreme parallel throughput during massive toolchain downloads. |
|
|
197
|
+
| **Config Hierarchy** | `.tool-versions` | `mise.toml` | **`.unirtm.toml`** | Standardized, unified TOML configs across your entire project. |
|
|
198
|
+
|
|
199
|
+
#### 2. Environment & Context
|
|
200
|
+
|
|
201
|
+
| Feature | `asdf` | `mise` | `UniRTM` | Details |
|
|
202
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
203
|
+
| **Scope Management** | Tools only | Tools + Env + Tasks | **Tools + Env + Tasks** | Seamlessly manage environments contextually per directory. |
|
|
204
|
+
| **`.env` Parsing** | ❌ | Native | **Native** | Reads traditional `.env` files automatically without external loaders. |
|
|
205
|
+
| **Secrets Engine** | ❌ | Plugins / Integrations | **Native SOPS** | Treats secure secret management as a first-class citizen using native SOPS integration. |
|
|
206
|
+
|
|
207
|
+
#### 3. Cross-Platform & Resilience
|
|
208
|
+
|
|
209
|
+
| Feature | `asdf` | `mise` | `UniRTM` | Details |
|
|
210
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
211
|
+
| **Windows Support** | WSL/MSYS Dependent | Supported | **Native (Ground-up)** | Engineered natively for a flawless Windows and Cygdrive experience. |
|
|
212
|
+
| **Alpine/Musl** | Partial | Supported | **Hardcore Supported** | Runs flawlessly in minimal `musl`/Alpine containers without `glibc` overhead. |
|
|
213
|
+
| **Reproducibility** | Versions | `mise.lock` (Supported) | **`unirtm.lock` (Default)** | Strictly pins exact checksums to ensure reproducible team environments. |
|
|
173
214
|
|
|
174
|
-
|
|
215
|
+
#### 4. Ecosystem Affinity & Minimalism
|
|
175
216
|
|
|
176
|
-
|
|
217
|
+
| Feature | `asdf` | `mise` | `UniRTM` | Details |
|
|
218
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
219
|
+
| **Hybrid Path Resolution** | ❌ | Partial | **Deeply Supported** | Dedicated optimizations for translating paths seamlessly across Windows Git Bash / Cygdrive environments. |
|
|
220
|
+
| **External Dependencies** | Bash Ecosystem | Minimal | **Absolute Zero** | Core plugins are compiled directly into the binary. Drop it into any minimal OS and it runs out of the box. |
|
|
221
|
+
| **Shim Overhead** | Standard (Bash script) | Optimized (Rust binary) | **Lightning Fast (Go)** | All tools symlink back to the unirtm engine for instant routing, perfectly preventing `$PATH` explosion. |
|
|
222
|
+
| **DevOps Integration** | Custom Scripts | Good | **Native Synergy** | Go-based architecture naturally aligns with cloud-native infrastructure, making custom integrations frictionless. |
|
|
177
223
|
|
|
178
224
|
- [Discussions](https://github.com/snowdreamtech/UniRTM/discussions)
|
|
179
225
|
- [Issues](https://github.com/snowdreamtech/UniRTM/issues)
|
package/README_zh-CN.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
+
<img src="./docs/public/logo.svg" width="200" alt="UniRTM Logo" />
|
|
4
|
+
|
|
3
5
|
<h1 align="center">
|
|
4
6
|
UniRTM
|
|
5
7
|
</h1>
|
|
@@ -14,11 +16,11 @@
|
|
|
14
16
|
<p><b>集开发工具、环境变量和任务管理于一体的 CLI(内置安全扫描)。</b><br><i>灵感来源于出色的 <a href="https://github.com/jdx/mise">mise</a> 项目,在此向其致敬。</i></p>
|
|
15
17
|
|
|
16
18
|
<p align="center">
|
|
17
|
-
<a href="https://
|
|
18
|
-
<a href="https://
|
|
19
|
-
<a href="https://
|
|
20
|
-
<a href="https://
|
|
21
|
-
<a href="https://
|
|
19
|
+
<a href="https://snowdreamtech.github.io/UniRTM/zh/guide/getting-started.html">快速开始</a> •
|
|
20
|
+
<a href="https://snowdreamtech.github.io/UniRTM/zh/">官方文档</a> •
|
|
21
|
+
<a href="https://snowdreamtech.github.io/UniRTM/zh/dev-tools/overview.html">开发工具</a> •
|
|
22
|
+
<a href="https://snowdreamtech.github.io/UniRTM/zh/environments/overview.html">环境变量</a> •
|
|
23
|
+
<a href="https://snowdreamtech.github.io/UniRTM/zh/tasks/overview.html">任务系统</a>
|
|
22
24
|
</p>
|
|
23
25
|
|
|
24
26
|
<hr />
|
|
@@ -26,7 +28,7 @@
|
|
|
26
28
|
</div>
|
|
27
29
|
|
|
28
30
|
> [!TIP]
|
|
29
|
-
> UniRTM
|
|
31
|
+
> UniRTM 强大的任务编排能力让你能够极其轻松地将 Trivy、Syft 等安全工具无缝集成到你的日常构建和部署流程中。
|
|
30
32
|
|
|
31
33
|
## 介绍
|
|
32
34
|
|
|
@@ -39,15 +41,26 @@
|
|
|
39
41
|
虽然在概念上我们深受伟大的 `mise` 启发(在此致敬),但 UniRTM 在架构上引入了几个独特的选择:
|
|
40
42
|
|
|
41
43
|
- **纯 Go 引擎**: 底层完全由 Go 语言编写,利用 goroutines 实现了极致的并发下载能力。
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
+
- **轻量级 Go 垫片 (Lightweight Shims)**: 彻底抛弃了缓慢的 Bash 垫片。所有的命令均由高性能的单一 Go 引擎拦截并极速路由,既避免了环境变量(PATH)无限制爆炸,又保证了极致的执行性能。
|
|
45
|
+
- **任务无缝集成安全工具**: 虽然保持了引擎本身的极致精简,但你能在项目中利用 UniRTM 的任务系统,丝滑地串联 Trivy、Syft 等安全漏洞扫描工作流。
|
|
44
46
|
- **强制版本锁定**: 自动生成 `unirtm.lock` 锁文件,不仅锁定版本号,还精确锁定所有下载包的校验和,从而保障团队环境的绝对可复现。
|
|
45
47
|
|
|
48
|
+
## 支持的操作系统 (Supported Platforms)
|
|
49
|
+
|
|
50
|
+
*完全支持 macOS (Apple Silicon / Intel)、Linux (glibc & musl/Alpine) 以及 Windows 平台。*
|
|
51
|
+
|
|
52
|
+
## 演示 (Demo)
|
|
53
|
+
|
|
54
|
+
以下演示展示了如何使用 `UniRTM` 全局安装指定版本的 `go`。
|
|
55
|
+
请注意安装的速度以及内置的安全漏洞扫描功能!
|
|
56
|
+
|
|
57
|
+
[](https://github.com/snowdreamtech/UniRTM/blob/main/docs/tapes/demo.mp4)
|
|
58
|
+
|
|
46
59
|
## 快速入门
|
|
47
60
|
|
|
48
61
|
### 安装 UniRTM
|
|
49
62
|
|
|
50
|
-
你可以通过多种方式安装 UniRTM,详见 [快速开始](https://
|
|
63
|
+
你可以通过多种方式安装 UniRTM,详见 [快速开始](https://snowdreamtech.github.io/UniRTM/zh/guide/getting-started.html)。
|
|
51
64
|
|
|
52
65
|
```sh-session
|
|
53
66
|
$ curl -sL https://raw.githubusercontent.com/snowdreamtech/UniRTM/main/install.sh | bash
|
|
@@ -82,7 +95,7 @@ $ go version
|
|
|
82
95
|
go version go1.22.x macos/arm64
|
|
83
96
|
```
|
|
84
97
|
|
|
85
|
-
查看 [开发工具指南](https://
|
|
98
|
+
查看 [开发工具指南](https://snowdreamtech.github.io/UniRTM/zh/dev-tools/) 获取更多示例。
|
|
86
99
|
|
|
87
100
|
### 管理环境变量
|
|
88
101
|
|
|
@@ -98,7 +111,7 @@ $ echo $SOME_VAR
|
|
|
98
111
|
bar
|
|
99
112
|
```
|
|
100
113
|
|
|
101
|
-
此外,`UniRTM` 同样可以自动读取本地的 [`.env` 文件](https://
|
|
114
|
+
此外,`UniRTM` 同样可以自动读取本地的 [`.env` 文件](https://snowdreamtech.github.io/UniRTM/zh/environments/#env-directives)。
|
|
102
115
|
|
|
103
116
|
### 运行任务
|
|
104
117
|
|
|
@@ -114,7 +127,7 @@ $ unirtm run build
|
|
|
114
127
|
building...
|
|
115
128
|
```
|
|
116
129
|
|
|
117
|
-
查看 [任务系统指南](https://
|
|
130
|
+
查看 [任务系统指南](https://snowdreamtech.github.io/UniRTM/zh/tasks/) 获取更多高级用法。
|
|
118
131
|
|
|
119
132
|
### UniRTM 综合实战配置
|
|
120
133
|
|
|
@@ -163,17 +176,50 @@ run = "terraform apply -auto-approve"
|
|
|
163
176
|
你可以这样运行:
|
|
164
177
|
|
|
165
178
|
```sh-session
|
|
166
|
-
unirtm install #
|
|
179
|
+
unirtm install # 安装所需要的所有开发工具
|
|
167
180
|
unirtm run deploy # 在部署前,将自动按顺序并行执行校验和安全审查任务
|
|
168
181
|
```
|
|
169
182
|
|
|
170
183
|
## 官方文档
|
|
171
184
|
|
|
172
|
-
完整的架构解析与高级配置指南请前往官网:[
|
|
185
|
+
完整的架构解析与高级配置指南请前往官网:[snowdreamtech.github.io/UniRTM](https://snowdreamtech.github.io/UniRTM/zh/)
|
|
186
|
+
|
|
187
|
+
### 多维度深度对比 (Architecture & Environments)
|
|
188
|
+
|
|
189
|
+
为了满足现代企业级和高并发容器化环境的严苛要求,`UniRTM` 在底层架构上做出了极具针对性的设计抉择。以下是我们在多个关键维度上与优秀的生态前辈 (`mise`, `asdf`) 的深度对比:
|
|
190
|
+
|
|
191
|
+
#### 1. 核心架构与执行路径
|
|
192
|
+
|
|
193
|
+
| 对比维度 | `asdf` (Bash) | `mise` (Rust) | `UniRTM` (Go) | 核心优势与意义 |
|
|
194
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
195
|
+
| **命令执行路径** | Bash 垫片 | Rust 垫片 / PATH | **轻量级 Go 垫片** | 使用 Go 编译的单一入口代理,彻底解决 Bash 垫片的性能低下问题,且完美解决跨平台兼容性。 |
|
|
196
|
+
| **并发下载模型** | 无 | 操作系统线程 | **原生 Goroutines** | 依托 Go 语言极其轻量的协程机制,在海量工具链下载更新时实现极致的并发吞吐量。 |
|
|
197
|
+
| **配置层级** | `.tool-versions` | `mise.toml` | **`.unirtm.toml`** | 使用标准化的 TOML 文件统一管理项目的工具、环境和任务。 |
|
|
198
|
+
|
|
199
|
+
#### 2. 环境变量与上下文管理
|
|
200
|
+
|
|
201
|
+
| 功能特性 | `asdf` | `mise` | `UniRTM` | 详细说明 |
|
|
202
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
203
|
+
| **统一管理范畴** | 仅开发工具 | 工具+环境+任务 | **工具+环境+任务** | 根据当前所在目录,自动且无缝地切换整体上下文环境。 |
|
|
204
|
+
| **`.env` 文件解析** | ❌ | 原生支持 | **原生支持** | 告别额外的环境变量加载器,内置完美解析传统 `.env` 文件。 |
|
|
205
|
+
| **密钥加密管理** | ❌ | 插件集成体系 | **内置 SOPS 原生支持** | 将基于 SOPS 的加密环境变量作为一等公民,提供开箱即用的敏感信息保护。 |
|
|
206
|
+
|
|
207
|
+
#### 3. 跨平台兼容与系统韧性
|
|
208
|
+
|
|
209
|
+
| 功能特性 | `asdf` | `mise` | `UniRTM` | 详细说明 |
|
|
210
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
211
|
+
| **Windows 原生支持** | 依赖 WSL/MSYS | 支持 | **自底向上原生设计** | 从设计之初就兼顾 Windows 与 Cygdrive,提供极其丝滑的原生跨平台体验。 |
|
|
212
|
+
| **Alpine / Musl 兼容** | 部分支持 | 支持 | **硬核底层兼容** | 完美无缝运行在没有任何 `glibc` 依赖的极简 Alpine 容器环境之中。 |
|
|
213
|
+
| **版本与校验锁定** | 仅版本号 | `mise.lock` (支持) | **`unirtm.lock` (默认)** | 锁定版本的同时严格校验所有底层文件的 Hash,保障团队环境的一致性。 |
|
|
173
214
|
|
|
174
|
-
|
|
215
|
+
#### 4. 生态亲和度与极简主义
|
|
175
216
|
|
|
176
|
-
|
|
217
|
+
| 功能特性 | `asdf` | `mise` | `UniRTM` | 详细说明 |
|
|
218
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
219
|
+
| **混合路径解析** | ❌ | 部分支持 | **深度支持 (Cygdrive)** | 对 Windows Git Bash / MSYS2 的原生路径转换进行了专项优化。 |
|
|
220
|
+
| **外部依赖要求** | 依赖 Bash 生态 | 极少 | **绝对零依赖** | 核心插件直接编译入独立二进制,丢进任意极简系统开箱即用。 |
|
|
221
|
+
| **垫片开销** | 常规 (Bash 脚本) | 已优化 (Rust 二进制) | **极速 (Go 二进制)** | 所有工具软链回 unirtm 引擎进行毫秒级极速路由,彻底杜绝 PATH 爆炸问题。 |
|
|
222
|
+
| **DevOps 集成** | 自定义脚本 | 良好 | **原生级无缝集成** | Go 语言血统,天生匹配云原生基础设施,极其适合企业内部自研平台的二次集成。 |
|
|
177
223
|
|
|
178
224
|
- [Discussions (讨论区)](https://github.com/snowdreamtech/UniRTM/discussions)
|
|
179
225
|
- [Issues (问题追踪)](https://github.com/snowdreamtech/UniRTM/issues)
|
package/bin/unirtm.exe
CHANGED
|
Binary file
|