ivo.zilkenat
  • Joined on 2025-10-29

ente-cli (0.4.14)

Published 2026-07-23 05:34:22 +00:00 by ivo.zilkenat

Installation

registry=https://gitea.i.ivo-zilkenat.de/api/packages/ivo.zilkenat/npm/
npm install ente-cli@0.4.14
"ente-cli": "0.4.14"

About this package

CLI for ente — relationship manager and knowledge graph (Convex backend).

ente CLI

Command-line interface for ente — a relationship manager and knowledge graph (people, orgs, projects, topics and the notes/calls/tasks/conversations logged against them).

TypeScript, built on clipanion, bundled with esbuild into a single self-contained file, published to the Gitea npm registry. It talks to ente's external REST API (/api/external/*) with a static Bearer API key.

Install

npm i -g ente-cli --registry https://gitea.i.ivo-zilkenat.de/api/packages/ivo.zilkenat/npm
# or set the registry once:
npm config set @ivo:registry https://gitea.i.ivo-zilkenat.de/api/packages/ivo.zilkenat/npm

Setup

  1. Generate an API key in the web app: Settings > API Keys > Generate API Key.
  2. Authenticate:
ente auth login --url https://your-deployment.convex.site --key <api-key>

Credentials are stored at ~/.config/ente/config.toml (~/Library/Application Support/ente/config.toml on macOS), 0600. ENTE_API_URL / ENTE_API_KEY override the file.

Usage

ente search "Alice"
ente entity list --type person
ente entity rename "Lorey Georg" "Georg Lorey"
ente task list --due today
ente activity create --type note --title "Meeting notes" --entity "Alice" --space "Personal"
ente agenda create-point --meeting <meetingActivityId> --title "Decisions" --content="- Ship the smaller scope"
ente agenda link-task --point <agendaPointId> --task "#12"
ente activity message add <activityId> --content "Decision: ship the smaller scope first."
ente tasks
ente guide              # concepts; `ente guide <topic>`: entities, tasks, activities, search, patterns, limits

Every command supports --json. Run ente --help or ente <group> --help.

Command groups

Group Commands
auth login, status, logout
entity list, create, get, update (--name, --tag, --header-description), rename, archive, restore, pin, unpin, remove-from-space
activity list, create, search, get, update, delete, restore, message add, attachment upload
agenda create-point, link-task
task list, get, create, update, done, assign, unassign, set-assignees, clear-assignees
pins list
space members
top-level search, ask, query, tasks, guide

Operational recipes (playbooks)

Copy-pasteable, task-oriented recipes live in playbooks/ — log a meeting, rename/merge an entity, work around cross-space linking, etc. Start there for "how do I do X".

Develop in-repo / build

cd cli
pnpm install --ignore-workspace     # standalone (cli/ is not a workspace member)
pnpm dev -- entity list             # run from source via tsx
pnpm typecheck                      # the build-from-truth gate (tsc --noEmit)
pnpm build                          # → dist/cli.mjs (+ dist/SKILL.md)

Publishing is automatic: a push to main touching cli/** (or the relevant backend surface) bumps the patch version and publishes to Gitea npm — see .github/workflows/publish-cli.yml.

Architecture

core/    brand-neutral: transport (REST/fetch), config, output, errors, update, command base.
ente/    branded: the /api/external client, types, resolve, deadline, formatters, commands/*.
cli.ts   clipanion bootstrap: registers every command group.

The dependency direction is one-way — ente/ imports core/, never the reverse. See CLAUDE.md for the layering rules and conventions.

Dependencies

Development Dependencies

ID Version
@types/node ^22.10.0
clipanion 4.0.0-rc.4
convex ^1.37.0
esbuild 0.27.0
smol-toml ^1.3.1
tsx ^4.21.0
typescript ^6.0.3
Details
npm
2026-07-23 05:34:22 +00:00
0
325 KiB
Assets (1)
Versions (31) View all
0.4.30 2026-08-25
0.4.29 2026-08-24
0.4.28 2026-08-19
0.4.27 2026-08-07
0.4.26 2026-08-07