@ycadence/cli
v0.6.0
Published
YCadence from the command line: work items, states, cycles and imports.
Maintainers
Readme
@ycadence/cli
Work with YCadence from the command line: list, create, update, close and move work items, read and set up states, labels, cycles and views, triage intake, and run imports from CSV, Jira, Linear or GitHub exports.
Install
npm install -g @ycadence/cli
# or run it once, without installing
npx @ycadence/cli helpIf npm is unavailable
Each release is mirrored to GitHub Packages when the npm publish fails, as
@yarlisaisolutions/ycadence-cli. It needs a GitHub token with read:packages:
# ~/.npmrc
@yarlisaisolutions:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}npm install -g @yarlisaisolutions/ycadence-cliThe package installs two commands that behave the same: ycadence, and devpulse,
the name from before the rename.
Sign in
Behind Google IAP (the Yarlis instances): open the web app, go to Settings → Account → Command line, click Copy command, and run it. It looks like this:
ycadence login --setup ycs1.…It prints a code and a google.com/device link. Approve it with your work account and the CLI finishes by itself: the instance issues this machine a personal token, and everything secret goes into your OS keychain. Then:
ycadence doctorThe full walkthrough, troubleshooting and the admin setup are in docs/cli/getting-started.md.
Anywhere else, sign in with a personal token from Settings → Account → API tokens:
ycadence login --url https://ycadence.example.com --api-key-stdin < key.txt
ycadence config set project <projectId> # a default project for this profile
ycadence doctor # checks configuration and connectivityProfiles live in ~/.config/ycadence/config.json ($XDG_CONFIG_HOME aware); switch with
--profile <name> or ycadence config use <name>. The API key is kept in the OS keychain
(macOS Keychain, or the Secret Service through secret-tool), else in a credentials.json
with mode 0600.
Environment variables still win, so CI needs nothing else:
export YCADENCE_URL=https://ycadence.example.com
export YCADENCE_API_KEY=yc_live_p_... # a project, organization or personal key
export YCADENCE_IDENTITY_TOKEN=... # only behind Google IAP; lasts about an hourWhen a YCADENCE_* variable is unset, the CLI reads the older DEVPULSE_* name
instead, and doctor tells you which one it used.
Commands
ycadence <resource> <verb> [arguments] [flags]. The full, generated reference is
docs/cli/reference.md.
ycadence work list|get|create|update|close|transition|delete
ycadence states list ycadence labels list|create
ycadence cycles list|show|create|add
ycadence views list|create ycadence types list
ycadence intake list|submit|triage
ycadence import preview|run|status|list
ycadence login ycadence auth status|logout|token
ycadence config list|get|set|unset|profiles|use|path
ycadence doctor ycadence completion bash|zsh|fishEvery command takes --format json (a stable { ok, data, nextCursor, requestId }
envelope; errors go to stderr as { ok: false, error: { code, message, status, … } }),
--fields, --quiet, --verbose, --dry-run for writes, --idempotency-key, --retry,
--limit, --cursor and --all. Exit codes: 0 ok, 1 failure, 2 usage, 3 not found,
4 permission, 5 conflict, 6 validation, 75 temporary (retry), 78 configuration.
The original commands still work, with a deprecation notice: work-item list|create|show|close,
states <projectId>, cycles <projectId>, and import preview|run|list <projectId>.
For a short name, alias yc=ycadence.
Requires Node 18 or later. The package is self-contained and installs no other packages.
License
Apache-2.0
