@malleable-cloud/cli
v0.9.1
Published
Malleable CLI - Schedule from the command line
Maintainers
Readme
@malleable-cloud/cli
Command-line client for Malleable, the AI calendar. Schedule events, drive the kanban board, track time, and query your day from the terminal. Installs as mal (and malleable).
npm install -g @malleable-cloud/cli
mal login # browser device-auth flow
mal todayCommands
| Command | What it does |
|---|---|
| mal login / mal logout / mal whoami | Authenticate with malleable.cloud (browser device-auth; token stored in the OS keychain, with a JSON-store fallback on headless boxes) |
| mal today / mal tomorrow / mal week | Print your schedule |
| mal events | Create, list, and manage events directly (no LLM) |
| mal nl "lunch with Sam friday noon" | Natural-language escape hatch through the AI agent |
| mal tasks | Kanban tasks: add, ls, move, due, done, schedule, rm |
| mal board | Drive the kanban board: ls, show, timeline, move, tag, attach, comment |
| mal buckets | Manage time buckets (create, delete, sub-buckets) |
| mal time | Time tracker (start/stop, entries) |
| mal notes | Bucket notes |
| mal free / mal free-with <user> | Find free slots, or mutual availability with another Malleable user |
| mal collab | Collaboration rooms |
| mal config | View or set configuration |
Most commands accept --json for machine-readable output, which makes the CLI a solid building block for scripts and AI agents.
Working inside a repo
mal board ls and mal tasks add resolve the bucket for the repo you're
standing in, so you get that project's board rather than every ticket you own:
mal buckets link <bucket-id> # tag a bucket with this repo (once)
mal board ls # now scoped to this repo's bucket + its sub-buckets
mal board ls --all # opt out, show every bucket
mal board timeline <task-id> # a ticket's stage history, newest firstClaude Code skill + /timer command
The package bundles two things for Claude Code: a /malleable skill, where your Claude session drives the kanban board through this CLI (print the board, create and move tickets, tag branches, attach commits, post plain-language comments, start and stop the time tracker), and a /timer slash command for the tracker on its own. Inference runs on your Claude session, and the verbs are deterministic API calls, so none of it spends your Malleable AI credits.
mal skill install # skill -> ~/.claude/skills/malleable
# command -> ~/.claude/commands/timer.md (explicit opt-in)Then type /malleable or /timer in any Claude Code session. Re-run mal skill install after upgrading the CLI to pick up updates; an existing file whose contents differ is backed up to <name>.bak first, and machine-specific notes you keep in ~/.claude/skills/malleable/LOCAL.md are never touched. Installing this npm package never writes to ~/.claude by itself — the files land only when you run the command, and nothing here edits your Claude Code settings.json.
Requirements
- Node.js 18+
- A free Malleable account
The OS-keychain integration (keytar) is an optional dependency: if its native module can't install or load on your platform, the CLI falls back to a local JSON config store automatically.
More
- Docs: https://malleable.cloud/docs/cli
- Dev Portal (API, embed SDK, MCP): https://malleable.cloud/developers
- Support: [email protected]
MIT licensed.
