{"_id":"@calumba/sevdesk-cli","_rev":"2-d6c8e6c498f7887ba6320145f0369e34","name":"@calumba/sevdesk-cli","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@calumba/sevdesk-cli","version":"0.1.0","_id":"@calumba/sevdesk-cli@0.1.0","maintainers":[{"name":"pasogott","email":"pascal@calumba.at"}],"homepage":"https://github.com/calumba-holding/sevdesk-cli#readme","bugs":{"url":"https://github.com/calumba-holding/sevdesk-cli/issues"},"bin":{"sevdesk":"dist/cli.js"},"dist":{"shasum":"218d7ecb9053451be95de5d77332a0ef5c8273e3","tarball":"https://registry.npmjs.org/@calumba/sevdesk-cli/-/sevdesk-cli-0.1.0.tgz","fileCount":37,"integrity":"sha512-02YmuZEPbXO3Yx3tDTWEqoYlnpNxp3242Zd309+QNLrSst1o1cCtMWAW8VUAnT/BnwcvYqdeJSieznVVfiA2dQ==","signatures":[{"sig":"MEQCIGhXc7+IPZ+pFaQzIHeQPx231MujpzTiSqZdfP+uRF9FAiAztaqcIZQ0HyGkq8s55PcZfFaLi4q3DSzQE6Y1UtsdDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84891},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"1153eb8d90d5d71c07cf5f249b7a17ce9ef4b7fc","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","check":"npm run typecheck && npm run test","prepack":"npm run build","release":"node scripts/release.mjs release","typecheck":"tsc --noEmit","release:doctor":"node scripts/release.mjs doctor","release:prepare":"node scripts/release.mjs prepare","release:publish":"node scripts/release.mjs publish"},"_npmUser":{"name":"pasogott","email":"pascal@calumba.at"},"repository":{"url":"git+https://github.com/calumba-holding/sevdesk-cli.git","type":"git"},"_npmVersion":"11.10.0","description":"TypeScript CLI for selected sevdesk API endpoints","directories":{},"_nodeVersion":"25.2.1","dependencies":{"dotenv":"^17.2.3","commander":"^14.0.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sevdesk-cli_0.1.0_1775218438849_0.20865415889423233","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@calumba/sevdesk-cli","version":"0.1.1","description":"TypeScript CLI for selected sevdesk API endpoints","repository":{"type":"git","url":"git+https://github.com/calumba-holding/sevdesk-cli.git"},"bugs":{"url":"https://github.com/calumba-holding/sevdesk-cli/issues"},"type":"module","engines":{"node":">=20.0.0"},"publishConfig":{"access":"public"},"bin":{"sevdesk":"dist/cli.js"},"scripts":{"dev":"tsx src/cli.ts","build":"tsc","typecheck":"tsc --noEmit","test":"vitest run","check":"npm run typecheck && npm run test","prepack":"npm run build","release:doctor":"node scripts/release.mjs doctor","release:prepare":"node scripts/release.mjs prepare","release:publish":"node scripts/release.mjs publish","release":"node scripts/release.mjs release"},"dependencies":{"commander":"^14.0.0","dotenv":"^17.2.3","picocolors":"^1.1.1"},"devDependencies":{"@types/node":"^24.0.0","tsx":"^4.20.3","typescript":"^5.9.3","vitest":"^3.2.4"},"gitHead":"1c69c3a5310d431a6d6fc3240bba6024dafbdb24","_id":"@calumba/sevdesk-cli@0.1.1","homepage":"https://github.com/calumba-holding/sevdesk-cli#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"integrity":"sha512-ArEXtK2tVx/Yo+wXvSbotwW1v2m9L+3tXmCnUsiXFdjiUIvYrdrN6mfo+2fvF6cq98DLm9DEQbFElQ+5+qvfqA==","shasum":"9b198a5e9889c95bf85cb155c061e4514e55b42f","tarball":"https://registry.npmjs.org/@calumba/sevdesk-cli/-/sevdesk-cli-0.1.1.tgz","fileCount":37,"unpackedSize":85173,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDikx/FKpTvASNYT0vgGSTQo3aqBdMukhCzCSfCyGNUpAIhAOZUgAojrM4nRRnhgpeiXJo6ieVPLGUzLsvAxs52ezDc"}]},"_npmUser":{"name":"pasogott","email":"pascal@calumba.at"},"directories":{},"maintainers":[{"name":"pasogott","email":"pascal@calumba.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sevdesk-cli_0.1.1_1775222996571_0.19719769887991156"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-03T12:13:58.731Z","modified":"2026-04-03T13:29:56.875Z","0.1.0":"2026-04-03T12:13:59.014Z","0.1.1":"2026-04-03T13:29:56.719Z"},"bugs":{"url":"https://github.com/calumba-holding/sevdesk-cli/issues"},"homepage":"https://github.com/calumba-holding/sevdesk-cli#readme","repository":{"type":"git","url":"git+https://github.com/calumba-holding/sevdesk-cli.git"},"description":"TypeScript CLI for selected sevdesk API endpoints","maintainers":[{"name":"pasogott","email":"pascal@calumba.at"}],"readme":"# sevdesk-cli\n\nTypeScript CLI for selected sevdesk API endpoints.\n\n## Scope v0.1\n\nCurrently implemented:\n\n- `GET /CheckAccount`\n- `GET /CheckAccount/{checkAccountId}/getBalanceAtDate`\n- `GET /Invoice`\n- `GET /CheckAccountTransaction`\n- `GET /CheckAccountTransaction/{checkAccountTransactionId}`\n- `GET /Report/invoicelist`\n\n## Installation\n\n### Global via npm\n\n```bash\nnpm i -g @calumba/sevdesk-cli\n```\n\nAfter that, the `sevdesk` command is available globally.\n\n### Without a global install\n\n```bash\nnpm exec --package @calumba/sevdesk-cli sevdesk -- --help\n```\n\n### Local development\n\n```bash\ncd /Users/pascal/projects/sevdesk-cli\nnpm install\nnpm run build\nnpm link\n```\n\n## Quickstart\n\n### 1. Set an API token\n\n```bash\nexport SEVDESK_API_TOKEN=\"<your-token>\"\n```\n\nOr use the user config at `~/.config/sevdesk-cli/config.json`.\n\nImportant: the default config always lives at `~/.config/sevdesk-cli/config.json`. You can point to another file with `--config <path>`. If that file is inside the current project, the CLI prints an explicit warning.\n\n### 2. List accounts\n\n```bash\nsevdesk check-accounts list\nsevdesk check-accounts list --json\n```\n\n### 3. List invoices\n\n```bash\nsevdesk invoices list --status 200 --start-date 2026-01-01 --end-date 2026-03-31\nsevdesk --profile kkr invoices list --count-all --limit 1 --created-after 2026-03-01 --created-before 2026-03-31\n```\n\nImportant:\n\n- `--start-date` / `--end-date` filter by `invoiceDate`\n- `--created-after` / `--created-before` filter by the technical `create` timestamp\n- date values accept `YYYY-MM-DD`, ISO datetimes, or Unix seconds\n\n### 4. List transactions\n\n```bash\nsevdesk transactions list --check-account-id 12 --only-credit\nsevdesk transactions get 4711 --json\n```\n\n### 5. Save the invoice list report as PDF\n\n```bash\nsevdesk reports invoice-list --output ./invoice-list.pdf --invoice-type RE\n```\n\nNotes:\n\n- PDF files are only written with `--output <path>` or `--stdout`\n- existing files are only overwritten with `--force`\n\n## Output modes\n\n- Default: human-readable\n- `--json`: structured JSON output\n- `--plain`: stable plain-text output for pipes and scripts\n\n## Configuration\n\nPrecedence:\n\n1. Flags (`--profile`, `--base-url`, `--config`)\n2. Environment (`SEVDESK_API_TOKEN`, `SEVDESK_PROFILE`, `SEVDESK_BASE_URL`, `SEVDESK_API_TOKEN_FILE`)\n3. Config file (default: `~/.config/sevdesk-cli/config.json`, optional via `--config <path>`)\n\nDetails: [`docs/configuration.md`](./docs/configuration.md)\n\n## Repository documentation\n\n- [`docs/README.md`](./docs/README.md)\n- [`docs/cli-spec.md`](./docs/cli-spec.md)\n- [`docs/configuration.md`](./docs/configuration.md)\n- [`docs/reference/authentication.md`](./docs/reference/authentication.md)\n- [`docs/reference/check-accounts.md`](./docs/reference/check-accounts.md)\n- [`docs/reference/invoices.md`](./docs/reference/invoices.md)\n- [`docs/reference/transactions.md`](./docs/reference/transactions.md)\n- [`docs/reference/report-invoice-list.md`](./docs/reference/report-invoice-list.md)\n- [`docs/api/README.md`](./docs/api/README.md)\n- [`.agents/skills/create-cli/SKILL.md`](./.agents/skills/create-cli/SKILL.md)\n\n## Development\n\n```bash\nnpm run test\nnpm run build\nnpm run dev -- invoices list --json\n```\n\n## Maintainer release flow\n\nPrerequisites:\n\n- `gh auth login`\n- `npm login`\n- a clean local `main` that matches `origin/main`\n\nChecks:\n\n```bash\nnpm run release:doctor\n```\n\nDry run without Git / GitHub / npm mutations:\n\n```bash\nnpm run release -- --dry-run patch\n```\n\nPrepare a release (validate/finalize changelog, bump version, run checks, create release commit and git tag):\n\n```bash\nnpm run release:prepare -- patch\n# or: minor | major | prepatch | preminor | premajor | prerelease | 0.2.0\n```\n\nPublish a release (push + GitHub Release + npm publish):\n\n```bash\nnpm run release:publish\n```\n\nEverything in one step:\n\n```bash\nnpm run release -- patch\n```\n\nWhat the script does:\n\n1. validates Git, GitHub CLI, and npm auth prerequisites\n2. checks that `CHANGELOG.md` contains entries under `## Unreleased`\n3. moves those entries into a new `## X.Y.Z` section\n4. bumps `package.json` and `package-lock.json`\n5. runs typecheck, tests, build, and smoke checks\n6. creates `chore(release): vX.Y.Z` and tags `vX.Y.Z`\n7. pushes `main` and the tag\n8. creates a GitHub Release from the matching `CHANGELOG.md` section and verifies that the release actually exists\n9. publishes the package to npm\n\nNote: the manual workflow publishes **without** GitHub Actions provenance.\n\nFor future releases, the repository also includes `.github/workflows/release.yml`, which is designed to publish tagged releases with npm provenance via GitHub Actions once the repository is public.\n\nAfter a successful release, install the package like this:\n\n```bash\nnpm i -g @calumba/sevdesk-cli\nsevdesk --help\n```\n\n`--dry-run` shows the same flow but skips all mutating steps such as version bumps, commits, tags, pushes, GitHub release creation, and `npm publish`.\n\n## Skills\n\n- global runtime skill: `~/.agents/skills/sevdesk-cli/SKILL.md`\n- project-local runtime skill: `/Users/pascal/projects/sevdesk-cli/.agents/skills/sevdesk-cli/SKILL.md`\n- project-local CLI design skill: `/Users/pascal/projects/sevdesk-cli/.agents/skills/create-cli/SKILL.md`\n- project-local commit skill: `/Users/pascal/projects/sevdesk-cli/.agents/skills/commit/SKILL.md`\n- project-local extension workflow skill: `/Users/pascal/projects/sevdesk-cli/.agents/skills/extend-sevdesk-cli/SKILL.md`\n- compatibility mirrors:\n  - `/Users/pascal/projects/sevdesk-cli/.claude/skills/create-cli/SKILL.md`\n  - `/Users/pascal/projects/sevdesk-cli/.codex/skills/create-cli/SKILL.md`\n  - `/Users/pascal/projects/sevdesk-cli/.claude/skills/commit/SKILL.md`\n  - `/Users/pascal/projects/sevdesk-cli/.codex/skills/commit/SKILL.md`\n  - `/Users/pascal/projects/sevdesk-cli/.claude/skills/extend-sevdesk-cli/SKILL.md`\n  - `/Users/pascal/projects/sevdesk-cli/.codex/skills/extend-sevdesk-cli/SKILL.md`\n\nWhen extending the CLI, agents should load the local `extend-sevdesk-cli` skill first. It points to `create-cli`, the repo docs, and the commit rules. Before committing, load the local `commit` skill; commits should remain atomic.\n","readmeFilename":"README.md"}