eitri-cli 1.52.0-beta.1 → 1.52.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.
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/CLAUDE.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# CLAUDE.md
|
|
2
|
-
|
|
3
|
-
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
-
|
|
5
|
-
## Setup
|
|
6
|
-
|
|
7
|
-
Prerequisites: Node.js >= 16, Rust and Cargo installed.
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
# Root dependencies
|
|
11
|
-
npm i
|
|
12
|
-
|
|
13
|
-
# Build the Rust native module (required before running)
|
|
14
|
-
cd eitri-cli-v2 && npm i && npm run build && cd ..
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Common Commands
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
# Run tests
|
|
21
|
-
npm test # or: npm run test-eitri
|
|
22
|
-
|
|
23
|
-
# Lint with auto-fix
|
|
24
|
-
npm run linter
|
|
25
|
-
|
|
26
|
-
# Install and run locally
|
|
27
|
-
./install-dev.sh # Linux/MacOS
|
|
28
|
-
./install-dev.bat # Windows
|
|
29
|
-
eitri <command>
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Jest test timeout is 100 seconds. Run a single test file with:
|
|
33
|
-
```bash
|
|
34
|
-
NODE_APP_INSTANCE=eitri npx jest --detectOpenHandles path/to/test.js
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Architecture
|
|
38
|
-
|
|
39
|
-
This is a **hybrid Node.js + Rust CLI** (the `eitri` binary) for developing Eitri-Apps on the Eitri mobile platform.
|
|
40
|
-
|
|
41
|
-
### Entry Flow
|
|
42
|
-
|
|
43
|
-
1. `index-eitri.js` (bin entry) — sets `NODE_APP_INSTANCE=eitri`, generates a UUID session ID, calls `index.js`
|
|
44
|
-
2. `index.js` — Commander.js v9 CLI parser; loads config from `config/` via `NODE_CONFIG_DIR`; delegates to Rust or JS handlers
|
|
45
|
-
3. **Rust layer**: `eitri-cli-v2/` — NAPI-RS native bindings compiled to platform-specific `.node` files. Most active commands live here.
|
|
46
|
-
4. **JS layer**: `src/modules/` — legacy commands still in JavaScript
|
|
47
|
-
|
|
48
|
-
### Command Routing
|
|
49
|
-
|
|
50
|
-
Commands implemented in Rust (`eitri-cli-v2/src/commands/`), called via NAPI bindings:
|
|
51
|
-
- `login`, `create`, `start`, `push-version`, `clean`, `test`, `publish`, `doctor`, `libs`, `gpt`, `self-update`
|
|
52
|
-
|
|
53
|
-
Commands still in JavaScript (`src/modules/`):
|
|
54
|
-
- `vegvisir` / `workspace` — workspace management (list, use, create, current, clean)
|
|
55
|
-
- `app` — multi-app orchestration (start, logs, clean, create, checkout, snapshot)
|
|
56
|
-
- `agents` — AI agent environment setup (LLM env vars)
|
|
57
|
-
|
|
58
|
-
Pre-command middleware (in `index.js`) runs connection checks and update checks before most commands, skipping them for `version`, `-v`, and `self-update`.
|
|
59
|
-
|
|
60
|
-
### Configuration
|
|
61
|
-
|
|
62
|
-
Environment configs in `config/` use the `node-config` pattern, selected by `NODE_APP_INSTANCE` (always `eitri`) and `NODE_CONFIG_DIR`. Files: `default-eitri.js`, `dev.js`, `prod-eitri.js`, etc.
|
|
63
|
-
|
|
64
|
-
### Release Workflow
|
|
65
|
-
|
|
66
|
-
Uses [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) — required for automated versioning via semantic-release.
|
|
67
|
-
|
|
68
|
-
- Branch from `beta` → PR to `beta` → merging publishes a `beta` NPM prerelease
|
|
69
|
-
- PR from `beta` → `master` → merging publishes a stable NPM release
|
|
70
|
-
|
|
71
|
-
Allowed commit types: `build`, `chore`, `ci`, `docs`, `feat`, `fix`, `perf`, `refactor`, `revert`, `style`, `test`
|