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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eitri-cli",
3
- "version": "1.52.0-beta.1",
3
+ "version": "1.52.0",
4
4
  "description": "Command Line Interface to make \"Eitri-App\" with code and fire.",
5
5
  "main": "index.js",
6
6
  "bin": {
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`