JSPM

  • Created
  • Published
  • Downloads 874
  • Score
    100M100P100Q111962F
  • License SEE LICENSE IN LICENSE

Jelou CLI — manage functions, brains, channels, and more

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@jelou/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    @jelou/cli

    Command-line tool for the Jelou platform — manage serverless functions, brains (AI projects), channels, WhatsApp bots and campaigns, marketplace apps, organization secrets, and Datum databases from one CLI.

    Built for humans and AI coding agents alike: every command supports --json output, --describe introspection, and --no-input for CI. Agent skills auto-install into Claude Code, Cursor, Codex, and Windsurf on login so AI editors can drive the CLI from natural language.

    Products covered:

    • Functions — serverless TypeScript on Deno Subhosting (define() / app() SDK)
    • Brains — AI projects with knowledge files
    • Channels — connect brains to Web, WhatsApp, or other surfaces
    • WhatsApp — bots, HSM templates, bulk campaigns
    • Datum — managed PocketBase databases
    • Marketplace — browse and install platform apps
    • Secrets — organization-level secrets

    Install

    v1.0.0 has not been published yet. The @jelou/cli@0.2.13 currently on npm is the older Functions-only CLI and does not match the commands documented below. Until v1.0.0 ships, install from source:

    git clone https://github.com/JelouLatam/jelou-cli.git
    cd jelou-cli
    deno install -A -f -n jelou --global ./mod.ts

    Verify the installation:

    jelou --version

    npm, JSR, and platform binaries (Linux x64/arm64, macOS x64/arm64, Windows x64) land with the v1.0.0 release.

    Local development build (jelou-dev)

    When hacking on the CLI, you usually want a binary on PATH that's separate from the released jelou so the two don't fight over the same skills dir or muscle memory:

    deno task bundle    # compile the current platform binary → dist/jelou-dev
    deno task link      # symlink ~/.local/bin/jelou-dev → dist/jelou-dev
    deno task unlink    # remove the symlink (only if it points at this repo)

    After deno task link, run the dev binary as jelou-dev (which is what your shell history and any agent scripts will see, so a slip-up calling the released jelou is obvious).

    The dev binary skips skill auto-install on jelou-dev login so it doesn't silently overwrite the released CLI's skills. To install dev skills for testing, run jelou-dev agent install --global explicitly — the rendered SKILL.md files get a banner and rewrite every bare jelou to jelou-dev in the body so AI agents drive the dev binary you're testing.

    Pick a different link target with JELOU_DEV_LINK_DIR=/some/path, or pass --force to overwrite an existing symlink that points elsewhere.

    Quick Start

    # Authenticate
    jelou login
    
    # Create a new function
    mkdir my-function && cd my-function
    jelou functions init
    
    # Start local dev server with hot reload
    jelou functions dev
    # → http://localhost:3000
    
    # Deploy to production
    jelou functions deploy
    # → https://my-function.fn.jelou.ai

    Agent Setup

    jelou ships with agent skills for Claude Code, Cursor, Codex, and other AI editors. After logging in, they auto-install into any detected editor so a fresh session knows how to drive the CLI from natural language:

    deno install -A -f -n jelou --global jsr:@jelou/cli
    jelou login   # skills auto-install for detected editors

    Open a new session in your editor and ask something like "create a brain in jelou", "list my databases", "send a WhatsApp campaign", or "list my channels" — the right jelou command gets invoked for you.

    The CLI ships with these skills:

    Skill Covers
    jelou Install, login, profiles, JSON mode, --describe, troubleshooting
    jelou-functions functions init / dev / deploy / logs / rollback / list / info / create / delete / secrets / tokens / cron / deployments
    jelou-datum datum databases / collections / api-keys / triggers / plans
    jelou-brain brain list / show / create / update / delete / knowledge, plus channel list / create / connect / disconnect (channels are brain wiring)
    jelou-whatsapp bot list, template list / show / create / update / delete / upload-media, campaign list / show / create / cancel / reschedule
    jelou-marketplace marketplace list / install / installed
    jelou-secret secret list / set / delete (organization secrets)

    Manage skills manually any time:

    jelou agent install --global                      # all skills, detected agents only
    jelou agent install --global --all-targets        # all skills, every supported agent (including those not yet installed locally)
    jelou agent install --global --only datum         # just one product
    jelou agent install --global --only brain,whatsapp # multiple
    jelou agent install --global --api                # Functions API variant

    --all-targets is useful when an agent is installed after jelou login — or when you're about to install one and want the skills already in place. Cursor specifically gets a copy (not a symlink) because its skill loader doesn't accept YAML frontmatter; the SKILL.md is rewritten to an H1 + **Description:** shape that Cursor reads.

    Opt out of auto-install during login with jelou login --skip-skills.

    Commands

    Group Command Description
    Auth jelou login Authenticate with your access token
    jelou logout Remove stored credentials
    jelou whoami Show current identity and scopes
    jelou auth list List saved profiles
    jelou auth switch Switch active profile
    jelou auth remove Remove a saved profile
    Workflow jelou functions init Scaffold a new function project
    jelou functions dev Local dev server with hot reload
    jelou functions deploy Deploy to production
    jelou functions rollback Roll back to a previous deployment
    jelou functions logs Stream or fetch function logs
    Manage jelou functions deployments List, inspect, download deployments
    jelou functions List, create, delete functions
    jelou functions secrets Manage environment secrets
    jelou functions tokens Manage access tokens
    jelou functions cron View cron schedules
    Brain jelou brain list List all brains
    jelou brain show View brain details
    jelou brain create Create brain (full setup)
    jelou brain update Update brain name/description
    jelou brain delete Delete a brain
    jelou brain knowledge list List knowledge files
    jelou brain knowledge upload Upload a file (max 2MB)
    jelou brain knowledge delete Remove a knowledge file
    WhatsApp jelou bot list List WhatsApp bots for the company
    jelou template list List HSM templates for a bot
    jelou template get <id> Show an HSM template by id
    jelou template create Create a new HSM template
    jelou template update <id> Update a template (APPROVED/REJECTED only)
    jelou template delete <id> Delete a template
    jelou template upload-media <f> Upload media and get a CDN URL
    Datum jelou datum databases list List all databases
    jelou datum databases create Create a new database
    jelou datum databases show <id> Show database details
    jelou datum databases update <id> Update a database
    jelou datum databases delete <id> Delete a database
    jelou datum api-keys list <db> List API keys for a database
    jelou datum api-keys create <db> Create an API key
    jelou datum api-keys delete Delete an API key
    jelou datum api-keys regenerate Regenerate an API key
    jelou datum triggers list <db> List triggers for a database
    jelou datum triggers create <db> Create a trigger
    jelou datum triggers show Show trigger details
    jelou datum triggers update Update a trigger
    jelou datum triggers delete Delete a trigger
    jelou datum triggers pause Pause a trigger
    jelou datum triggers resume Resume a trigger
    jelou datum plans list List available plans
    Marketplace jelou marketplace list Browse available apps
    jelou marketplace install <slug> Install an app (OAuth flow)
    jelou marketplace installed List installed apps
    Secrets jelou secret list List organization secrets
    jelou secret set <NAME> Set or update a secret
    jelou secret delete <NAME> Delete a secret
    Channels jelou channel list --brain <id> List channels for a brain
    jelou channel create --brain <id> Create a channel
    jelou channel connect <id> --brain <id> Connect to bot/agent
    jelou channel disconnect <id> --brain <id> Disconnect channel
    Setup jelou agent install Install Jelou skills into AI coding agents
    Campaigns jelou campaign list List bulk WhatsApp campaigns
    jelou campaign get <id> Show a campaign by id
    jelou campaign create Create a bulk campaign from config + CSV
    jelou campaign cancel <id> Cancel a scheduled or in-progress campaign
    jelou campaign reschedule <id> Reschedule a campaign to a new time

    Run jelou <command> --help for flags and usage details.

    Profiles

    Multiple accounts (or environments) can coexist as named profiles. No more logging in and out when switching between staging and production.

    # First login creates a profile (you pick the name)
    jelou login
    # → Profile name: production
    
    # Add a second account
    jelou login --token <staging-token> --profile staging
    
    # List profiles
    jelou auth list
    #   Profile     Identity       Type  Active
    #   production  token "prod"   PAT   ✓
    #   staging     jelou:42       API Key
    
    # Switch active profile
    jelou auth switch staging
    
    # One-shot override (does not change active profile)
    jelou functions deploy --profile production
    
    # Remove a profile
    jelou auth remove staging

    Credential Resolution

    When resolving which credentials to use, the CLI checks (highest priority first):

    1. JELOU_TOKEN environment variable
    2. --profile <name> flag (one-shot, does not persist)
    3. JELOU_PROFILE environment variable
    4. activeProfile in ~/.jelou/credentials.json

    Migration from Single-Account

    Existing ~/.jelou/credentials.json files are automatically migrated to the multi-profile format on first access. A .bak backup is created. No action required.

    CI / Non-Interactive Mode

    Every command works headlessly in CI pipelines.

    export JELOU_TOKEN=sk_your_token_here
    
    jelou functions deploy --no-confirm --json | jq '.data.url'
    • --no-input disables all prompts (auto-detected when CI=true or stdin is not a TTY)
    • --json outputs { "ok": true, "data": ... } to stdout

    See the full CI reference for per-command flags and GitHub Actions examples.

    Configuration

    Source Purpose
    jelou.json Project config (function slug, entrypoint)
    ~/.jelou/ User credentials (multi-profile) and API URL
    JELOU_TOKEN Access token (highest priority, overrides profiles)
    JELOU_PROFILE Select a named profile without --profile flag
    JELOU_API_URL API base URL override

    See the full configuration reference for details.

    Documentation

    • CLI Reference — full command docs, flags, CI usage, troubleshooting
    • SDK Guidedefine() API, context, validation, testing

    License

    Copyright 2026 Jelou Inc. All rights reserved.

    See LICENSE for details.