@elding/cli 0.9.0 → 0.9.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/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # @elding/cli
2
+
3
+ Le CLI Elding. Lance ton app en local avec tes clés API injectées par un proxy :
4
+ la vraie clé n'entre jamais dans la mémoire de ton app.
5
+
6
+ ```bash
7
+ npm install -g @elding/cli
8
+ ```
9
+
10
+ ## Démarrage
11
+
12
+ ```bash
13
+ elding login # connexion (ouvre le navigateur)
14
+ elding init # lie le dossier courant à un set de secrets
15
+ elding proxy -- npm run dev # lance ton app avec le proxy actif
16
+ ```
17
+
18
+ Dans ton code, utilise [`@elding/sdk`](https://www.npmjs.com/package/@elding/sdk)
19
+ (`configure()` pour les clés HTTP, `secret()` pour le reste).
20
+
21
+ ## Commandes
22
+
23
+ | Commande | Rôle |
24
+ |---|---|
25
+ | `elding login` / `logout` | Connexion / déconnexion (token dans le keychain de l'OS) |
26
+ | `elding init` | Lie le projet à une organisation + un set |
27
+ | `elding proxy -- <cmd>` | Lance `<cmd>` avec le proxy local (clé hors process) |
28
+ | `elding run -- <cmd>` | Injecte les secrets en variables d'env (si autorisé par l'org) |
29
+ | `elding keys` / `sets` | Liste les clés / les sets |
30
+ | `elding use` | Change le set actif |
31
+ | `elding status` / `whoami` | État courant / utilisateur connecté |
32
+ | `elding doctor` | Diagnostique la config locale |
33
+ | `elding open` | Ouvre le dashboard web |
34
+
35
+ ## `proxy` vs `run`
36
+
37
+ - **`proxy`** (recommandé) : ton app reçoit un placeholder, le proxy injecte la
38
+ vraie clé dans la requête sortante et la verrouille à son domaine. La clé
39
+ n'entre jamais dans `process.env`. Réservé aux **clés API HTTP**.
40
+ - **`run`** : injecte les secrets en clair dans `process.env` (tous types, tous
41
+ langages). Désactivé par défaut côté organisation, à activer explicitement.
42
+
43
+ ## Sécurité
44
+
45
+ - Token stocké dans le **keychain de l'OS**, jamais en clair sur disque.
46
+ - Le proxy bind `127.0.0.1` uniquement, anti-SSRF, valeurs de secrets jamais loggées.
47
+ - Chaque clé peut être verrouillée à un domaine (`allowedHost`) et coupée (`INACTIVE`).
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.resolveBaseUrl = resolveBaseUrl;
7
7
  const net_1 = __importDefault(require("net"));
8
- const DEFAULT_BASE_URL = "https://elding-dev.vercel.app";
8
+ const DEFAULT_BASE_URL = "https://elding.app";
9
9
  function stripBrackets(hostname) {
10
10
  return hostname.startsWith("[") && hostname.endsWith("]")
11
11
  ? hostname.slice(1, -1)
@@ -34,7 +34,7 @@ function resolveBaseUrl(raw = process.env.ELDING_API_URL) {
34
34
  throw new Error("ELDING_API_URL ne doit pas contenir d'identifiants.");
35
35
  }
36
36
  if (url.pathname !== "/" || url.search || url.hash) {
37
- throw new Error("ELDING_API_URL doit etre une origine seule, par exemple https://elding-dev.vercel.app.");
37
+ throw new Error("ELDING_API_URL doit etre une origine seule, par exemple https://elding.app.");
38
38
  }
39
39
  if (url.protocol === "https:")
40
40
  return url.origin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elding/cli",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Elding CLI — zero .env, secrets from vault",
5
5
  "bin": {
6
6
  "elding": "dist/index.js"