@snowdreamtech/unirtm 0.0.1

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026-present SnowdreamTech Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,225 @@
1
+ # UniRTM (Universal Runtime Manager)
2
+
3
+ Inspired by [mise](https://github.com/jdx/mise) (licensed under MIT). Special thanks to jdx and the mise community for the great ideas.
4
+
5
+ [![CI Pipeline](https://img.shields.io/github/actions/workflow/status/snowdreamtech/template/ci.yml?branch=main&label=CI%20Pipeline)](https://github.com/snowdreamtech/template/actions/workflows/ci.yml)
6
+ [![CD Pipeline](https://img.shields.io/github/actions/workflow/status/snowdreamtech/template/cd.yml?branch=main&label=CD%20Pipeline)](https://github.com/snowdreamtech/template/actions/workflows/cd.yml)
7
+ [![GitHub Pages](https://img.shields.io/github/actions/workflow/status/snowdreamtech/template/pages.yml?branch=main&label=Docs&logo=github)](https://github.com/snowdreamtech/template/actions/workflows/pages.yml)
8
+ [![CodeQL](https://img.shields.io/github/actions/workflow/status/snowdreamtech/template/codeql.yml?branch=main&label=CodeQL&logo=github)](https://github.com/snowdreamtech/template/actions/workflows/codeql.yml)
9
+ [![Multi-OS Verified](https://img.shields.io/badge/Verified-Linux%20%7C%20macOS%20%7C%20Windows-blue)](https://github.com/snowdreamtech/template/actions/workflows/ci.yml)
10
+ [![Security Audit](https://img.shields.io/badge/Security-Zizmor%20%7C%20Trivy%20%7C%20Gitleaks-brightgreen)](https://github.com/snowdreamtech/template/actions/workflows/ci.yml)
11
+ [![SBOM Available](https://img.shields.io/badge/SBOM-Available-success)](https://github.com/snowdreamtech/template/releases/latest)
12
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/license/MIT)
13
+ [![Release](https://img.shields.io/github/v/release/snowdreamtech/template?logo=github&sort=semver)](https://github.com/snowdreamtech/template/releases/latest)
14
+ [![Dependabot Enabled](https://img.shields.io/badge/Dependabot-Enabled-brightgreen?logo=dependabot)](https://github.com/snowdreamtech/template/blob/main/.github/dependabot.yml)
15
+ [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
16
+ [![GitHub Stars](https://img.shields.io/github/stars/snowdreamtech/template?style=social)](https://github.com/snowdreamtech/template)
17
+ [![GitHub Issues](https://img.shields.io/github/issues/snowdreamtech/template)](https://github.com/snowdreamtech/template/issues)
18
+ [![Code Size](https://img.shields.io/github/languages/code-size/snowdreamtech/template)](https://github.com/snowdreamtech/template)
19
+
20
+ [English](README.md) | [įŽ€äŊ“中文](README_zh-CN.md)
21
+
22
+ An enterprise-grade, foundational template designed for multi-AI IDE collaboration. This repository serves as a **Single Source of Truth** for AI agent rules, workflows, and project configurations, supporting over 50 different AI-assisted IDEs with massive multi-language support.
23
+
24
+ ## 🌟 Features
25
+
26
+ - **Multi-IDE Compatibility**: Out-of-the-box support for Cursor, Windsurf, GitHub Copilot, Cline, Roo Code, Trae, Gemini, Claude Code, and 50+ other AI editors.
27
+ - **Unified Rule System**: Centralized rule definitions in `.agent/rules/`. Changes propagate automatically to all supported IDEs via a secure symlink/redirect pattern.
28
+ - **80+ Language & Framework Rules**: Pre-configured high-quality rules from Rust, Go, TypeScript, Python to Ansible, Kubernetes, and API design.
29
+ - **Smart Workflows (SpecKit)**: Standardized `.agent/workflows/` commands (`speckit.plan`, `speckit.analyze`, `snowdreamtech.init`) that behave consistently across all supported environments.
30
+ - **Triple Guarantee Quality**: 100% code purity enforced through Pre-commit and GitHub Actions integrated quality gates.
31
+ - **Cross-Platform Ready**: Runs seamlessly on macOS (Homebrew/MacPorts), Linux, and Windows.
32
+
33
+ ## đŸ—ī¸ Section 1 — Design & Architecture
34
+
35
+ ### Overview
36
+
37
+ The Snowdream Tech Template is a foundational scaffold engineered to solve the "N-IDE Fragmentation" problem. It standardizes the development environment, AI agent rules, and automation pipelines across varied platforms and languages.
38
+
39
+ **Key Capabilities:**
40
+
41
+ - Provides a **Unified Rule Engine** that governs AI behavior consistently across 50+ IDEs.
42
+ - Enforces **Cross-Platform Portability** through dynamically adapting POSIX shell automation.
43
+ - Implements a **Triple Guarantee Quality Gate** (IDE, CLI, CI) to prevent regressions.
44
+ - Supports **Massive Multi-Language Stacks** with modular onboarding logic.
45
+
46
+ ### Architecture
47
+
48
+ ```mermaid
49
+ graph TD
50
+ A["Developers & Agents"] -->|Operates via| IDE["Cursor / Windsurf / Copilot / 50+ Others"]
51
+ IDE -->|Reads Rules via Redirects| R1[".vscode/"]
52
+ IDE -->|Reads Rules via Redirects| R2[".github/"]
53
+ IDE -->|Reads Rules via Redirects| R3[".cline/ .trae/ etc."]
54
+
55
+ R1 -.->|SSoT Pointer| CoreRules[".agent/rules/"]
56
+ R2 -.->|SSoT Pointer| CoreRules
57
+ R3 -.->|SSoT Pointer| CoreRules
58
+
59
+ CoreRules -->|Governs| Src["Source Code"]
60
+ CoreRules -->|Governs| Scripts["CI/CD & Shell Scripts"]
61
+ ```
62
+
63
+ ### Design Principles
64
+
65
+ - **Single Source of Truth (SSoT)**: All AI rules, commands, and Git hooks live in one place. No duplicated IDE configurations.
66
+ - **Cross-Platform Portability**: Heavy automation logic is written in POSIX Shell, with thin wrappers for Windows PowerShell/Batch.
67
+ - **Triple Guarantee Quality**: Linting and formatting form an impenetrable wall, enforced at the IDE layer, pre-commit layer, and CI/CD GitHub Actions layer.
68
+
69
+ ### Responsibilities
70
+
71
+ - **.agent/rules/**: Owns the definitive behavioral logic for AI agents across all supported languages.
72
+ - **scripts/**: Owns the cross-platform automation and lifecycle logic.
73
+ - **.agent/workflows/**: Owns the interactive AI commands (SpecKit).
74
+
75
+ ---
76
+
77
+ ## 📖 Section 2 — Usage Guide
78
+
79
+ ### Prerequisites
80
+
81
+ - **Runtime**: Node.js (>= 20.x), Python (>= 3.10.x).
82
+ - **Git**: Global git installation required.
83
+
84
+ ### Quick Start
85
+
86
+ 1. **Initialize & Install**: `unirtm install` (installs all project tools and dependencies).
87
+ 2. **Verify**: `make verify` (ensures everything is green).
88
+
89
+ ### Configuration Reference
90
+
91
+ | Parameter | Purpose | Location |
92
+ | :------------- | :---------------------------------------------------------------- | :---------------------- |
93
+ | `PROJECT_NAME` | Project identity | `init-project.sh` |
94
+ | `GITHUB_PROXY` | Network optimization (See [Proxy Usage](#-proxy-usage-scenarios)) | `scripts/lib/common.sh` |
95
+ | `VERSION` | Semantic versioning | `package.json` |
96
+
97
+ ### File Structure
98
+
99
+ ```text
100
+ project-root/
101
+ ├── .agent/ # 🤖 Canonical AI configuration (The Brain)
102
+ │ ├── rules/ # 📏 Unified AI behavioral rules (80+ sets, SSoT)
103
+ │ └── workflows/ # đŸ› ī¸ Unified commands & AI workflows (SpecKit)
104
+ ├── .agents/ # 🧩 Shared command sources (Auto-managed symlinks)
105
+ ├── .github/ # 🐙 GitHub integration & Copilot settings
106
+ ├── .vscode/ # đŸ’ģ Optimized VS Code configurations
107
+ └── src/ # đŸ“Ļ Your actual application source code
108
+ ```
109
+
110
+ ---
111
+
112
+ ## đŸ› ī¸ Section 3 — Operations Guide
113
+
114
+ ### Pre-deployment Checklist
115
+
116
+ 1. Run `make verify` to ensure all quality gates are green.
117
+ 2. Run `make audit` to verify security compliance.
118
+ 3. Ensure `CHANGELOG.md` is updated.
119
+
120
+ ### Performance Considerations
121
+
122
+ - **Linting Speed**: Pre-commit hooks target < 5s by scanning staged files only.
123
+ - **CI Throughput**: GitHub Actions use matrix builds for parallel testing across OS types.
124
+
125
+ ### Troubleshooting
126
+
127
+ - **Problem**: `unirtm install` fails on Windows.
128
+ - **Diagnosis**: Check if `ExecutionPolicy` allows script execution.
129
+ - **Solution**: Run `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`.
130
+ - **Problem**: Gitleaks detects false positives.
131
+ - **Diagnosis**: Check `.gitleaks.toml` allowlist.
132
+ - **Solution**: Add fingerprint to `.gitleaksignore`.
133
+ - **Problem**: Pre-commit hooks fail on macOS after `unirtm install` with Python errors.
134
+ - **Diagnosis**: Check if the venv exists: `ls .venv/bin/python`.
135
+ - **Solution**: Rebuild the venv: `rm -rf .venv && unirtm install`.
136
+
137
+ ---
138
+
139
+ ## 🔒 Section 4 — Security Considerations
140
+
141
+ ### Security Model
142
+
143
+ - **Secret Management**: All secrets must be injected via environment variables or handled by HashiCorp Vault. Never commit `.env` files.
144
+ - **Audit Logging**: All critical operations (commits, releases, state changes) are traced via Git and CI logs.
145
+ - **Supply Chain**: All CI actions are pinned to exact versions/SHAs.
146
+
147
+ ### Best Practices
148
+
149
+ | Aspect | Requirement | Implementation |
150
+ | :---------- | :--------------------------- | :-------------------------------- |
151
+ | Secrets | No plaintext secrets in repo | `gitleaks` enforced at commit |
152
+ | Integrity | Verify downloads | SHA-256 validation in `common.sh` |
153
+ | Permissions | Non-root execution | Dockerfile best practices |
154
+
155
+ ---
156
+
157
+ ## 🧑‍đŸ’ģ Section 5 — Development Guide
158
+
159
+ ### Code Organization
160
+
161
+ ```text
162
+ project-root/
163
+ ├── .agent/ # AI configuration (Single Source of Truth)
164
+ │ ├── rules/ # 88 behavioral rule files for AI agents
165
+ │ └── workflows/ # SpecKit slash-command definitions
166
+ ├── .github/ # GitHub ecosystem (Actions, templates, Dependabot)
167
+ │ └── workflows/ # CI/CD pipelines (lint, verify, release, security)
168
+ ├── .devcontainer/ # DevContainer configuration for reproducible environments
169
+ ├── docs/ # Project documentation
170
+ │ ├── adr/ # Architecture Decision Records
171
+ │ ├── runbooks/ # Operations and recovery runbooks
172
+ │ └── glossary.md # Bilingual term glossary
173
+ ├── scripts/ # POSIX shell automation (setup, install, verify)
174
+ │ └── lib/ # Shared shell library functions
175
+ └── Makefile # Task orchestration (setup, install, lint, verify, audit)
176
+ ```
177
+
178
+ **Naming Conventions**: Rule files use `NN-kebab-case.md` (core rules) or `technology.md`
179
+ (language stacks). Workflow files use `namespace.verb.md`. Shell scripts use `kebab-case.sh`.
180
+
181
+ ### Extension Points
182
+
183
+ 1. **Adding Rules**: Create a new `.md` file in `.agent/rules/` and link it in `00-index.md`.
184
+ 2. **Adding Commands**: Add `.md` files to `.agent/workflows/`.
185
+ 3. **Adding IDE Support**: Create a redirect folder (e.g., `.myide/`) following the symlink pattern in Rule 03.
186
+
187
+ ### Local Development Setup
188
+
189
+ ```bash
190
+ git clone <repo>
191
+ cd <repo>
192
+ git config core.ignorecase false # MANDATORY for Mac/Windows
193
+ unirtm install
194
+ ```
195
+
196
+ ### References
197
+
198
+ - [Full Documentation](docs/index.md)
199
+ - [Project Glossary](docs/glossary.md)
200
+ - [Conventional Commits](https://www.conventionalcommits.org/)
201
+
202
+ ### 🚀 Proxy Usage Scenarios
203
+
204
+ The `GITHUB_PROXY` (default: `https://gh-proxy.sn0wdr1am.com/`) is optimized for specific network acceleration scenarios. Misusing it for unsupported protocols (like Git) will result in errors.
205
+
206
+ | Scenario | Supported? | Example / Note |
207
+ | :-------------------- | :--------- | :----------------------------------------------------- |
208
+ | **Release Files** | ✅ Yes | `.../releases/download/v1.0/tool.zip` |
209
+ | **Source Archives** | ✅ Yes | `.../archive/master.zip` or `.tar.gz` |
210
+ | **Direct File Links** | ✅ Yes | `.../blob/master/filename` |
211
+ | **Git Clone** | ❌ **No** | Do **not** use for `git clone` or `insteadOf` configs. |
212
+ | **Project Folders** | ❌ **No** | Browsing/cloning via proxy is not supported. |
213
+
214
+ > [!IMPORTANT]
215
+ > To prevent breaking toolchains (like `mise` or `asdf`), this template explicitly disables Git redirection via this proxy. Use it only for direct HTTP downloads in scripts.
216
+
217
+ ## 📄 License
218
+
219
+ This project is licensed under the **MIT License**.
220
+ Copyright (c) 2026-present [SnowdreamTech Inc.](https://github.com/snowdreamtech)
221
+ See the [LICENSE](./LICENSE) file for the full license text.
222
+
223
+ ## Star History
224
+
225
+ [![Star History Chart](https://api.star-history.com/image?repos=snowdreamtech/template&type=date&legend=top-left)](https://www.star-history.com/?repos=snowdreamtech%2Ftemplate&type=date&legend=top-left)
@@ -0,0 +1,228 @@
1
+ # UniRTM (Universal Runtime Manager)
2
+
3
+ 受 [mise](https://github.com/jdx/mise) 启发īŧˆé‡‡į”¨ MIT åčŽŽīŧ‰ã€‚į‰šåˆĢ感č°ĸ jdx 和 mise į¤žåŒēæäž›įš„äŧ˜į§€åˆ›æ„ã€‚
4
+
5
+ [![CI æĩæ°´įēŋ](https://img.shields.io/github/actions/workflow/status/snowdreamtech/template/ci.yml?branch=main&label=CI%20Pipeline)](https://github.com/snowdreamtech/template/actions/workflows/ci.yml)
6
+ [![CD č‡Ē动化发布](https://img.shields.io/github/actions/workflow/status/snowdreamtech/template/cd.yml?branch=main&label=CD%20Pipeline)](https://github.com/snowdreamtech/template/actions/workflows/cd.yml)
7
+ [![æ–‡æĄŖįĢ™į‚š](https://img.shields.io/github/actions/workflow/status/snowdreamtech/template/pages.yml?branch=main&label=%E6%96%87%E6%A1%A3&logo=github)](https://github.com/snowdreamtech/template/actions/workflows/pages.yml)
8
+ [![CodeQL åŽĄčŽĄ](https://img.shields.io/github/actions/workflow/status/snowdreamtech/template/codeql.yml?branch=main&label=CodeQL&logo=github)](https://github.com/snowdreamtech/template/actions/workflows/codeql.yml)
9
+ [![čˇ¨åšŗå°énj蝁](https://img.shields.io/badge/Verified-Linux%20%7C%20macOS%20%7C%20Windows-blue)](https://github.com/snowdreamtech/template/actions/workflows/ci.yml)
10
+ [![åŽ‰å…¨åŽĄčŽĄ](https://img.shields.io/badge/Security-Zizmor%20%7C%20Trivy%20%7C%20Gitleaks-brightgreen)](https://github.com/snowdreamtech/template/actions/workflows/ci.yml)
11
+ [![SBOM 背äšĻ](https://img.shields.io/badge/SBOM-Available-success)](https://github.com/snowdreamtech/template/releases/latest)
12
+ [![čŽ¸å¯č¯: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/license/MIT)
13
+ [![最新发布](https://img.shields.io/github/v/release/snowdreamtech/template?logo=github&sort=semver)](https://github.com/snowdreamtech/template/releases/latest)
14
+ [![Dependabot 厞吝ᔍ](https://img.shields.io/badge/Dependabot-Enabled-brightgreen?logo=dependabot)](https://github.com/snowdreamtech/template/blob/main/.github/dependabot.yml)
15
+ [![pre-commit 厞吝ᔍ](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
16
+ [![GitHub Stars](https://img.shields.io/github/stars/snowdreamtech/template?style=social)](https://github.com/snowdreamtech/template)
17
+ [![GitHub Issues](https://img.shields.io/github/issues/snowdreamtech/template)](https://github.com/snowdreamtech/template/issues)
18
+ [![äģŖį č§„æ¨Ą](https://img.shields.io/github/languages/code-size/snowdreamtech/template)](https://github.com/snowdreamtech/template)
19
+
20
+ [English](README.md) | [įŽ€äŊ“中文](README_zh-CN.md)
21
+
22
+ 一ä¸Ēäŧä¸šįē§ã€ä¸ē多 AI IDE 协äŊœč€ŒčŽžčŽĄįš„åŸēįŸŗæ¨Ąæŋ。æœŦéĄšį›ŽäŊœä¸ē AI Agent č§„åˆ™ã€åˇĨäŊœæĩå’ŒéĄšį›Žé…įŊŽįš„**单一äē‹åŽžæĨæē (Single Source of Truth)**īŧŒæ”¯æŒčļ…čŋ‡ 50 į§ä¸åŒįš„ AI čž…åŠŠ IDEīŧŒåšļ提䞛æĩˇé‡įš„å¤šč¯­č¨€æ”¯æŒã€‚
23
+
24
+ ## 🌟 į‰šæ€§
25
+
26
+ - **多 IDE å…ŧ厚性**īŧšåŧ€įŽąåŗį”¨æ”¯æŒ Cursor、Windsurf、GitHub Copilot、Cline、Roo Code、Trae、Gemini、Claude Code į­‰ 50 å¤šį§ AI įŧ–čž‘å™¨ã€‚
27
+ - **įģŸä¸€č§„则įŗģįģŸ**īŧšåœ¨ `.agent/rules/` 中į촿Ф䏭åŋƒåŒ–č§„åˆ™åŽšäš‰ã€‚åœ¨æ­¤äŋŽæ”šč§„则通čŋ‡åŽ‰å…¨įš„čŊ¯é“žæŽĨ/é‡åŽšå‘æ¨Ąåŧč‡Ē动äŧ æ’­åˆ°æ‰€æœ‰æ”¯æŒįš„ IDE。
28
+ - **80+ č¯­č¨€ä¸ŽæĄ†æžļč§„åˆ™**īŧšéĸ„配įŊŽįš„éĢ˜č´¨é‡č§„åˆ™īŧŒæļĩį›–äģŽ Rust、Go、TypeScript、Python 到 Ansible、Kubernetes 和 API čŽžčŽĄį­‰å„ä¸Ēéĸ†åŸŸã€‚
29
+ - **æ™ēčƒŊåˇĨäŊœæĩ (SpecKit)**īŧšæ ‡å‡†åŒ–įš„ `.agent/workflows/`īŧˆå‘Ŋäģ¤īŧ‰īŧŒåĻ‚ `speckit.plan`、`speckit.analyze` 和 `snowdreamtech.init`īŧŒåœ¨æ‰€æœ‰æ”¯æŒįš„įŽ¯åĸƒä¸­äŋæŒä¸€č‡´ã€‚
30
+ - **三重äŋč¯č´¨é‡**īŧšé€ščŋ‡ Pre-commit 和 GitHub Actions 集成门įĻæŖ€æŸĨīŧŒįĄŽäŋ 100% įš„äģŖį įē¯å‡€ã€‚
31
+ - **čˇ¨åšŗå°å°ąįģĒ**īŧšåœ¨ macOS (Homebrew/MacPorts)、Linux 和 Windows 上无įŧčŋčĄŒã€‚
32
+
33
+ ## đŸ—ī¸ įŦŦ 1 节 — 设计与æžļ构
34
+
35
+ ### æĻ‚č§ˆ (Overview)
36
+
37
+ Snowdream Tech æ¨Ąæŋ是一ä¸ĒåŸēįĄ€č„šæ‰‹æžļīŧŒä¸“ä¸ēč§Ŗå†ŗâ€œå¤šé‡ AI IDE 协äŊœäē§į”Ÿįš„配įŊŽįĸŽį‰‡åŒ–”闎éĸ˜č€ŒčŽžčŽĄã€‚åŽƒåœ¨å„į§åšŗå°å’Œč¯­č¨€ä¸­æ ‡å‡†åŒ–äē†åŧ€å‘įŽ¯åĸƒã€AI Agent č§„åˆ™äģĨ及č‡Ē动化æĩæ°´įēŋ。
38
+
39
+ **æ ¸åŋƒčƒŊ力 (Key Capabilities):**
40
+
41
+ - 提䞛**įģŸä¸€įš„č§„åˆ™åŧ•擎**īŧŒčˇ¨ 50+ į§ IDE ä¸€č‡´åœ°įēĻæŸ AI 行ä¸ē。
42
+ - 通čŋ‡åŠ¨æ€é€‚é…įš„ POSIX Shell č‡ĒåŠ¨åŒ–č„šæœŦīŧŒåŧēåˆļäŋč¯**čˇ¨åšŗå°äžŋæē性**。
43
+ - 厞æ–Ŋ**三重äŋč¯č´¨é‡é—¨įρ**īŧˆIDE、CLI、CIīŧ‰īŧŒä¸Ĩ防äģŖį åŠŖåŒ–ã€‚
44
+ - 支持**å¤§č§„æ¨Ąå¤šč¯­č¨€æŠ€æœ¯æ ˆ**īŧŒåšļé…å¤‡æ¨Ąå—åŒ–įš„åŠ čŊŊé€ģčž‘ã€‚
45
+
46
+ ### æžļ构 (Architecture)
47
+
48
+ ```mermaid
49
+ graph TD
50
+ A["åŧ€å‘者与æ™ēčƒŊäŊ“ (Agents)"] -->|操äŊœ| IDE["Cursor / Windsurf / Copilot / 50+ å…ļ厃"]
51
+ IDE -->|通čŋ‡é‡åŽšå‘č¯ģå–č§„åˆ™| R1[".vscode/"]
52
+ IDE -->|通čŋ‡é‡åŽšå‘č¯ģå–č§„åˆ™| R2[".github/"]
53
+ IDE -->|通čŋ‡é‡åŽšå‘č¯ģå–č§„åˆ™| R3[".cline/ .trae/ ᭉᭉ"]
54
+
55
+ R1 -.->|SSoT 指针| CoreRules[".agent/rules/"]
56
+ R2 -.->|SSoT 指针| CoreRules
57
+ R3 -.->|SSoT 指针| CoreRules
58
+
59
+ CoreRules -->|įŽĄį†ä¸ŽįēĻæŸ| Src["éĄšį›Žåē”ᔍæēį "]
60
+ CoreRules -->|įŽĄį†ä¸ŽįēĻæŸ| Scripts["CI/CD 与įģŸä¸€č‡ĒåŠ¨åŒ–č„šæœŦ"]
61
+ ```
62
+
63
+ ### čŽžčŽĄåŽŸåˆ™
64
+
65
+ - **唯一äē‹åŽžæĨæē (SSoT)**: 所有 AI 行ä¸ē准则、åŧ€å‘č„šæ‰‹æžļå‘Ŋäģ¤å’Œ Git į”Ÿæ€é’Šå­å‡é›†ä¸­åœ¨ä¸€å¤„į촿ФīŧŒåŊģå畿ļˆį­å„ IDE äš‹é—´įš„é…įŊŽå­¤å˛›ä¸Žå†—äŊ™ã€‚
66
+ - **čˇ¨åšŗå°å¤šæ€æ€§ (Cross-Platform)**: æ ¸åŋƒč‡Ē动化æĩæ°´įēŋåŸēäēŽåŽŸį”Ÿ POSIX Shell įŧ–写īŧŒä¸”åŧēåˆļä¸ē Windows (PowerShell / Batch) æäž›å¯šį­‰å…ŧåŽšįš„čŊģ量įē§åŒ…čŖ…åą‚ã€‚
67
+ - **ä¸‰é‡č´¨é‡æŠ¤åŸŽæ˛ŗ (Triple Guarantee)**: į”ą IDE 厞æ—ļč‡Ē动äŋŽå¤ã€Pre-commit æœŦ地åŧēåˆļé˜ģ断、äģĨ及 CI/CD (GitHub Actions) čŋœįĢ¯å…¨é‡åŽĄčŽĄīŧŒä¸‰åą‚č”é˜˛å…ąåŒæž„åģē 100% äģŖį įē¯å‡€åēĻ防įēŋ。
68
+
69
+ ### čŒč´Ŗåˆ†åˇĨ
70
+
71
+ - **.agent/rules/**: æ‹Ĩæœ‰čˇ¨æ‰€æœ‰æ”¯æŒč¯­č¨€įš„ AI Agent æƒå¨čĄŒä¸ēé€ģčž‘ã€‚
72
+ - **scripts/**: æ‹Ĩæœ‰čˇ¨åšŗå°č‡ĒåŠ¨åŒ–å’Œį”Ÿå‘Ŋ周期é€ģčž‘ã€‚
73
+ - **.agent/workflows/**: æ‹Ĩ有äē¤äē’åŧ AI å‘Ŋäģ¤ (SpecKit)。
74
+
75
+ ---
76
+
77
+ ## 📖 įŦŦ 2 节 — äŊŋį”¨æŒ‡å—
78
+
79
+ ### 前įŊŽæĄäģļ
80
+
81
+ - **čŋčĄŒæ—ļ**: Node.js (>= 20.x), Python (>= 3.10.x)。
82
+ - **Git**: 需čĻå…¨åą€åŽ‰čŖ… git。
83
+ - **Make**: įģŸä¸€å‘Ŋä줿‰§čĄŒæ‰€åŋ…需。
84
+
85
+ ### åŋĢ速åŧ€å§‹
86
+
87
+ 1. **åˆå§‹åŒ–ä¸ŽåŽ‰čŖ…**īŧš`unirtm install`īŧˆåމ誅åŧ€å‘所需核åŋƒåˇĨå…ˇä¸ŽéĄšį›Žäžčĩ–īŧ‰ã€‚
88
+ 2. **énj蝁**īŧš`make verify`īŧˆįĄŽäŋįޝåĸƒåĨåēˇīŧ‰ã€‚
89
+
90
+ ### 配įŊŽå‚č€ƒ
91
+
92
+ | 参数 | ᔍ途 | äŊįŊŽ |
93
+ | :------------- | :----------------------------------------- | :---------------------- |
94
+ | `PROJECT_NAME` | éĄšį›ŽčēĢäģŊ | `init-project.sh` |
95
+ | `GITHUB_PROXY` | įŊ‘įģœäŧ˜åŒ– (见 [äģŖį†äŊŋᔍåœē](#-äģŖį†äŊŋᔍåœē景)) | `scripts/lib/common.sh` |
96
+ | `VERSION` | č¯­äš‰åŒ–į‰ˆæœŦ | `package.json` |
97
+
98
+ ### į›ŽåŊ•į쓿ž„
99
+
100
+ ```text
101
+ project-root/
102
+ ├── .agent/ # 🤖 权威 AI 配įŊŽ (大脑)
103
+ │ ├── rules/ # 📏 įģŸä¸€ AI 行ä¸ēč§„åˆ™ (80+ åĨ—äģļ, SSoT)
104
+ │ └── workflows/ # đŸ› ī¸ įģŸä¸€å‘Ŋäģ¤ä¸Ž AI åˇĨäŊœæĩ (SpecKit)
105
+ ├── .agents/ # 🧩 å…ąäēĢå‘Ŋäģ¤æē (č‡ĒåŠ¨įŽĄį†įš„čŊ¯é“žæŽĨ)
106
+ ├── .github/ # 🐙 GitHub 集成与 Copilot 莞įŊŽ
107
+ ├── .vscode/ # đŸ’ģ äŧ˜åŒ–įš„ VS Code 配įŊŽ
108
+ └── src/ # đŸ“Ļ æ‚¨įš„åŽžé™…åē”ᔍæēäģŖį 
109
+ ```
110
+
111
+ ---
112
+
113
+ ## đŸ› ī¸ įŦŦ 3 节 — čŋįģ´æŒ‡å—
114
+
115
+ ### 部įŊ˛å‰æŖ€æŸĨ清单
116
+
117
+ 1. čŋčĄŒ `make verify` įĄŽäŋæ‰€æœ‰č´¨é‡é—¨įĻå‡ä¸ēįģŋč‰˛ã€‚
118
+ 2. čŋčĄŒ `make audit` éĒŒč¯åŽ‰å…¨åˆč§„æ€§ã€‚
119
+ 3. įĄŽäŋ `CHANGELOG.md` åˇ˛æ›´æ–°ã€‚
120
+
121
+ ### 性čƒŊ考虑
122
+
123
+ - **Lint 速åēĻ**: Pre-commit 钊子通čŋ‡äģ…æ‰Ģ描暂存文äģļīŧŒį›Žæ ‡č€—æ—ļ < 5s。
124
+ - **CI 吞吐量**: GitHub Actions äŊŋį”¨įŸŠé˜ĩ构åģē在不同操äŊœįŗģįģŸä¸Šåšļ行æĩ‹č¯•。
125
+
126
+ ### 故障排除
127
+
128
+ - **问éĸ˜**: `unirtm install` 在 Windows ä¸Šå¤ąč´Ĩ。
129
+ - **č¯Šæ–­**: æŖ€æŸĨ `ExecutionPolicy` 是åĻå…čŽ¸č„šæœŦæ‰§čĄŒã€‚
130
+ - **č§Ŗå†ŗæ–šæĄˆ**: čŋčĄŒ `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`。
131
+ - **问éĸ˜**: Gitleaks æŖ€æĩ‹åˆ°č¯¯æŠĨ。
132
+ - **č¯Šæ–­**: æŖ€æŸĨ `.gitleaks.toml` į™Ŋ名单。
133
+ - **č§Ŗå†ŗæ–šæĄˆ**: å°†į‰šåžį æˇģ加到 `.gitleaksignore`。
134
+ - **问éĸ˜**: `unirtm install` 后īŧŒmacOS ä¸Šįš„ Pre-commit 钊子å‡ēįŽ° Python æŠĨ错。
135
+ - **č¯Šæ–­**: æŖ€æŸĨ venv 是åĻ存在īŧš`ls .venv/bin/python`。
136
+ - **č§Ŗå†ŗæ–šæĄˆ**: 重åģē venvīŧš`rm -rf .venv && unirtm install`。
137
+
138
+ ---
139
+
140
+ ## 🔒 įŦŦ 4 节 — åŽ‰å…¨æŗ¨æ„äē‹éĄš
141
+
142
+ ### åŽ‰å…¨æ¨Ąåž‹
143
+
144
+ - **æœēå¯†įŽĄį†**: 所有æœē密åŋ…éĄģ通čŋ‡įޝåĸƒå˜é‡æŗ¨å…Ĩæˆ–į”ą HashiCorp Vault å¤„į†ã€‚ä¸ĨįĻæäē¤ `.env` 文äģļ。
145
+ - **åŽĄčŽĄæ—Ĩåŋ—**: æ‰€æœ‰å…ŗé”Žæ“äŊœīŧˆæäē¤ã€å‘布、įŠļ态变更īŧ‰å‡é€ščŋ‡ Git 和 CI æ—Ĩåŋ—čްåŊ•。
146
+ - **供åē”铞**: 所有 CI Action å‡é”åŽšåˆ°į˛žįĄŽįš„į‰ˆæœŦ/SHA。
147
+
148
+ ### 最äŊŗåŽžčˇĩ
149
+
150
+ | įģ´åēĻ | čĻæą‚ | åŽžįŽ° |
151
+ | :----- | :--------------- | :---------------------------- |
152
+ | æœē密 | äģ“åē“中无明文æœē密 | 提ä礿—ļåŧēåˆļæ‰§čĄŒ `gitleaks` |
153
+ | 厌整性 | éĒŒč¯ä¸‹čŊŊ内厚 | `common.sh` ä¸­įš„ SHA-256 æ Ąénj |
154
+ | 权限 | 非 root æ‰§čĄŒ | Dockerfile 最äŊŗåŽžčˇĩ |
155
+
156
+ ---
157
+
158
+ ## 🧑‍đŸ’ģ įŦŦ 5 节 — åŧ€å‘č€…æŒ‡å—
159
+
160
+ ### äģŖį įģ„įģ‡ (Code Organization)
161
+
162
+ ```text
163
+ project-root/
164
+ ├── .agent/ # AI 配įŊŽīŧˆå•一äē‹åŽžæĨæēīŧ‰
165
+ │ ├── rules/ # 88 ä¸Ē AI Agent 行ä¸ēč§„åˆ™æ–‡äģļ
166
+ │ └── workflows/ # SpecKit 斜杠å‘Ŋäģ¤åŽšäš‰
167
+ ├── .github/ # GitHub į”Ÿæ€īŧˆActionsã€æ¨Ąæŋ、Dependabotīŧ‰
168
+ │ └── workflows/ # CI/CD æĩæ°´įēŋīŧˆlint、verify、release、securityīŧ‰
169
+ ├── .devcontainer/ # DevContainer 配įŊŽīŧŒäŋéšœå¯å¤įŽ°įš„åŧ€å‘įŽ¯åĸƒ
170
+ ├── docs/ # éĄšį›Žæ–‡æĄŖ
171
+ │ ├── adr/ # æžļæž„å†ŗį­–čŽ°åŊ•
172
+ │ ├── runbooks/ # čŋįģ´ä¸Žæĸ复手册
173
+ │ └── glossary.md # ä¸­č‹ąæ–‡å¯šį…§æœ¯č¯­čĄ¨
174
+ ├── scripts/ # POSIX Shell č‡ĒåŠ¨åŒ–č„šæœŦīŧˆsetup、install、verifyīŧ‰
175
+ │ └── lib/ # å…ąäēĢ Shell åē“å‡Ŋ数
176
+ └── Makefile # äģģåŠĄįŧ–排īŧˆsetup、install、lint、verify、auditīŧ‰
177
+ ```
178
+
179
+ **å‘Ŋåč§„čŒƒ**īŧšæ ¸åŋƒč§„则文äģļäŊŋᔍ `NN-៭æ¨Ēįēŋå‘Ŋ名.md`īŧŒč¯­č¨€æ ˆč§„则äŊŋᔍ `technology.md`īŧŒ
180
+ åˇĨäŊœæĩæ–‡äģļäŊŋᔍ `namespace.verb.md`īŧŒShell 脚æœŦäŊŋᔍ `kebab-case.sh`。
181
+
182
+ ### æ‰Šåą•į‚š
183
+
184
+ 1. **æˇģåŠ č§„åˆ™**: 在 `.agent/rules/` 中创åģēæ–°įš„ `.md` 文äģļīŧŒåšļ在 `00-index.md` ä¸­å…ŗč”ã€‚
185
+ 2. **æˇģ加å‘Ŋäģ¤**: 将 `.md` 文äģᅫģ加到 `.agent/workflows/`。
186
+ 3. **æˇģ加 IDE 支持**: æŒ‰į…§ Rule 03 ä¸­įš„čŊ¯é“žæŽĨæ¨Ąåŧåˆ›åģē重厚向文äģļ多īŧˆäž‹åĻ‚ `.myide/`īŧ‰ã€‚
187
+
188
+ ### æœŦ地åŧ€å‘莞įŊŽ
189
+
190
+ ```bash
191
+ git clone <repo>
192
+ cd <repo>
193
+ git config core.ignorecase false # Mac/Windows į”¨æˆˇåŋ…éĄģæ‰§čĄŒæ­¤čŽžįŊŽ
194
+ unirtm install
195
+ ```
196
+
197
+ ### å‚č€ƒčĩ„æ–™
198
+
199
+ - [åŽŒæ•´æ–‡æĄŖ](docs/index.md)
200
+ - [éĄšį›Žæœ¯č¯­čĄ¨](docs/glossary.md)
201
+ - [įēĻ厚åŧæäē¤](https://www.conventionalcommits.org/)
202
+
203
+ ### 🚀 äģŖį†äŊŋᔍåœē景
204
+
205
+ `GITHUB_PROXY` (éģ˜čޤ: `https://gh-proxy.sn0wdr1am.com/`) é’ˆå¯šį‰šåŽšįš„įŊ‘įģœåŠ é€Ÿåœē景čŋ›čĄŒäē†äŧ˜åŒ–ã€‚åœ¨ä¸æ”¯æŒįš„åčŽŽīŧˆåĻ‚ Gitīŧ‰ä¸Šč¯¯į”¨åރäŧšå¯ŧč‡´é”™č¯¯ã€‚
206
+
207
+ | åœē景 | 是åĻ支持 | į¤ē例 / č¯´æ˜Ž |
208
+ | :--------------------- | :------------ | :--------------------------------------------- |
209
+ | **Release 文äģļ** | ✅ 支持 | `.../releases/download/v1.0/tool.zip` |
210
+ | **æēį åŊ’æĄŖ (Archive)** | ✅ 支持 | `.../archive/master.zip` 或 `.tar.gz` |
211
+ | **文äģļį›´æŽĨ链æŽĨ** | ✅ 支持 | `.../blob/master/filename` |
212
+ | **Git Clone** | ❌ **不支持** | **蝎å‹ŋ**ᔍäēŽ `git clone` 或 `insteadOf` 配įŊŽã€‚ |
213
+ | **éĄšį›Žæ–‡äģļ多** | ❌ **不支持** | 不支持通čŋ‡äģŖį†čŋ›čĄŒéĄšį›Žæ–‡äģļå¤šįš„æĩč§ˆæˆ–克隆。 |
214
+
215
+ > [!IMPORTANT]
216
+ > ä¸ēäē†é˜˛æ­ĸį ´ååˇĨå…ˇé“žīŧˆåĻ‚ `mise` 或 `asdf`īŧ‰īŧŒæœŦæ¨Ąæŋ昞åŧįρᔍäē†é€ščŋ‡æ­¤äģŖį†čŋ›čĄŒįš„ Git é‡åŽšå‘ã€‚č¯ˇäģ…åœ¨č„šæœŦ中čŋ›čĄŒį›´æŽĨ HTTP 下čŊŊæ—ļäŊŋį”¨åŽƒã€‚
217
+
218
+ ---
219
+
220
+ ## 📄 čŽ¸å¯č¯
221
+
222
+ æœŦéĄšį›Žé‡‡į”¨ **MIT čŽ¸å¯č¯** 授权。
223
+ į‰ˆæƒæ‰€æœ‰ (c) 2026-įŽ°åœ¨ [SnowdreamTech Inc.](https://github.com/snowdreamtech)
224
+ č¯Ļ见 [LICENSE](./LICENSE) 文äģļ。
225
+
226
+ ## Star History
227
+
228
+ [![Star History Chart](https://api.star-history.com/image?repos=snowdreamtech/template&type=date&legend=top-left)](https://www.star-history.com/?repos=snowdreamtech%2Ftemplate&type=date&legend=top-left)
package/install.js ADDED
@@ -0,0 +1,145 @@
1
+ #!/usr/bin/env node
2
+ // install.js - Root package entry point for @snowdreamtech/unirtm
3
+ //
4
+ // This script is both the `bin` entry and the `postinstall` hook.
5
+ // It locates the correct platform-specific binary and either:
6
+ // - Runs it (when invoked as CLI)
7
+ // - Validates the installation (when invoked via postinstall)
8
+
9
+ 'use strict';
10
+
11
+ const { execFileSync, spawnSync } = require('child_process');
12
+ const path = require('path');
13
+ const fs = require('fs');
14
+ const os = require('os');
15
+
16
+ // ---------------------------------------------------------------------------
17
+ // Platform detection
18
+ // ---------------------------------------------------------------------------
19
+
20
+ /**
21
+ * Map Node.js process.platform + process.arch to npm package suffix.
22
+ * @returns {string} package suffix e.g. "linux-x64"
23
+ */
24
+ function getPlatformPackageSuffix() {
25
+ const platform = process.platform; // 'darwin' | 'linux' | 'win32'
26
+ const arch = process.arch; // 'x64' | 'arm64' | 'arm' | 'ia32'
27
+
28
+ // ARM sub-arch detection (armv5/armv6/armv7)
29
+ // process.config.variables.arm_version is available in some Node builds
30
+ const armVersion = (process.config && process.config.variables && process.config.variables.arm_version) || '';
31
+
32
+ if (platform === 'darwin') {
33
+ if (arch === 'arm64') return 'darwin-arm64';
34
+ if (arch === 'x64') return 'darwin-x64';
35
+ }
36
+
37
+ if (platform === 'linux') {
38
+ if (arch === 'x64') return 'linux-x64';
39
+ if (arch === 'arm64') return 'linux-arm64';
40
+ if (arch === 'ia32') return 'linux-ia32';
41
+ if (arch === 'arm') {
42
+ if (armVersion === '5') return 'linux-arm-5';
43
+ if (armVersion === '6') return 'linux-arm-6';
44
+ return 'linux-arm'; // armv7 default
45
+ }
46
+ if (arch === 'loong64') return 'linux-loong64';
47
+ if (arch === 'ppc64') return 'linux-ppc64le';
48
+ if (arch === 'riscv64') return 'linux-riscv64';
49
+ if (arch === 's390x') return 'linux-s390x';
50
+ }
51
+
52
+ if (platform === 'win32') {
53
+ if (arch === 'x64') return 'windows-x64';
54
+ if (arch === 'arm64') return 'windows-arm64';
55
+ if (arch === 'ia32') return 'windows-ia32';
56
+ }
57
+
58
+ throw new Error(
59
+ `Unsupported platform: ${platform}-${arch}\n` +
60
+ 'Please open an issue at https://github.com/snowdreamtech/unirtm/issues'
61
+ );
62
+ }
63
+
64
+ // ---------------------------------------------------------------------------
65
+ // Binary resolution
66
+ // ---------------------------------------------------------------------------
67
+
68
+ /**
69
+ * Locate the platform binary from the optional dependency package.
70
+ * @param {string} suffix e.g. "linux-x64"
71
+ * @returns {string} absolute path to the binary
72
+ */
73
+ function resolveBinary(suffix) {
74
+ const pkgName = `@snowdreamtech/unirtm-${suffix}`;
75
+ const binaryName = process.platform === 'win32' ? 'unirtm.exe' : 'unirtm';
76
+
77
+ // Strategy 1: resolve via require.resolve (works when package is installed)
78
+ try {
79
+ const pkgJsonPath = require.resolve(`${pkgName}/package.json`);
80
+ const pkgDir = path.dirname(pkgJsonPath);
81
+ const binPath = path.join(pkgDir, 'bin', binaryName);
82
+ if (fs.existsSync(binPath)) {
83
+ return binPath;
84
+ }
85
+ } catch (_) {
86
+ // package not found via require.resolve, try manual search
87
+ }
88
+
89
+ // Strategy 2: walk up node_modules hierarchy
90
+ let dir = __dirname;
91
+ for (let i = 0; i < 10; i++) {
92
+ const candidate = path.join(dir, 'node_modules', pkgName, 'bin', binaryName);
93
+ if (fs.existsSync(candidate)) {
94
+ return candidate;
95
+ }
96
+ const parent = path.dirname(dir);
97
+ if (parent === dir) break;
98
+ dir = parent;
99
+ }
100
+
101
+ throw new Error(
102
+ `Could not find binary for ${pkgName}.\n` +
103
+ 'Try reinstalling @snowdreamtech/unirtm:\n' +
104
+ ' npm install @snowdreamtech/unirtm\n\n' +
105
+ `Platform: ${process.platform}-${process.arch}`
106
+ );
107
+ }
108
+
109
+ // ---------------------------------------------------------------------------
110
+ // Entry point
111
+ // ---------------------------------------------------------------------------
112
+
113
+ const isPostInstall = process.env.npm_lifecycle_event === 'postinstall';
114
+
115
+ if (isPostInstall) {
116
+ // Postinstall: just validate that the binary can be found
117
+ try {
118
+ const suffix = getPlatformPackageSuffix();
119
+ const binPath = resolveBinary(suffix);
120
+ const result = spawnSync(binPath, ['--version'], { encoding: 'utf8' });
121
+ if (result.status === 0) {
122
+ process.stdout.write(`✅ unirtm installed successfully (${binPath})\n`);
123
+ }
124
+ } catch (err) {
125
+ // Non-fatal: postinstall failure should not break npm install
126
+ process.stderr.write(`âš ī¸ unirtm: ${err.message}\n`);
127
+ }
128
+ } else {
129
+ // CLI invocation: forward all arguments to the native binary
130
+ try {
131
+ const suffix = getPlatformPackageSuffix();
132
+ const binPath = resolveBinary(suffix);
133
+ const args = process.argv.slice(2);
134
+
135
+ const result = spawnSync(binPath, args, {
136
+ stdio: 'inherit',
137
+ windowsHide: false,
138
+ });
139
+
140
+ process.exit(result.status !== null ? result.status : 1);
141
+ } catch (err) {
142
+ process.stderr.write(`Error: ${err.message}\n`);
143
+ process.exit(1);
144
+ }
145
+ }
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@snowdreamtech/unirtm",
3
+ "version": "0.0.1",
4
+ "description": "UniRTM - Universal Runtime Manager: enterprise-grade foundational toolchain for multi-AI IDE collaboration",
5
+ "license": "MIT",
6
+ "homepage": "https://github.com/snowdreamtech/unirtm",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/snowdreamtech/unirtm"
10
+ },
11
+ "bugs": {
12
+ "url": "https://github.com/snowdreamtech/unirtm/issues"
13
+ },
14
+ "keywords": [
15
+ "unirtm",
16
+ "runtime",
17
+ "manager",
18
+ "toolchain",
19
+ "ai",
20
+ "ide"
21
+ ],
22
+ "bin": {
23
+ "unirtm": "install.js"
24
+ },
25
+ "scripts": {
26
+ "postinstall": "node install.js"
27
+ },
28
+ "files": [
29
+ "install.js",
30
+ "LICENSE",
31
+ "README.md",
32
+ "README_zh-CN.md"
33
+ ],
34
+ "optionalDependencies": {
35
+ "@snowdreamtech/unirtm-darwin-arm64": "0.0.1",
36
+ "@snowdreamtech/unirtm-darwin-x64": "0.0.1",
37
+ "@snowdreamtech/unirtm-linux-x64": "0.0.1",
38
+ "@snowdreamtech/unirtm-linux-arm64": "0.0.1",
39
+ "@snowdreamtech/unirtm-linux-ia32": "0.0.1",
40
+ "@snowdreamtech/unirtm-linux-arm": "0.0.1",
41
+ "@snowdreamtech/unirtm-linux-arm-5": "0.0.1",
42
+ "@snowdreamtech/unirtm-linux-arm-6": "0.0.1",
43
+ "@snowdreamtech/unirtm-linux-loong64": "0.0.1",
44
+ "@snowdreamtech/unirtm-linux-ppc64le": "0.0.1",
45
+ "@snowdreamtech/unirtm-linux-riscv64": "0.0.1",
46
+ "@snowdreamtech/unirtm-linux-s390x": "0.0.1",
47
+ "@snowdreamtech/unirtm-windows-x64": "0.0.1",
48
+ "@snowdreamtech/unirtm-windows-arm64": "0.0.1",
49
+ "@snowdreamtech/unirtm-windows-ia32": "0.0.1"
50
+ },
51
+ "engines": {
52
+ "node": ">=18"
53
+ }
54
+ }