{"_id":"@conflict-hq/ezacto-cli","_rev":"3-5b8f06e56209429beb7e59c13ac0e872","name":"@conflict-hq/ezacto-cli","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@conflict-hq/ezacto-cli","version":"0.1.0","keywords":["ezacto","time-tracking","invoicing","cli"],"license":"AGPL-3.0-only","_id":"@conflict-hq/ezacto-cli@0.1.0","maintainers":[{"name":"lmata","email":"lmata@weareconflict.com"},{"name":"ragelink","email":"jigglyglen@gmail.com"}],"homepage":"https://ezacto.dev","bugs":{"url":"https://github.com/ConflictHQ/ezacto-oss/issues"},"bin":{"ez":"dist/cli.js"},"dist":{"shasum":"3ff0d24b14bc659f090a9ff8b048f661d9aa4881","tarball":"https://registry.npmjs.org/@conflict-hq/ezacto-cli/-/ezacto-cli-0.1.0.tgz","fileCount":20,"integrity":"sha512-ywUzYFSYj05n2qaNwAgw8sNv28Fg76X0Gd3HeI7RlVNsrsSBg+IKIFeWFn1+GPeA3FFfRAuyTReFoCJMOIM60g==","signatures":[{"sig":"MEYCIQDktPh/LpI/Yo1Yfxs9XmAwOnTXv545IWhGOyY/RUHeBwIhAJe+jCFwZs8k7CFMYO58IjOoE0c/R8Q+FNfdoJpi+XEe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194938},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./src/index.ts","default":"./dist/index.js","development":"./src/index.ts"}},"gitHead":"887abfa03efdc301f6439913331f2b547dc6f791","scripts":{"lint":"eslint .","test":"vitest run --testTimeout=10000","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build -w @conflict-hq/ezacto-client && npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ragelink","email":"jigglyglen@gmail.com"},"repository":{"url":"git+https://github.com/ConflictHQ/ezacto-oss.git","type":"git","directory":"packages/cli"},"_npmVersion":"10.9.8","description":"ez — the native ezacto command-line client.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"better-sqlite3":"^13.0.3","@conflict-hq/ezacto-client":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.9.1","vitest":"^4.1.11","@eslint/js":"^10.0.1","@ezacto/db":"0.0.0","typescript":"^5.9.3","@ezacto/api":"0.0.0","@types/node":"^22.10.0","@hono/node-server":"^2.1.1","typescript-eslint":"^8.68.0","@types/better-sqlite3":"^7.6.13","@cloudflare/workers-types":"^5.20260826.1"},"_npmOperationalInternal":{"tmp":"tmp/ezacto-cli_0.1.0_1789181119553_0.2627328532886155","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@conflict-hq/ezacto-cli","version":"0.1.1","keywords":["ezacto","time-tracking","invoicing","cli"],"license":"AGPL-3.0-only","_id":"@conflict-hq/ezacto-cli@0.1.1","maintainers":[{"name":"lmata","email":"lmata@weareconflict.com"},{"name":"ragelink","email":"jigglyglen@gmail.com"}],"homepage":"https://ezacto.dev","bugs":{"url":"https://github.com/ConflictHQ/ezacto-oss/issues"},"bin":{"ez":"dist/cli.js"},"dist":{"shasum":"45f8724427b51da508beb7eb99e9afba3e789e8e","tarball":"https://registry.npmjs.org/@conflict-hq/ezacto-cli/-/ezacto-cli-0.1.1.tgz","fileCount":20,"integrity":"sha512-BGuDAVkRCxn5nOGyUz7dGKf5fRH+bHh9/utFcLdMtYpzTeLHV7GInh/3ylK5XgSHM9kvtwbdqiAPupbOtIpK9A==","signatures":[{"sig":"MEUCIQCIzZbQVdC9syNDTkbhmrddaD9ulCbD+H0EHGUGhAN6owIgM5IdjugRp1g7DWiFcJPR1R/Ip051uYWSzGqYUFpM4BU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEOCeskXdYiZ4KPD4shTwGkjxy6PDQn8YOw05MNYFgaQAiBr+Qs4XCMULYL+xZpjUA8QDlFGQhPKW2LrEcBjj/WCyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@conflict-hq%2fezacto-cli@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195217},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./src/index.ts","default":"./dist/index.js","development":"./src/index.ts"}},"gitHead":"eed66e711bc91472e21f79efdab79f357694e1c2","scripts":{"lint":"eslint .","test":"vitest run --testTimeout=10000","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build -w @conflict-hq/ezacto-client && npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ragelink","email":"jigglyglen@gmail.com"},"repository":{"url":"git+https://github.com/ConflictHQ/ezacto-oss.git","type":"git","directory":"packages/cli"},"_npmVersion":"10.9.8","description":"ez — the native ezacto command-line client.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"better-sqlite3":"^13.0.3","@conflict-hq/ezacto-client":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.9.1","vitest":"^4.1.11","@eslint/js":"^10.0.1","@ezacto/db":"0.0.0","typescript":"^5.9.3","@ezacto/api":"0.0.0","@types/node":"^22.10.0","@hono/node-server":"^2.1.1","typescript-eslint":"^8.68.0","@types/better-sqlite3":"^7.6.13","@cloudflare/workers-types":"^5.20260826.1"},"_npmOperationalInternal":{"tmp":"tmp/ezacto-cli_0.1.1_1789182235712_0.9195464240885436","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"_id":"@conflict-hq/ezacto-cli@0.1.2","bin":{"ez":"dist/cli.js"},"bugs":{"url":"https://github.com/ConflictHQ/ezacto-oss/issues"},"dist":{"shasum":"3d073079da477cbaf2413c64bd63af0e7969732c","tarball":"https://registry.npmjs.org/@conflict-hq/ezacto-cli/-/ezacto-cli-0.1.2.tgz","fileCount":20,"integrity":"sha512-NmvItnYMwrPFUx0/ZhXT7y7oqOvsOXU4QcZUeJWBm98HU1M68aUP4QbMpf7Eptl/LRw/OOh2w3J88H6tZUgurA==","signatures":[{"sig":"MEUCIDqnR3pfqCIou3cRODlDCgBSsymP4M2JzvL/u2BuwjrVAiEAsxDOgSqYVxqbR9JDBGYk+cn5/9hLag3reuWkrYP9Rt4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD6HorumFu9OZ6XvrHgZXa7GXJKvRZL9ASfo2UHhj5j1QIhAPkLUdaG5NQR6yPl9WMpmF9dT1T+zvzmZCEHLnSWE5aT"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@conflict-hq%2fezacto-cli@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":233667},"name":"@conflict-hq/ezacto-cli","type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./src/index.ts","default":"./dist/index.js","development":"./src/index.ts"}},"gitHead":"050eb617204caa63bb557555f370b16a96cf7cce","license":"AGPL-3.0-only","scripts":{"lint":"eslint .","test":"vitest run --testTimeout=10000","build":"tsc -p tsconfig.build.json","prepack":"npm run build","pretest":"npm run build -w @conflict-hq/ezacto-client && npm run build","typecheck":"tsc --noEmit"},"version":"0.1.2","_npmUser":{"name":"ragelink","email":"jigglyglen@gmail.com"},"homepage":"https://ezacto.dev","keywords":["ezacto","time-tracking","invoicing","cli"],"repository":{"url":"git+https://github.com/ConflictHQ/ezacto-oss.git","type":"git","directory":"packages/cli"},"_npmVersion":"10.9.8","description":"ez — the native ezacto command-line client.","directories":{},"maintainers":[{"name":"lmata","email":"lmata@weareconflict.com"},{"name":"ragelink","email":"jigglyglen@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"@ezacto/core":"0.0.0","better-sqlite3":"^13.0.3","@conflict-hq/ezacto-client":"^0.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.9.1","vitest":"^4.1.11","@eslint/js":"^10.0.1","@ezacto/db":"0.0.0","typescript":"^5.9.3","@ezacto/api":"0.0.0","@types/node":"^22.10.0","@hono/node-server":"^2.1.1","typescript-eslint":"^8.68.0","@types/better-sqlite3":"^7.6.13","@cloudflare/workers-types":"^5.20260826.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ezacto-cli_0.1.2_1789538253483_0.04759741566794928"}}},"time":{"created":"2026-09-12T02:45:19.352Z","modified":"2026-09-16T05:57:33.942Z","0.1.0":"2026-09-12T02:45:19.697Z","0.1.1":"2026-09-12T03:03:55.823Z","0.1.2":"2026-09-16T05:57:33.580Z"},"bugs":{"url":"https://github.com/ConflictHQ/ezacto-oss/issues"},"license":"AGPL-3.0-only","homepage":"https://ezacto.dev","keywords":["ezacto","time-tracking","invoicing","cli"],"repository":{"url":"git+https://github.com/ConflictHQ/ezacto-oss.git","type":"git","directory":"packages/cli"},"description":"ez — the native ezacto command-line client.","maintainers":[{"name":"lmata","email":"lmata@weareconflict.com"},{"name":"ragelink","email":"jigglyglen@gmail.com"}],"readme":"# ez — ezacto CLI\n\n`ez` is the native command-line client over the generated `@conflict-hq/ezacto-client`\npackage. It supports named organization configs, token login, identity checks,\nredacted config output, and both human and JSON output.\n\n## Install\n\n```sh\nnpm install -g @conflict-hq/ezacto-cli\nez --help\n```\n\nNode 22 or later. The package is published from\n[ConflictHQ/ezacto-oss](https://github.com/ConflictHQ/ezacto-oss) under the\nAGPL v3; `npx @conflict-hq/ezacto-cli --help` runs it without installing.\n\n## Use\n\n```sh\n# Safest for an already-issued scoped API token: it never enters shell history.\nprintf '%s\\n' \"$EZACTO_TOKEN\" | ez login --token-stdin --org conflict\n\nez whoami\nez whoami --json\nez config\nez log 2h northpeak devops -m 'release work'\nez timer start northpeak devops -m 'incident follow-up'\nez timer status\nez timer stop\nez week\nez logout\n```\n\n`--base-url` selects a different ezacto deployment during login. Plain HTTP is\naccepted only for localhost development servers; remote credentials require\nHTTPS. `--org` selects a named organization, and the most recent login becomes\nactive.\n\nThe default config is `$XDG_CONFIG_HOME/ezacto/config.json`, falling back to\n`~/.config/ezacto/config.json`. `EZACTO_CONFIG` or `--config` can override it.\nWrites are atomic and the credential file is mode `0600`; command output never\nprints the token. `--token` is supported for automation but `--token-stdin` or\nthe `EZACTO_TOKEN` environment variable avoids exposing a token in process lists\nand shell history.\n\nTime commands resolve project names/codes and task names through the native API.\nDurations accept compact hour/minute forms such as `2h`, `90m`, and `1h30m`.\n`--date` selects the spent date for `log` or `timer start`; `--week` accepts any\ndate in the Monday–Sunday week to render. Starting a timer relies on the same API\ninvariant as the web app: the previous running timer is stopped atomically before\nthe new one starts.\n","readmeFilename":"README.md"}