@jelou/cli 0.2.16 → 1.0.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 +169 -42
- package/package.json +8 -9
package/README.md
CHANGED
|
@@ -1,36 +1,71 @@
|
|
|
1
1
|
# @jelou/cli
|
|
2
2
|
|
|
3
|
-
Command-line tool for [Jelou
|
|
4
|
-
|
|
3
|
+
Command-line tool for the [Jelou](https://jelou.ai) platform — manage serverless
|
|
4
|
+
functions, brains (AI projects), channels, WhatsApp bots and campaigns,
|
|
5
|
+
marketplace apps, organization secrets, and Datum databases from one CLI.
|
|
6
|
+
|
|
7
|
+
Built for humans and AI coding agents alike: every command supports `--json`
|
|
8
|
+
output, `--describe` introspection, and `--no-input` for CI. Agent skills
|
|
9
|
+
auto-install into Claude Code, Cursor, Codex, and Windsurf on login so AI
|
|
10
|
+
editors can drive the CLI from natural language.
|
|
11
|
+
|
|
12
|
+
Products covered:
|
|
13
|
+
|
|
14
|
+
- **Functions** — serverless TypeScript on Deno Subhosting (`define()` / `app()`
|
|
15
|
+
SDK)
|
|
16
|
+
- **Brains** — AI projects with knowledge files
|
|
17
|
+
- **Channels** — connect brains to Web, WhatsApp, or other surfaces
|
|
18
|
+
- **WhatsApp** — bots, HSM templates, bulk campaigns
|
|
19
|
+
- **Datum** — managed PocketBase databases
|
|
20
|
+
- **Marketplace** — browse and install platform apps
|
|
21
|
+
- **Secrets** — organization-level secrets
|
|
5
22
|
|
|
6
|
-
|
|
23
|
+
## Install
|
|
7
24
|
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
|
|
25
|
+
> v1.0.0 has not been published yet. The `@jelou/cli@0.2.13` currently on npm is
|
|
26
|
+
> the older Functions-only CLI and does not match the commands documented below.
|
|
27
|
+
> Until v1.0.0 ships, install from source:
|
|
11
28
|
|
|
12
|
-
|
|
13
|
-
|
|
29
|
+
```bash
|
|
30
|
+
git clone https://github.com/JelouLatam/jelou-cli.git
|
|
31
|
+
cd jelou-cli
|
|
32
|
+
deno install -A -f -n jelou --global ./mod.ts
|
|
33
|
+
```
|
|
14
34
|
|
|
15
|
-
|
|
35
|
+
Verify the installation:
|
|
16
36
|
|
|
17
37
|
```bash
|
|
18
|
-
|
|
19
|
-
|
|
38
|
+
jelou --version
|
|
39
|
+
```
|
|
20
40
|
|
|
21
|
-
|
|
22
|
-
|
|
41
|
+
npm, JSR, and platform binaries (Linux x64/arm64, macOS x64/arm64, Windows x64)
|
|
42
|
+
land with the v1.0.0 release.
|
|
23
43
|
|
|
24
|
-
|
|
25
|
-
deno install -A -n jelou jsr:@jelou/cli
|
|
26
|
-
```
|
|
44
|
+
### Local development build (`jelou-dev`)
|
|
27
45
|
|
|
28
|
-
|
|
46
|
+
When hacking on the CLI, you usually want a binary on PATH that's separate from
|
|
47
|
+
the released `jelou` so the two don't fight over the same skills dir or muscle
|
|
48
|
+
memory:
|
|
29
49
|
|
|
30
50
|
```bash
|
|
31
|
-
jelou
|
|
51
|
+
deno task bundle # compile the current platform binary → dist/jelou-dev
|
|
52
|
+
deno task link # symlink ~/.local/bin/jelou-dev → dist/jelou-dev
|
|
53
|
+
deno task unlink # remove the symlink (only if it points at this repo)
|
|
32
54
|
```
|
|
33
55
|
|
|
56
|
+
After `deno task link`, run the dev binary as `jelou-dev` (which is what your
|
|
57
|
+
shell history and any agent scripts will see, so a slip-up calling the released
|
|
58
|
+
`jelou` is obvious).
|
|
59
|
+
|
|
60
|
+
The dev binary skips skill auto-install on `jelou-dev login` so it doesn't
|
|
61
|
+
silently overwrite the released CLI's skills. To install dev skills for testing,
|
|
62
|
+
run `jelou-dev agent install --global` explicitly — the rendered `SKILL.md`
|
|
63
|
+
files get a banner and rewrite every bare `jelou` to `jelou-dev` in the body so
|
|
64
|
+
AI agents drive the dev binary you're testing.
|
|
65
|
+
|
|
66
|
+
Pick a different link target with `JELOU_DEV_LINK_DIR=/some/path`, or pass
|
|
67
|
+
`--force` to overwrite an existing symlink that points elsewhere.
|
|
68
|
+
|
|
34
69
|
## Quick Start
|
|
35
70
|
|
|
36
71
|
```bash
|
|
@@ -39,38 +74,130 @@ jelou login
|
|
|
39
74
|
|
|
40
75
|
# Create a new function
|
|
41
76
|
mkdir my-function && cd my-function
|
|
42
|
-
jelou init
|
|
77
|
+
jelou functions init
|
|
43
78
|
|
|
44
79
|
# Start local dev server with hot reload
|
|
45
|
-
jelou dev
|
|
80
|
+
jelou functions dev
|
|
46
81
|
# → http://localhost:3000
|
|
47
82
|
|
|
48
83
|
# Deploy to production
|
|
49
|
-
jelou deploy
|
|
84
|
+
jelou functions deploy
|
|
50
85
|
# → https://my-function.fn.jelou.ai
|
|
51
86
|
```
|
|
52
87
|
|
|
88
|
+
## Agent Setup
|
|
89
|
+
|
|
90
|
+
`jelou` ships with agent skills for Claude Code, Cursor, Codex, and other AI
|
|
91
|
+
editors. After logging in, they auto-install into any detected editor so a fresh
|
|
92
|
+
session knows how to drive the CLI from natural language:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
deno install -A -f -n jelou --global jsr:@jelou/cli
|
|
96
|
+
jelou login # skills auto-install for detected editors
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Open a new session in your editor and ask something like _"create a brain in
|
|
100
|
+
jelou"_, _"list my databases"_, _"send a WhatsApp campaign"_, or _"list my
|
|
101
|
+
channels"_ — the right `jelou` command gets invoked for you.
|
|
102
|
+
|
|
103
|
+
The CLI ships with these skills:
|
|
104
|
+
|
|
105
|
+
| Skill | Covers |
|
|
106
|
+
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
107
|
+
| `jelou` | Install, login, profiles, JSON mode, `--describe`, troubleshooting |
|
|
108
|
+
| `jelou-functions` | `functions init / dev / deploy / logs / rollback / list / info / create / delete / secrets / tokens / cron / deployments` |
|
|
109
|
+
| `jelou-datum` | `datum databases / collections / api-keys / triggers / plans` |
|
|
110
|
+
| `jelou-brain` | `brain list / show / create / update / delete / knowledge`, plus `channel list / create / connect / disconnect` (channels are brain wiring) |
|
|
111
|
+
| `jelou-whatsapp` | `bot list`, `template list / show / create / update / delete / upload-media`, `campaign list / show / create / cancel / reschedule` |
|
|
112
|
+
| `jelou-marketplace` | `marketplace list / install / installed` |
|
|
113
|
+
| `jelou-secret` | `secret list / set / delete` (organization secrets) |
|
|
114
|
+
|
|
115
|
+
Manage skills manually any time:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
jelou agent install --global # all skills, detected agents only
|
|
119
|
+
jelou agent install --global --all-targets # all skills, every supported agent (including those not yet installed locally)
|
|
120
|
+
jelou agent install --global --only datum # just one product
|
|
121
|
+
jelou agent install --global --only brain,whatsapp # multiple
|
|
122
|
+
jelou agent install --global --api # Functions API variant
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
`--all-targets` is useful when an agent is installed _after_ `jelou login` — or
|
|
126
|
+
when you're about to install one and want the skills already in place. Cursor
|
|
127
|
+
specifically gets a copy (not a symlink) because its skill loader doesn't accept
|
|
128
|
+
YAML frontmatter; the SKILL.md is rewritten to an H1 + `**Description:**` shape
|
|
129
|
+
that Cursor reads.
|
|
130
|
+
|
|
131
|
+
Opt out of auto-install during login with `jelou login --skip-skills`.
|
|
132
|
+
|
|
53
133
|
## Commands
|
|
54
134
|
|
|
55
|
-
| Group
|
|
56
|
-
|
|
|
57
|
-
| **Auth**
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
| **Workflow**
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
|
|
|
68
|
-
| **Manage**
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
| **
|
|
135
|
+
| Group | Command | Description |
|
|
136
|
+
| --------------- | -------------------------------------------- | ------------------------------------------ |
|
|
137
|
+
| **Auth** | `jelou login` | Authenticate with your access token |
|
|
138
|
+
| | `jelou logout` | Remove stored credentials |
|
|
139
|
+
| | `jelou whoami` | Show current identity and scopes |
|
|
140
|
+
| | `jelou auth list` | List saved profiles |
|
|
141
|
+
| | `jelou auth switch` | Switch active profile |
|
|
142
|
+
| | `jelou auth remove` | Remove a saved profile |
|
|
143
|
+
| **Workflow** | `jelou functions init` | Scaffold a new function project |
|
|
144
|
+
| | `jelou functions dev` | Local dev server with hot reload |
|
|
145
|
+
| | `jelou functions deploy` | Deploy to production |
|
|
146
|
+
| | `jelou functions rollback` | Roll back to a previous deployment |
|
|
147
|
+
| | `jelou functions logs` | Stream or fetch function logs |
|
|
148
|
+
| **Manage** | `jelou functions deployments` | List, inspect, download deployments |
|
|
149
|
+
| | `jelou functions` | List, create, delete functions |
|
|
150
|
+
| | `jelou functions secrets` | Manage environment secrets |
|
|
151
|
+
| | `jelou functions tokens` | Manage access tokens |
|
|
152
|
+
| | `jelou functions cron` | View cron schedules |
|
|
153
|
+
| **Brain** | `jelou brain list` | List all brains |
|
|
154
|
+
| | `jelou brain show` | View brain details |
|
|
155
|
+
| | `jelou brain create` | Create brain (full setup) |
|
|
156
|
+
| | `jelou brain update` | Update brain name/description |
|
|
157
|
+
| | `jelou brain delete` | Delete a brain |
|
|
158
|
+
| | `jelou brain knowledge list` | List knowledge files |
|
|
159
|
+
| | `jelou brain knowledge upload` | Upload a file (max 2MB) |
|
|
160
|
+
| | `jelou brain knowledge delete` | Remove a knowledge file |
|
|
161
|
+
| **WhatsApp** | `jelou bot list` | List WhatsApp bots for the company |
|
|
162
|
+
| | `jelou template list` | List HSM templates for a bot |
|
|
163
|
+
| | `jelou template get <id>` | Show an HSM template by id |
|
|
164
|
+
| | `jelou template create` | Create a new HSM template |
|
|
165
|
+
| | `jelou template update <id>` | Update a template (APPROVED/REJECTED only) |
|
|
166
|
+
| | `jelou template delete <id>` | Delete a template |
|
|
167
|
+
| | `jelou template upload-media <f>` | Upload media and get a CDN URL |
|
|
168
|
+
| **Datum** | `jelou datum databases list` | List all databases |
|
|
169
|
+
| | `jelou datum databases create` | Create a new database |
|
|
170
|
+
| | `jelou datum databases show <id>` | Show database details |
|
|
171
|
+
| | `jelou datum databases update <id>` | Update a database |
|
|
172
|
+
| | `jelou datum databases delete <id>` | Delete a database |
|
|
173
|
+
| | `jelou datum api-keys list <db>` | List API keys for a database |
|
|
174
|
+
| | `jelou datum api-keys create <db>` | Create an API key |
|
|
175
|
+
| | `jelou datum api-keys delete` | Delete an API key |
|
|
176
|
+
| | `jelou datum api-keys regenerate` | Regenerate an API key |
|
|
177
|
+
| | `jelou datum triggers list <db>` | List triggers for a database |
|
|
178
|
+
| | `jelou datum triggers create <db>` | Create a trigger |
|
|
179
|
+
| | `jelou datum triggers show` | Show trigger details |
|
|
180
|
+
| | `jelou datum triggers update` | Update a trigger |
|
|
181
|
+
| | `jelou datum triggers delete` | Delete a trigger |
|
|
182
|
+
| | `jelou datum triggers pause` | Pause a trigger |
|
|
183
|
+
| | `jelou datum triggers resume` | Resume a trigger |
|
|
184
|
+
| | `jelou datum plans list` | List available plans |
|
|
185
|
+
| **Marketplace** | `jelou marketplace list` | Browse available apps |
|
|
186
|
+
| | `jelou marketplace install <slug>` | Install an app (OAuth flow) |
|
|
187
|
+
| | `jelou marketplace installed` | List installed apps |
|
|
188
|
+
| **Secrets** | `jelou secret list` | List organization secrets |
|
|
189
|
+
| | `jelou secret set <NAME>` | Set or update a secret |
|
|
190
|
+
| | `jelou secret delete <NAME>` | Delete a secret |
|
|
191
|
+
| **Channels** | `jelou channel list --brain <id>` | List channels for a brain |
|
|
192
|
+
| | `jelou channel create --brain <id>` | Create a channel |
|
|
193
|
+
| | `jelou channel connect <id> --brain <id>` | Connect to bot/agent |
|
|
194
|
+
| | `jelou channel disconnect <id> --brain <id>` | Disconnect channel |
|
|
195
|
+
| **Setup** | `jelou agent install` | Install Jelou skills into AI coding agents |
|
|
196
|
+
| **Campaigns** | `jelou campaign list` | List bulk WhatsApp campaigns |
|
|
197
|
+
| | `jelou campaign get <id>` | Show a campaign by id |
|
|
198
|
+
| | `jelou campaign create` | Create a bulk campaign from config + CSV |
|
|
199
|
+
| | `jelou campaign cancel <id>` | Cancel a scheduled or in-progress campaign |
|
|
200
|
+
| | `jelou campaign reschedule <id>` | Reschedule a campaign to a new time |
|
|
74
201
|
|
|
75
202
|
Run `jelou <command> --help` for flags and usage details.
|
|
76
203
|
|
|
@@ -97,7 +224,7 @@ jelou auth list
|
|
|
97
224
|
jelou auth switch staging
|
|
98
225
|
|
|
99
226
|
# One-shot override (does not change active profile)
|
|
100
|
-
jelou deploy --profile production
|
|
227
|
+
jelou functions deploy --profile production
|
|
101
228
|
|
|
102
229
|
# Remove a profile
|
|
103
230
|
jelou auth remove staging
|
|
@@ -126,7 +253,7 @@ Every command works headlessly in CI pipelines.
|
|
|
126
253
|
```bash
|
|
127
254
|
export JELOU_TOKEN=jfn_pat_your_token_here
|
|
128
255
|
|
|
129
|
-
jelou deploy --no-confirm --json | jq '.data.url'
|
|
256
|
+
jelou functions deploy --no-confirm --json | jq '.data.url'
|
|
130
257
|
```
|
|
131
258
|
|
|
132
259
|
- `--no-input` disables all prompts (auto-detected when `CI=true` or stdin is
|
package/package.json
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jelou/cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Jelou
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Jelou CLI — manage functions, brains, channels, and more",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/JelouLatam/jelou-
|
|
9
|
-
"directory": "packages/cli"
|
|
8
|
+
"url": "https://github.com/JelouLatam/jelou-cli.git"
|
|
10
9
|
},
|
|
11
10
|
"homepage": "https://jelou.ai",
|
|
12
11
|
"bin": {
|
|
@@ -18,11 +17,11 @@
|
|
|
18
17
|
"LICENSE"
|
|
19
18
|
],
|
|
20
19
|
"optionalDependencies": {
|
|
21
|
-
"@jelou/cli-darwin-arm64": "0.
|
|
22
|
-
"@jelou/cli-darwin-x64": "0.
|
|
23
|
-
"@jelou/cli-linux-x64": "0.
|
|
24
|
-
"@jelou/cli-linux-arm64": "0.
|
|
25
|
-
"@jelou/cli-win32-x64": "0.
|
|
20
|
+
"@jelou/cli-darwin-arm64": "1.0.1",
|
|
21
|
+
"@jelou/cli-darwin-x64": "1.0.1",
|
|
22
|
+
"@jelou/cli-linux-x64": "1.0.1",
|
|
23
|
+
"@jelou/cli-linux-arm64": "1.0.1",
|
|
24
|
+
"@jelou/cli-win32-x64": "1.0.1"
|
|
26
25
|
},
|
|
27
26
|
"keywords": [
|
|
28
27
|
"jelou",
|