@jelou/cli 0.2.17 → 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.
Files changed (2) hide show
  1. package/README.md +169 -42
  2. 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 Functions](https://jelou.ai) — serverless
4
- TypeScript functions on the edge.
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
- One `define()` call gives you:
23
+ ## Install
7
24
 
8
- - An **HTTP endpoint** with Zod validation and CORS
9
- - An **MCP tool** discoverable by AI agents
10
- - **Cron schedules** for recurring tasks
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
- Use it to build webhook handlers, chatbot integrations, scheduled cleanups, API
13
- proxies, and AI agent tools.
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
- ## Install
35
+ Verify the installation:
16
36
 
17
37
  ```bash
18
- # npm (recommended)
19
- npm install -g @jelou/cli
38
+ jelou --version
39
+ ```
20
40
 
21
- # npx (no install)
22
- npx @jelou/cli deploy
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
- # Deno
25
- deno install -A -n jelou jsr:@jelou/cli
26
- ```
44
+ ### Local development build (`jelou-dev`)
27
45
 
28
- Verify the installation:
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 --version
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 | Command | Description |
56
- | ------------ | ------------------- | ----------------------------------- |
57
- | **Auth** | `jelou login` | Authenticate with your access token |
58
- | | `jelou logout` | Remove stored credentials |
59
- | | `jelou whoami` | Show current identity and scopes |
60
- | | `jelou auth list` | List saved profiles |
61
- | | `jelou auth switch` | Switch active profile |
62
- | | `jelou auth remove` | Remove a saved profile |
63
- | **Workflow** | `jelou init` | Scaffold a new function project |
64
- | | `jelou dev` | Local dev server with hot reload |
65
- | | `jelou deploy` | Deploy to production |
66
- | | `jelou rollback` | Roll back to a previous deployment |
67
- | | `jelou logs` | Stream or fetch function logs |
68
- | **Manage** | `jelou deployments` | List, inspect, download deployments |
69
- | | `jelou functions` | List, create, delete functions |
70
- | | `jelou secrets` | Manage environment secrets |
71
- | | `jelou tokens` | Manage access tokens |
72
- | | `jelou cron` | View cron schedules |
73
- | **Setup** | `jelou skill` | Install Jelou Functions agent skill |
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.2.17",
4
- "description": "Jelou Functions CLI — deploy serverless TypeScript functions to the edge",
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-functions-api.git",
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.2.17",
22
- "@jelou/cli-darwin-x64": "0.2.17",
23
- "@jelou/cli-linux-x64": "0.2.17",
24
- "@jelou/cli-linux-arm64": "0.2.17",
25
- "@jelou/cli-win32-x64": "0.2.17"
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",