@datamitsu/datamitsu-linux-arm64 0.0.3-alpha-30 β†’ 0.0.4-rc.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.
Files changed (3) hide show
  1. package/README.md +223 -25
  2. package/datamitsu +0 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,52 +1,250 @@
1
- <!-- This file is intentionally minimal. Full documentation lives in website/docs/ -->
2
-
3
1
  # datamitsu
4
2
 
5
- > Your toolchain deserves a home.
3
+ <p align="center">
4
+ <img src="https://datamitsu.com/img/logo.png" alt="datamitsu" width="400" />
5
+ </p>
6
+
7
+ <p align="center">
8
+ <a href="https://github.com/datamitsu/datamitsu/actions/workflows/pr-checks.yml"><img src="https://github.com/datamitsu/datamitsu/actions/workflows/pr-checks.yml/badge.svg" alt="build"></a>
9
+ <a href="https://goreportcard.com/report/github.com/datamitsu/datamitsu"><img src="https://goreportcard.com/badge/github.com/datamitsu/datamitsu?v=2" alt="Go Report Card"></a>
10
+ <img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT">
11
+ </p>
6
12
 
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
13
+ > Your toolchain deserves a home.
8
14
 
9
15
  > **Alpha**: This project is in alpha. The configuration API is not yet stabilized and may change between versions.
10
16
 
11
- Every stack comes with a configuration tax. You pay it on the first project, then the second, then every time a tool updatesβ€”and it breaks differently in each repo. **datamitsu exists so you pay this tax only once.**
17
+ A configuration management and binary distribution tool for development tools. It downloads, verifies (SHA-256), and manages binaries and runtime-managed tools across platforms using JavaScript-powered configuration.
18
+
19
+ - **Secure.** Mandatory SHA-256 verification for all downloads. No exceptions.
20
+ - **Isolated.** Per-app environments with content-addressable storage.
21
+ - **Reproducible.** Cached binaries, lock files, and platform-specific builds.
22
+
23
+ πŸ“– [Documentation](https://datamitsu.com)
12
24
 
13
- A platform for building reproducible, security-first development tool distributions. It downloads, verifies (SHA-256), and manages binaries and runtime-managed tools across platforms, using JavaScript-powered configuration with inheritance and chaining. Install one package, get everything configured.
25
+ ## Install
14
26
 
15
- ## Quick Start
27
+ With **npm**:
16
28
 
17
29
  ```bash
18
- # Build from source
19
- go build
30
+ npm install @datamitsu/datamitsu
31
+ ```
20
32
 
21
- # Initialize tools
22
- ./datamitsu init
33
+ With **Go** (>= 1.23):
23
34
 
24
- # Run checks
25
- ./datamitsu check
35
+ ```bash
36
+ go install github.com/datamitsu/datamitsu@latest
26
37
  ```
27
38
 
39
+ **[Installation guide](https://datamitsu.com/docs/getting-started/installation)** with more installation options.
40
+
41
+ ## Usage
42
+
43
+ Initialize your toolchain and run checks:
44
+
45
+ #### TL;DR
46
+
47
+ ```bash
48
+ # Initialize tools (downloads binaries, creates .datamitsu/ configs)
49
+ npx datamitsu init
50
+
51
+ # Run fix then lint
52
+ npx datamitsu check
53
+
54
+ # Or run separately
55
+ npx datamitsu fix
56
+ npx datamitsu lint
57
+
58
+ # Execute a managed binary
59
+ npx datamitsu exec shellcheck script.sh
60
+ ```
61
+
62
+ #### More details
63
+
64
+ - [**Quick Start Guide**](https://datamitsu.com/docs/getting-started/quick-start)
65
+ - [**CLI Commands**](https://datamitsu.com/docs/reference/cli-commands)
66
+ - [**Configuration API**](https://datamitsu.com/docs/reference/configuration-api)
67
+
68
+ ## Why datamitsu
69
+
70
+ - ### **Security-first binary management**
71
+
72
+ All binaries require SHA-256 verification. No hash, no download. [docs](https://datamitsu.com/docs/guides/architecture)
73
+
74
+ ```javascript
75
+ export function getConfig(prev) {
76
+ return {
77
+ ...prev,
78
+ apps: {
79
+ hadolint: {
80
+ binaries: {
81
+ linux: {
82
+ amd64: {
83
+ glibc: {
84
+ url: "https://github.com/hadolint/hadolint/releases/download/v2.14.0/hadolint-linux-x86_64",
85
+ hash: "6bf226944684f56c84dd014e8b979d27425c0148f61b3bd99bcc6f39e9dc5a47",
86
+ contentType: "binary",
87
+ },
88
+ },
89
+ },
90
+ },
91
+ },
92
+ },
93
+ };
94
+ }
95
+ ```
96
+
97
+ - ### **Isolated environments per app**
98
+
99
+ Each app gets its own environment with content-addressable storage. Multiple versions coexist. [docs](https://datamitsu.com/docs/guides/runtime-management)
100
+
101
+ ```javascript
102
+ export function getConfig(prev) {
103
+ return {
104
+ ...prev,
105
+ apps: {
106
+ eslint: {
107
+ fnm: {
108
+ packageName: "eslint",
109
+ version: "10.0.0",
110
+ },
111
+ // Cached at: .apps/fnm/eslint/{hash}/node_modules
112
+ },
113
+ "eslint-legacy": {
114
+ fnm: {
115
+ packageName: "eslint",
116
+ version: "9.17.0",
117
+ },
118
+ // Cached at: .apps/fnm/eslint-legacy/{hash}/node_modules
119
+ },
120
+ },
121
+ };
122
+ }
123
+ ```
124
+
125
+ - ### **Managed configuration distribution**
126
+
127
+ Distribute configs from runtime-managed apps via symlinks. [docs](https://datamitsu.com/docs/guides/managed-configs)
128
+
129
+ ```javascript
130
+ export function getConfig(prev) {
131
+ return {
132
+ ...prev,
133
+ apps: {
134
+ "my-eslint-config": {
135
+ fnm: {
136
+ packageName: "@myorg/eslint-config",
137
+ version: "2.0.0",
138
+ },
139
+ links: {
140
+ "eslint-config": "dist/eslint.config.js",
141
+ },
142
+ },
143
+ },
144
+ };
145
+ }
146
+ ```
147
+
148
+ Creates `.datamitsu/` with symlinks:
149
+
150
+ ```
151
+ .datamitsu/
152
+ └── eslint-config β†’ ../.apps/fnm/my-eslint-config/{hash}/dist/eslint.config.js
153
+ ```
154
+
155
+ - ### **Layered configuration**
156
+
157
+ Chain configs with inheritance and remote config support. [docs](https://datamitsu.com/docs/guides/configuration-layers)
158
+
159
+ ```javascript
160
+ // datamitsu.config.ts
161
+ export function getRemoteConfigs() {
162
+ return [
163
+ {
164
+ url: "https://example.com/base-config.ts",
165
+ hash: "sha256:abc123...",
166
+ },
167
+ ];
168
+ }
169
+
170
+ export function getConfig(prev) {
171
+ return {
172
+ ...prev,
173
+ apps: {
174
+ ...prev.apps,
175
+ // Override or add apps here
176
+ },
177
+ };
178
+ }
179
+ ```
180
+
181
+ - ### **JavaScript configuration engine**
182
+
183
+ Full goja runtime with built-in APIs for path manipulation, formatting (YAML/TOML/INI), and hashing. [docs](https://datamitsu.com/docs/reference/configuration-api)
184
+
185
+ ```javascript
186
+ export function getConfig(prev) {
187
+ return {
188
+ ...prev,
189
+ init: {
190
+ "lefthook.yaml": {
191
+ content: (context) => {
192
+ const existing = YAML.parse(context.existingContent || "");
193
+ return YAML.stringify({
194
+ ...existing,
195
+ "pre-commit": {
196
+ commands: {
197
+ "datamitsu-fix": { run: "datamitsu fix" },
198
+ },
199
+ },
200
+ });
201
+ },
202
+ },
203
+ },
204
+ };
205
+ }
206
+ ```
207
+
208
+ - ### **Programmatic API**
209
+
210
+ If you need to integrate datamitsu into your build scripts or tools, a type-safe JavaScript API is available. [docs](https://datamitsu.com/docs/reference/js-api)
211
+
212
+ ```javascript
213
+ import { fix, lint } from "@datamitsu/datamitsu";
214
+
215
+ await fix({ files: ["src/generated.ts"] });
216
+ const result = await lint({ explain: "json" });
217
+ ```
218
+
219
+ ---
220
+
28
221
  ## Documentation
29
222
 
30
- Full documentation is available at [https://datamitsu.com](https://datamitsu.com) or locally in [`website/docs/`](website/docs/).
223
+ Full documentation is available at [https://datamitsu.com](https://datamitsu.com)
31
224
 
32
225
  **Getting Started:**
33
226
 
34
- - [Installation](website/docs/getting-started/installation.md)
35
- - [Quick Start Guide](website/docs/getting-started/quick-start.md)
36
- - [About datamitsu](website/docs/about.md) β€” Why datamitsu exists and what makes it unique
227
+ - [Installation](https://datamitsu.com/docs/getting-started/installation)
228
+ - [Quick Start Guide](https://datamitsu.com/docs/getting-started/quick-start)
229
+ - [About datamitsu](https://datamitsu.com/docs/about) β€” Why datamitsu exists
37
230
 
38
- **Reference:**
231
+ **Guides:**
39
232
 
40
- - [CLI Commands](website/docs/reference/cli-commands.md)
41
- - [Configuration API](website/docs/reference/configuration-api.md)
42
- - [Comparison with mise/moon/Nx](website/docs/reference/comparison.md)
233
+ - [Runtime Management](https://datamitsu.com/docs/guides/runtime-management)
234
+ - [Managed Configs](https://datamitsu.com/docs/guides/managed-configs)
235
+ - [Configuration Layers](https://datamitsu.com/docs/guides/configuration-layers)
236
+ - [Architecture](https://datamitsu.com/docs/guides/architecture)
237
+
238
+ **Reference:**
43
239
 
44
- ## Contributing
240
+ - [CLI Commands](https://datamitsu.com/docs/reference/cli-commands)
241
+ - [Configuration API](https://datamitsu.com/docs/reference/configuration-api)
242
+ - [JavaScript API](https://datamitsu.com/docs/reference/js-api)
243
+ - [Comparison with mise/moon/Nx](https://datamitsu.com/docs/reference/comparison)
45
244
 
46
- Contributions are welcome! See the [Contributing Guide](website/docs/contributing/index.md) to get started.
245
+ ## Support datamitsu
47
246
 
48
- - [Brand Guidelines](website/docs/contributing/brand-guidelines.md) β€” Voice, tone, and style
49
- - [Creating Wrapper Packages](website/docs/contributing/creating-wrappers.md) β€” Build config distributions
247
+ ❀️ [Sponsor datamitsu](https://datamitsu.com/sponsor)
50
248
 
51
249
  ## License
52
250
 
package/datamitsu CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datamitsu/datamitsu-linux-arm64",
3
- "version": "0.0.3-alpha-30",
3
+ "version": "0.0.4-rc.1",
4
4
  "description": "The Linux ARM64 binary for datamitsu, configuration management and binary distribution tool",
5
5
  "repository": {
6
6
  "type": "git",