enigma-cli 1.7.1 → 1.8.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/README.md CHANGED
@@ -35,9 +35,11 @@ enigma install Install/update agent skills
35
35
  enigma security Set up git security hooks in the current repo
36
36
  enigma guard [--all] Run the commit guard (staged files, or all tracked)
37
37
  enigma config [k v] Show or set runtime toggles (e.g. config commit-emoji off)
38
- enigma claude [acct] Launch Claude Code using an account (active if omitted);
38
+ enigma <tool> [acct] Launch claude | codex | opencode with an account
39
+ (resolution: explicit > active profile > tool active);
39
40
  auto-syncs deployed skills first
40
- enigma account ... Manage Claude Code accounts (list/add/use/login/remove)
41
+ enigma account ... Manage per-tool accounts (list/add/use/login/remove)
42
+ enigma profile ... Group one account per tool (list/add/use/set/unset/remove)
41
43
  enigma seal Maintenance: (re)compute skill content hashes
42
44
  enigma check Integrity gate: verify skills are well-formed and sealed
43
45
  enigma help | version
@@ -100,13 +102,16 @@ On every commit the guard, OS-agnostically:
100
102
  Each protection is individually toggleable (saved to `.githooks/enigma-guard.json`).
101
103
  Bypass once with `git commit --no-verify`.
102
104
 
103
- ## Multiple Claude Code accounts
105
+ ## Multiple accounts and profiles
104
106
 
105
- Work across separate workflows with different Claude Code accounts/profiles - for
106
- example your **company** Claude Code account and your **personal** one - keeping
107
- each fully isolated and switching between them without ever logging out. Each
108
- profile has its own credentials, session, and history, so client work never mixes
109
- with personal projects.
107
+ Work across separate workflows with different accounts per tool - for example
108
+ your **company** Claude Code account and your **personal** one - keeping each
109
+ fully isolated and switching between them without ever logging out. Each account
110
+ has its own credentials, session, and history, so client work never mixes with
111
+ personal projects. Supported tools: **Claude Code** (`CLAUDE_CONFIG_DIR`),
112
+ **OpenAI Codex** (`CODEX_HOME`) and **OpenCode** (a private `XDG_DATA_HOME` /
113
+ `XDG_CONFIG_HOME` pair per managed account; its default account keeps your real
114
+ environment untouched).
110
115
 
111
116
  > This is for legitimate, professional account separation (one account per
112
117
  > employer/context, as many organizations require). It is **not** a way to evade
@@ -122,29 +127,45 @@ for you with that variable set - the same command on macOS, Linux and Windows.
122
127
  ```bash
123
128
  enigma account add work --login # create 'work' and run /login to authenticate
124
129
  enigma account add personal # create 'personal' (log in later)
130
+ enigma account add acme -t codex # create a Codex account
125
131
  enigma account list # show all accounts (active one marked *)
126
132
  enigma claude work # run Claude Code as 'work'
133
+ enigma codex acme # run Codex as 'acme'
127
134
  enigma account use personal # make 'personal' the active account
128
- enigma claude # run the active account
129
- enigma claude work -- --version # forward args after -- to Claude
135
+ enigma claude # run the resolved account (profile > active)
136
+ enigma claude work -- --version # forward args after -- to the tool
130
137
  enigma account remove work # delete an account and its config dir
131
138
  ```
132
139
 
133
- Your existing `~/.claude` is always available as the built-in `default` account
134
- (it is never deleted). New accounts live under `~/.enigma/<tool>/<name>/`. A bare
135
- `claude` command keeps using `~/.claude` as before.
136
-
137
- From the hub TUI (`enigma`), the **Accounts** panel lists accounts - showing the
138
- tool (e.g. Claude Code) and the signed-in email for each - and lets you **add**
139
- (`a`), set active (`enter`), **connect**/log in (`c`), or remove (`d`). Adding
140
- prompts for a name and then offers to connect right away. Connecting closes the
141
- hub, runs the tool's own login flow (for Claude: it launches and you run
142
- `/login`), then reopens the hub. `enigma account list` shows the same details,
143
- and `enigma account add <name>` does the same from the CLI.
144
-
145
- The mechanism is tool-agnostic by design: only Claude Code is wired up today, but
146
- the same per-account-config-dir approach extends to other agents (e.g. Codex via
147
- `CODEX_HOME`). Target another tool with `--tool <name>` on `account` commands.
140
+ Your existing `~/.claude` / `~/.codex` / opencode setup is always available as
141
+ each tool's built-in `default` account (never deleted). New accounts live under
142
+ `~/.enigma/<tool>/<name>/`. Bare `claude` / `codex` / `opencode` commands keep
143
+ using your real environment as before.
144
+
145
+ ### Profiles (one account per tool)
146
+
147
+ A profile pins one account per tool under a single name - e.g. profile `work` =
148
+ Claude Code `work` + Codex `acme`. While a profile is active, `enigma <tool>`
149
+ launches that profile's account for the tool (explicit account arguments still
150
+ win; unmapped tools fall back to their own active account):
151
+
152
+ ```bash
153
+ enigma profile add work # create the profile
154
+ enigma profile set work claude work # pin claude account 'work'
155
+ enigma profile set work codex acme # pin codex account 'acme'
156
+ enigma profile use work # activate (enigma claude/codex now use it)
157
+ enigma profile list # profiles + mappings (* = active)
158
+ enigma profile use none # deactivate
159
+ ```
160
+
161
+ From the hub TUI (`enigma`), the **Accounts** panel lists every tool's accounts -
162
+ with the signed-in identity (email for Claude/Codex, connected providers for
163
+ OpenCode) - and lets you **add** (`a`), set active (`enter`), **connect**/log in
164
+ (`c`), or remove (`d`). Adding first asks **which tool** with a searchable
165
+ selector (type to filter, like opencode's model picker), then the account name,
166
+ then offers to connect right away. The **Profiles** panel shows each profile's
167
+ mappings and switches the active one with `enter` (`(none)` deactivates);
168
+ create/edit profiles via `enigma profile`.
148
169
 
149
170
  ## GitHub CLI telemetry (default off)
150
171
 
@@ -3,6 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Backend/API architecture: controller-service-repository layering, API and request optimization, server-side caching (Redis), and Zod boundary validation.",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "c442bc9e39a7710cb709ef2abb8d15ecd8aa16ed4f5c8af92b7af6877401cba4"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.1.1",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Ciphera code style conventions (formatting, naming, imports, comments, code-level anti-patterns; TypeScript-first, language-agnostic).",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "74f638aec13e8c93257fe1ad604c28b07e9a7c456796a4ceefcc99217d9e7039"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Pre-delivery self-review gate, prioritized review dimensions, and change-quality criteria.",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "3d3bbe0602d5bbb4afe37648fe3c2fa39376b1bcbac5d8c441f01fad1e866ed0"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.4.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Core engineering execution policy and harness orchestration (highest-authority rules).",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "c9c69c59516794311cb7b306ed4d4ad971824de3689a39c2b86c7669c73f2e8b"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.1.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Senior database architecture policy: query optimization, anti-duplication/normalization, scalability, and RGPD/GDPR encryption.",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "2883bcecb3202683ae6f81b073c3d6a9cec9c55029e011bdd06ba7ac3537297e"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Reproduce-isolate-fix debugging methodology with root-cause discipline and regression verification.",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "14b0064c8b33a0dc85e51464b05005cf5801c756b1101789a6924b9548420f6b"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Dependency and supply-chain security: lockfiles and reproducible installs, version pinning, vulnerability auditing, vetting/minimizing packages, vendoring, and SBOM/provenance.",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "6375d835c2aef2c9bd31ce116444dc3d796f510f9970a213aa3ac4696d7e21b9"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.1.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Frontend architecture: reusable components, abstraction thresholds, state management, and optimistic UI with rollback.",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "33fa1e9f667ef26203a3d6c892121efe12b0cddb706c195492fa97e080fba115"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.2.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Git & contribution policy (senior engineering standards).",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "ada4b7eb5bb7e013429e23703c271c0f34b0d76327c059efa148ea2794f96178"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Application and AI-agent security: secrets, authn/authz (least privilege), OWASP Top 10, transport/crypto baseline, secure logging, and agent/MCP/tool-use safety.",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "9971e9d9127397d0152e89d24aad3191e2935e55a8483db7fd15f5d4d7a60e7a"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Test strategy, coverage gates, deterministic tests, mocking discipline, and regression-first bug fixing.",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "d19fa8ec7985ed231478be504d3c80360897f555d0bc0624bea19c091f459fb0"
8
8
  }
@@ -3,6 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "provider": "FJRG2007/enigma",
5
5
  "description": "Strict frontend + backend schema validation, schema consistency, and safe client-facing error handling.",
6
- "cliVersion": "1.7.1",
6
+ "cliVersion": "1.8.0",
7
7
  "sha": "a33622a2f810ee4cea39824cb1a7ca34b355a917d4224025df50d77dd74f0b3a"
8
8
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "enigma-darwin-arm64": "8a8053fc520b92b8c46a41c676c0db9ce0502079a7b6edb9cc7a1cb36ca7d78f",
3
- "enigma-linux-arm64": "a0873090628526e1df5e21b8a795760ad7acbb585ab344af5bc50ee5e33d9737",
4
- "enigma-linux-x64": "2f3be89b85ab1a6877568b7072a6135926589c27106b032eeaa838bff6f0ad6a",
5
- "enigma-win32-x64.exe": "8f94c9213997c6fd8a9fdac744453eced3c36841eb4d0657f4a2789dd8b4f087"
2
+ "enigma-darwin-arm64": "4398574b41b35afb6eae6accb4755ee54ca752bac7bcf2ee0485cf5ea666a7c0",
3
+ "enigma-linux-arm64": "a47231b598660c9ae52e5d79146a19a68e06784f9b9f1b9ddf261c6bcb397d39",
4
+ "enigma-linux-x64": "022e9e7153470ba909a0589a3ed9f20b4d3cc1d713da1abebb1232d1b74ff716",
5
+ "enigma-win32-x64.exe": "1877fcb6f7de41a114fdf2d5ea1706d8beef846c0118d054bc50be096510ce9b"
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "enigma-cli",
3
- "version": "1.7.1",
3
+ "version": "1.8.0",
4
4
  "description": "Everything you need to work with a coding agent: install shared policy skills for Claude Code, OpenAI Codex and opencode, and set up portable git security hooks.",
5
5
  "type": "module",
6
6
  "bin": {