@robbiesrobotics/alice-agents 1.5.9 โ 1.5.10
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 +152 -132
- package/bin/alice-install.mjs +27 -35
- package/lib/hermes-agent.mjs +449 -0
- package/lib/hermes-installer.mjs +338 -0
- package/lib/installer.mjs +254 -19
- package/lib/skills.mjs +128 -4
- package/package.json +3 -3
- package/templates/workspaces/_shared/AGENTS-hermes.md +54 -0
- package/templates/workspaces/_shared/AGENTS.md +25 -0
- package/templates/workspaces/_shared/SOUL-hermes.md +35 -0
- package/templates/workspaces/_shared/hermes-agent-skill.md +40 -0
- package/templates/workspaces/_shared/hermes-orchestrator-skill.md +150 -0
- package/templates/workspaces/_shared/hermes-specialist-skill.md +109 -0
package/README.md
CHANGED
|
@@ -1,187 +1,207 @@
|
|
|
1
|
-
# ๐ง A.L.I.C.E. โ AI
|
|
1
|
+
# ๐ง A.L.I.C.E. โ Multi-Agent AI Team Framework
|
|
2
2
|
|
|
3
3
|
**Adaptive Learning & Intelligent Coordination Engine**
|
|
4
4
|
|
|
5
|
-
One conversation. One orchestrator.
|
|
5
|
+
One conversation. One orchestrator. 10 starter agents โ with 23 more in Pro. Tell A.L.I.C.E. what you need, and she routes it to the right specialist and delivers the result.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
A.L.I.C.E. runs on any supported runtime โ OpenClaw, NemoClaw, or Hermes Agent. No required API key, no vendor lock-in.
|
|
8
|
+
|
|
9
|
+
## Supported Runtimes
|
|
10
|
+
|
|
11
|
+
| Runtime | Status | Install Guide |
|
|
12
|
+
|---------|--------|---------------|
|
|
13
|
+
| **Hermes Agent** | โ
Recommended | [hermes-agent.nousresearch.com](https://hermes-agent.nousresearch.com) |
|
|
14
|
+
| **NemoClaw** | โ
Supported | [nvidia.com/nemoclaw](https://nvidia.com/nemoclaw) |
|
|
15
|
+
| **OpenClaw** | โ
Supported | [openclaw.ai](https://openclaw.ai) |
|
|
16
|
+
|
|
17
|
+
## Prerequisites
|
|
18
|
+
|
|
19
|
+
**Before installing**, make sure your runtime has a default model set:
|
|
20
|
+
|
|
21
|
+
- **Hermes Agent:** Run `hermes model` to select a provider and model
|
|
22
|
+
- **NemoClaw / OpenClaw:** Run `openclaw configure` โ select "model" to configure your default
|
|
23
|
+
|
|
24
|
+
A.L.I.C.E. uses whatever model your runtime already has configured. If no model is set, the installer will tell you exactly which command to run.
|
|
8
25
|
|
|
9
26
|
## Quick Start
|
|
10
27
|
|
|
11
28
|
```bash
|
|
29
|
+
# Interactive install โ auto-detects your runtime
|
|
12
30
|
npx @robbiesrobotics/alice-agents
|
|
13
|
-
```
|
|
14
31
|
|
|
15
|
-
|
|
32
|
+
# Non-interactive (Starter tier, auto-detected defaults)
|
|
33
|
+
npx @robbiesrobotics/alice-agents --yes
|
|
34
|
+
|
|
35
|
+
# Force a specific runtime
|
|
36
|
+
npx @robbiesrobotics/alice-agents --yes --runtime hermes
|
|
37
|
+
npx @robbiesrobotics/alice-agents --yes --runtime openclaw
|
|
38
|
+
```
|
|
16
39
|
|
|
17
40
|
## What You Get
|
|
18
41
|
|
|
19
|
-
**Starter**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
|
30
|
-
|
|
31
|
-
| **
|
|
32
|
-
| **
|
|
33
|
-
| **
|
|
34
|
-
| **
|
|
35
|
-
| **
|
|
36
|
-
| **
|
|
37
|
-
| **
|
|
38
|
-
| **
|
|
39
|
-
| **
|
|
40
|
-
| **
|
|
41
|
-
| **
|
|
42
|
-
| **
|
|
43
|
-
| **
|
|
44
|
-
| **
|
|
45
|
-
| **
|
|
46
|
-
| **
|
|
47
|
-
| **
|
|
48
|
-
| **
|
|
49
|
-
| **
|
|
50
|
-
| **
|
|
51
|
-
| **
|
|
52
|
-
| **
|
|
53
|
-
| **
|
|
54
|
-
| **
|
|
55
|
-
| **
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
42
|
+
**Starter** โ 10 core agents. **Pro** โ 23 additional agents. [Sign up at getalice.av3.ai](https://getalice.av3.ai/signup?plan=pro)
|
|
43
|
+
|
|
44
|
+
| Agent | Domain | Tier |
|
|
45
|
+
|-------|--------|------|
|
|
46
|
+
| **A.L.I.C.E.** | Orchestration | Starter |
|
|
47
|
+
| **Dylan** | Development | Starter |
|
|
48
|
+
| **Selena** | Security | Starter |
|
|
49
|
+
| **Devon** | DevOps | Starter |
|
|
50
|
+
| **Quinn** | QA / Testing | Starter |
|
|
51
|
+
| **Felix** | Frontend | Starter |
|
|
52
|
+
| **Daphne** | Documentation | Starter |
|
|
53
|
+
| **Rowan** | Research | Starter |
|
|
54
|
+
| **Darius** | Data | Starter |
|
|
55
|
+
| **Sophie** | Support | Starter |
|
|
56
|
+
| **Hannah** | HR | Pro |
|
|
57
|
+
| **Aiden** | Analytics | Pro |
|
|
58
|
+
| **Clara** | Communication | Pro |
|
|
59
|
+
| **Avery** | Automation | Pro |
|
|
60
|
+
| **Owen** | Operations | Pro |
|
|
61
|
+
| **Isaac** | Integration | Pro |
|
|
62
|
+
| **Tommy** | Travel | Pro |
|
|
63
|
+
| **Sloane** | Sales | Pro |
|
|
64
|
+
| **Nadia** | UI/UX Design | Pro |
|
|
65
|
+
| **Morgan** | Marketing | Pro |
|
|
66
|
+
| **Alex** | API Crawling | Pro |
|
|
67
|
+
| **Uma** | UX Research | Pro |
|
|
68
|
+
| **Caleb** | CRM | Pro |
|
|
69
|
+
| **Elena** | Estimation | Pro |
|
|
70
|
+
| **Audrey** | Accounting | Pro |
|
|
71
|
+
| **Logan** | Legal | Pro |
|
|
72
|
+
| **Eva** | Executive Assistant | Pro |
|
|
73
|
+
| **Parker** | Project Management | Pro |
|
|
74
|
+
| **Aria** | Autonomous Research | Pro |
|
|
75
|
+
| **Nate** | n8n Automation | Pro |
|
|
76
|
+
| **MaxxiPro** | Roof Maxx Expert | Pro |
|
|
77
|
+
| **AccuScope** | AccuLynx CRM Auditor | Pro |
|
|
78
|
+
| **SmokeTestAgent** | QA Specialist | Pro |
|
|
79
|
+
|
|
80
|
+
## How It Works
|
|
81
|
+
|
|
82
|
+
1. **You talk to A.L.I.C.E.** โ she's your single point of contact
|
|
83
|
+
2. **A.L.I.C.E. routes to specialists** โ "Build me an API" โ Dylan; "Audit my security" โ Selena
|
|
84
|
+
3. **Specialists do the work** โ using their domain tools and knowledge
|
|
85
|
+
4. **A.L.I.C.E. synthesizes** โ combines results into one clear answer
|
|
86
|
+
|
|
87
|
+
Each specialist agent operates within their domain and flags when something falls outside their scope.
|
|
88
|
+
|
|
89
|
+
## Model Configuration
|
|
90
|
+
|
|
91
|
+
A.L.I.C.E. does **not** pick a model for you. It uses whatever your runtime already has configured.
|
|
92
|
+
|
|
93
|
+
### Before Installing
|
|
94
|
+
|
|
95
|
+
**Hermes Agent:**
|
|
96
|
+
```bash
|
|
97
|
+
hermes model
|
|
98
|
+
# Follow the prompts to select a provider (e.g., OpenAI, Anthropic, Ollama, Nous Portal) and default model
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**OpenClaw / NemoClaw:**
|
|
102
|
+
```bash
|
|
103
|
+
openclaw configure
|
|
104
|
+
# Select "model" โ choose your provider and default model
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Model Presets (OpenClaw/NemoClaw only)
|
|
108
|
+
|
|
109
|
+
If your runtime already has a model configured, A.L.I.C.E. uses it automatically. The installer will not ask about models.
|
|
110
|
+
|
|
111
|
+
If you need to override for OpenClaw/NemoClaw specifically, you can pass model hints before install:
|
|
112
|
+
```bash
|
|
113
|
+
# Set model in OpenClaw config directly
|
|
114
|
+
openclaw configure --section model
|
|
115
|
+
|
|
116
|
+
# Or configure API keys for your provider
|
|
117
|
+
openclaw configure --section credentials
|
|
118
|
+
```
|
|
81
119
|
|
|
82
120
|
## Install Options
|
|
83
121
|
|
|
84
122
|
```bash
|
|
85
|
-
# Interactive install
|
|
123
|
+
# Interactive install โ auto-detects runtime and guides you through setup
|
|
86
124
|
npx @robbiesrobotics/alice-agents
|
|
87
125
|
|
|
88
|
-
# Non-interactive
|
|
126
|
+
# Non-interactive (uses detected defaults)
|
|
89
127
|
npx @robbiesrobotics/alice-agents --yes
|
|
90
128
|
|
|
91
|
-
#
|
|
92
|
-
npx @robbiesrobotics/alice-agents --yes --tier pro
|
|
129
|
+
# Pro tier
|
|
130
|
+
npx @robbiesrobotics/alice-agents --yes --tier pro
|
|
93
131
|
|
|
94
|
-
#
|
|
95
|
-
npx @robbiesrobotics/alice-agents --yes --
|
|
132
|
+
# With A.L.I.C.E. | Control Cloud (Pro)
|
|
133
|
+
npx @robbiesrobotics/alice-agents --yes --tier pro --license-key YOUR_KEY --cloud
|
|
96
134
|
|
|
97
|
-
#
|
|
98
|
-
npx @robbiesrobotics/alice-agents --
|
|
99
|
-
|
|
135
|
+
# Force a specific runtime (useful on machines with multiple runtimes)
|
|
136
|
+
npx @robbiesrobotics/alice-agents --yes --runtime hermes
|
|
137
|
+
npx @robbiesrobotics/alice-agents --yes --runtime openclaw
|
|
100
138
|
|
|
101
|
-
|
|
139
|
+
# Reinstall over existing A.L.I.C.E.
|
|
140
|
+
npx @robbiesrobotics/alice-agents --yes --force
|
|
102
141
|
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
|
|
142
|
+
# Show all options
|
|
143
|
+
npx @robbiesrobotics/alice-agents --help
|
|
144
|
+
```
|
|
106
145
|
|
|
107
|
-
|
|
146
|
+
## A.L.I.C.E. | Control Cloud
|
|
108
147
|
|
|
109
|
-
|
|
148
|
+
A Pro add-on that connects your local runtime to the A.L.I.C.E. Control web dashboard. Enables telemetry, fleet visibility, and remote agent management.
|
|
110
149
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
- `--cloud-token <token>` โ access or ingest token for authenticated telemetry
|
|
115
|
-
- `--cloud-dashboard-url <url>` โ defaults to `https://alice.av3.ai`
|
|
116
|
-
- `--cloud-ingest-url <url>` โ defaults to `<dashboard-url>/api/v1/ingest`
|
|
150
|
+
```bash
|
|
151
|
+
npx @robbiesrobotics/alice-agents --yes --tier pro --license-key YOUR_KEY --cloud
|
|
152
|
+
```
|
|
117
153
|
|
|
118
|
-
|
|
154
|
+
Optional flags:
|
|
155
|
+
- `--cloud-token <token>` โ access or ingest token
|
|
156
|
+
- `--cloud-dashboard-url <url>` โ defaults to `https://alice.av3.ai`
|
|
157
|
+
- `--cloud-ingest-url <url>` โ defaults to `<dashboard-url>/api/v1/ingest`
|
|
119
158
|
|
|
120
|
-
##
|
|
159
|
+
## Upgrading
|
|
121
160
|
|
|
122
|
-
|
|
161
|
+
```bash
|
|
162
|
+
npx @robbiesrobotics/alice-agents --update
|
|
163
|
+
```
|
|
123
164
|
|
|
165
|
+
Or run interactively and select "Upgrade":
|
|
124
166
|
```bash
|
|
125
167
|
npx @robbiesrobotics/alice-agents
|
|
126
|
-
# Select: Upgrade
|
|
168
|
+
# โ Select: Upgrade
|
|
127
169
|
```
|
|
128
170
|
|
|
129
|
-
|
|
171
|
+
Upgrade preserves your `PLAYBOOK.md`, `LEARNINGS.md`, `FEEDBACK.md`, and `memory/` directories.
|
|
130
172
|
|
|
131
|
-
##
|
|
173
|
+
## Uninstalling
|
|
132
174
|
|
|
133
175
|
```bash
|
|
134
176
|
npx @robbiesrobotics/alice-agents --uninstall
|
|
135
177
|
```
|
|
136
178
|
|
|
137
|
-
Removes A.L.I.C.E. agents from
|
|
179
|
+
Removes A.L.I.C.E. agents from your runtime config. Creates a backup first.
|
|
138
180
|
|
|
139
|
-
##
|
|
181
|
+
## Requirements
|
|
140
182
|
|
|
141
|
-
|
|
183
|
+
- **Hermes Agent** v0.10.0+ **or** **OpenClaw** / **NemoClaw** installed and configured
|
|
184
|
+
- A default model set in your runtime (`hermes model` or `openclaw configure`)
|
|
185
|
+
- Node.js 18+ (for the installer itself)
|
|
186
|
+
- For local models: [Ollama](https://ollama.com) running locally
|
|
142
187
|
|
|
143
|
-
|
|
144
|
-
- that hook runs tests, syntax checks, and `npm run release:check`
|
|
145
|
-
- publish is blocked unless the package version has a matching git tag on `HEAD`
|
|
146
|
-
- publish is blocked unless `landing/content/changelog.md` contains the matching version entry
|
|
147
|
-
- publish is blocked unless `releases/vX.Y.Z.md` exists and is marked `Status: approved`
|
|
188
|
+
## Architecture
|
|
148
189
|
|
|
149
|
-
|
|
190
|
+
A.L.I.C.E. is an orchestrator + specialist agent team. The orchestrator (A.L.I.C.E.) receives all requests, classifies intent, routes to the right specialist(s), and synthesizes results.
|
|
150
191
|
|
|
151
|
-
|
|
192
|
+
On **Hermes Agent:** A.L.I.C.E. and all specialists are installed as Hermes skills (`~/.hermes/skills/alice/`). Delegation is skill-to-skill via Hermes tool calling.
|
|
152
193
|
|
|
153
|
-
|
|
154
|
-
2. **A.L.I.C.E. routes to specialists** โ "Build me an API" โ Dylan (Development)
|
|
155
|
-
3. **Specialists do the work** โ using their domain-specific tools and expertise
|
|
156
|
-
4. **A.L.I.C.E. synthesizes** โ combines results and presents them to you
|
|
194
|
+
On **OpenClaw / NemoClaw:** A.L.I.C.E. and specialists are installed as agent workspaces. Delegation uses `sessions_spawn`.
|
|
157
195
|
|
|
158
|
-
|
|
159
|
-
- `SOUL.md` โ personality and values
|
|
160
|
-
- `AGENTS.md` โ operating instructions
|
|
161
|
-
- `PLAYBOOK.md` โ learned patterns (evolves over time)
|
|
162
|
-
- `LEARNINGS.md` โ task log
|
|
163
|
-
- `memory/` โ persistent context between sessions
|
|
196
|
+
Both architectures are functionally equivalent โ the user experience is identical.
|
|
164
197
|
|
|
165
198
|
## Compatibility
|
|
166
199
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
|
170
|
-
|
|
171
|
-
|
|
|
172
|
-
| **OpenClaw** | โ
Fully supported | Lightweight option. [openclaw.ai](https://openclaw.ai) |
|
|
173
|
-
|
|
174
|
-
### Why NemoClaw?
|
|
175
|
-
|
|
176
|
-
NemoClaw is NVIDIA's open-source, enterprise-grade distribution of OpenClaw. It adds the OpenShell security sandbox โ isolating what agents can access on your machine, enforcing policy-based guardrails, and keeping your data private. A.L.I.C.E. is NemoClaw-native as of v1.2.7: the installer defaults to NemoClaw, and agents display their sandbox status on startup.
|
|
177
|
-
|
|
178
|
-
If you're already running NemoClaw, A.L.I.C.E. works out of the box โ no extra config needed.
|
|
179
|
-
|
|
180
|
-
## Requirements
|
|
181
|
-
|
|
182
|
-
- [OpenClaw](https://openclaw.ai) or [NemoClaw](https://nemoclaw.com) installed and configured
|
|
183
|
-
- Node.js 18+
|
|
184
|
-
- At least one model configured in OpenClaw or NemoClaw โ no specific API key required. A.L.I.C.E. uses whatever you already have set up.
|
|
200
|
+
| Runtime | Agent Model | Config Location |
|
|
201
|
+
|---------|-------------|----------------|
|
|
202
|
+
| Hermes Agent | `~/.hermes/config.yaml` | `~/.hermes/skills/alice/` |
|
|
203
|
+
| NemoClaw | `~/.nemoclaw/openclaw.json` | `~/.nemoclaw/workspace/` |
|
|
204
|
+
| OpenClaw | `~/.openclaw/openclaw.json` | `~/.openclaw/workspace/` |
|
|
185
205
|
|
|
186
206
|
## License
|
|
187
207
|
|
package/bin/alice-install.mjs
CHANGED
|
@@ -33,6 +33,8 @@ if (flags.has('--help') || flags.has('-h')) {
|
|
|
33
33
|
npx @robbiesrobotics/alice-agents --doctor Run diagnostics on your A.L.I.C.E. install
|
|
34
34
|
npx @robbiesrobotics/alice-agents --skills Manage skills (install, remove, browse)
|
|
35
35
|
npx @robbiesrobotics/alice-agents --cloud Enable A.L.I.C.E. | Control Cloud during install
|
|
36
|
+
npx @robbiesrobotics/alice-agents --hermes-bridge Enable Hermes agent bridge during install (OpenClaw+Hermes)
|
|
37
|
+
npx @robbiesrobotics/alice-agents --runtime <hermes|openclaw|nemoclaw> Force runtime selection
|
|
36
38
|
npx @robbiesrobotics/alice-agents --version Show version
|
|
37
39
|
npx @robbiesrobotics/alice-agents --help Show this help
|
|
38
40
|
|
|
@@ -43,7 +45,10 @@ if (flags.has('--help') || flags.has('-h')) {
|
|
|
43
45
|
--doctor Run diagnostics and check install health
|
|
44
46
|
--cloud Enable A.L.I.C.E. | Control Cloud setup during install
|
|
45
47
|
--no-cloud Skip A.L.I.C.E. | Control Cloud setup during install
|
|
48
|
+
--hermes-bridge Enable Hermes agent bridge (create hermes-agents.json, detect model)
|
|
46
49
|
--tier <starter|pro> Force the install tier
|
|
50
|
+
--runtime <hermes|openclaw|nemoclaw> Force specific runtime
|
|
51
|
+
--force Force reinstall even if already installed
|
|
47
52
|
--license-key <key> Provide a Pro license key for automation
|
|
48
53
|
--coding-tool <auto|claude|codex> Override the preferred coding CLI
|
|
49
54
|
--cloud-token <token> A.L.I.C.E. | Control ingest/access token
|
|
@@ -58,30 +63,31 @@ if (flags.has('--help') || flags.has('-h')) {
|
|
|
58
63
|
process.exit(0);
|
|
59
64
|
}
|
|
60
65
|
|
|
66
|
+
const baseOptions = {
|
|
67
|
+
tierOverride: getFlagValue('--tier'),
|
|
68
|
+
runtimeOverride: getFlagValue('--runtime'),
|
|
69
|
+
force: flags.has('--force'),
|
|
70
|
+
licenseKey: getFlagValue('--license-key'),
|
|
71
|
+
codingTool: getFlagValue('--coding-tool'),
|
|
72
|
+
cloudToken: getFlagValue('--cloud-token'),
|
|
73
|
+
cloudDashboardUrl: getFlagValue('--cloud-dashboard-url'),
|
|
74
|
+
cloudIngestUrl: getFlagValue('--cloud-ingest-url'),
|
|
75
|
+
cloudTeamId: getFlagValue('--cloud-team-id'),
|
|
76
|
+
cloudTeamSlug: getFlagValue('--cloud-team-slug'),
|
|
77
|
+
cloudTeamName: getFlagValue('--cloud-team-name'),
|
|
78
|
+
cloudTeamPlan: getFlagValue('--cloud-team-plan'),
|
|
79
|
+
hermesBridge: flags.has('--hermes-bridge'),
|
|
80
|
+
};
|
|
81
|
+
|
|
61
82
|
if (flags.has('--doctor')) {
|
|
62
83
|
runDoctor().then((ok) => process.exit(ok ? 0 : 1)).catch((err) => {
|
|
63
84
|
console.error(' โ Doctor failed:', err.message);
|
|
64
85
|
process.exit(1);
|
|
65
86
|
});
|
|
66
87
|
} else if (flags.has('--update')) {
|
|
67
|
-
runInstall({
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
cloud: flags.has('--cloud') ? true : flags.has('--no-cloud') ? false : undefined,
|
|
71
|
-
tierOverride: getFlagValue('--tier'),
|
|
72
|
-
licenseKey: getFlagValue('--license-key'),
|
|
73
|
-
codingTool: getFlagValue('--coding-tool'),
|
|
74
|
-
cloudToken: getFlagValue('--cloud-token'),
|
|
75
|
-
cloudDashboardUrl: getFlagValue('--cloud-dashboard-url'),
|
|
76
|
-
cloudIngestUrl: getFlagValue('--cloud-ingest-url'),
|
|
77
|
-
cloudTeamId: getFlagValue('--cloud-team-id'),
|
|
78
|
-
cloudTeamSlug: getFlagValue('--cloud-team-slug'),
|
|
79
|
-
cloudTeamName: getFlagValue('--cloud-team-name'),
|
|
80
|
-
cloudTeamPlan: getFlagValue('--cloud-team-plan'),
|
|
81
|
-
}).then(() => process.exit(0)).catch((err) => {
|
|
82
|
-
console.error(' โ Update failed:', err.message);
|
|
83
|
-
process.exit(1);
|
|
84
|
-
});
|
|
88
|
+
runInstall({ yes: true, modeOverride: 'upgrade', cloud: flags.has('--cloud') ? true : flags.has('--no-cloud') ? false : undefined, ...baseOptions })
|
|
89
|
+
.then(() => process.exit(0))
|
|
90
|
+
.catch((err) => { console.error(' โ Upgrade failed:', err.message); process.exit(1); });
|
|
85
91
|
} else if (flags.has('--skills')) {
|
|
86
92
|
runSkillsManager().then(() => process.exit(0)).catch((err) => {
|
|
87
93
|
console.error(` โ Skills manager failed: ${err.message}`);
|
|
@@ -93,21 +99,7 @@ if (flags.has('--doctor')) {
|
|
|
93
99
|
process.exit(1);
|
|
94
100
|
});
|
|
95
101
|
} else {
|
|
96
|
-
runInstall({
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
tierOverride: getFlagValue('--tier'),
|
|
100
|
-
licenseKey: getFlagValue('--license-key'),
|
|
101
|
-
codingTool: getFlagValue('--coding-tool'),
|
|
102
|
-
cloudToken: getFlagValue('--cloud-token'),
|
|
103
|
-
cloudDashboardUrl: getFlagValue('--cloud-dashboard-url'),
|
|
104
|
-
cloudIngestUrl: getFlagValue('--cloud-ingest-url'),
|
|
105
|
-
cloudTeamId: getFlagValue('--cloud-team-id'),
|
|
106
|
-
cloudTeamSlug: getFlagValue('--cloud-team-slug'),
|
|
107
|
-
cloudTeamName: getFlagValue('--cloud-team-name'),
|
|
108
|
-
cloudTeamPlan: getFlagValue('--cloud-team-plan'),
|
|
109
|
-
}).then(() => process.exit(0)).catch((err) => {
|
|
110
|
-
console.error(' โ Install failed:', err.message);
|
|
111
|
-
process.exit(1);
|
|
112
|
-
});
|
|
102
|
+
runInstall({ yes: flags.has('--yes'), cloud: flags.has('--cloud') ? true : flags.has('--no-cloud') ? false : undefined, ...baseOptions })
|
|
103
|
+
.then(() => process.exit(0))
|
|
104
|
+
.catch((err) => { console.error(' โ Install failed:', err.message); process.exit(1); });
|
|
113
105
|
}
|