{"_id":"001k-cli","name":"001k-cli","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"001k-cli","version":"1.0.0","description":"CLI and AI-agent skill for 001k.bot — deposits, withdrawals, swaps, transfers, limit orders, and AML checks","bin":{"001k":"dist/cli.js"},"repository":{"type":"git","url":"git+https://github.com/OO1kBOT/001k-cli.git"},"homepage":"https://github.com/OO1kBOT/001k-cli#readme","bugs":{"url":"https://github.com/OO1kBOT/001k-cli/issues"},"scripts":{"build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","dev":"tsx src/cli.ts","typecheck":"tsc -p tsconfig.test.json","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build","version":"node scripts/sync-version.mjs && git add skills"},"keywords":["001k","api","cli","fintech","agent","skill"],"author":{"name":"001k bot","url":"https://001k.bot"},"license":"Apache-2.0","publishConfig":{"access":"public"},"type":"module","devDependencies":{"@types/node":"^24.13.3","@vitest/coverage-v8":"^4.1.10","tsx":"^4.23.1","typescript":"7.0.2","vitest":"^4.1.10"},"engines":{"node":">=24.0.0"},"gitHead":"c66a1f621c57dc5456b7b15a043bc3544f0fd775","_id":"001k-cli@1.0.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-0Kaa5RlowoxcScnrehRkYieiab6r/vjSb4E15dzf/AJc05TEelnx6Nmxt+bFxyPKu1n0Cydp9hGOPywbFRFkvw==","shasum":"98d4266b198a3cc8f6b88ccdadd68975f4959484","tarball":"https://registry.npmjs.org/001k-cli/-/001k-cli-1.0.0.tgz","fileCount":52,"unpackedSize":112685,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/001k-cli@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCZwWfHm7EskFraxeWAORO8Z8G4rMWoAeR+kHU1UnPqmgIhAMJcGoqPIZjFoirndSH/rXgTQkmSrtams/wbrHdUVHpk"}]},"_npmUser":{"name":"xctw","email":"devs@001k.bot"},"directories":{},"maintainers":[{"name":"xctw","email":"devs@001k.bot"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/001k-cli_1.0.0_1785426397989_0.5502361166246523"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T15:46:37.830Z","1.0.0":"2026-07-30T15:46:38.142Z","modified":"2026-07-30T15:46:38.545Z"},"maintainers":[{"name":"xctw","email":"devs@001k.bot"}],"description":"CLI and AI-agent skill for 001k.bot — deposits, withdrawals, swaps, transfers, limit orders, and AML checks","homepage":"https://github.com/OO1kBOT/001k-cli#readme","keywords":["001k","api","cli","fintech","agent","skill"],"repository":{"type":"git","url":"git+https://github.com/OO1kBOT/001k-cli.git"},"author":{"name":"001k bot","url":"https://001k.bot"},"bugs":{"url":"https://github.com/OO1kBOT/001k-cli/issues"},"license":"Apache-2.0","readme":"# 001k-cli\n\n[English](README.md) · [Русский](README.ru.md) · **Українська**\n\nCLI-інструмент та AI-агентський скіл для [001k.bot](https://001k.bot) — депозити, виведення, свопи, перекази, лімітні ордери та AML-перевірки.\n\n[![npm version](https://img.shields.io/npm/v/001k-cli)](https://www.npmjs.com/package/001k-cli)\n[![CI](https://github.com/OO1kBOT/001k-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/OO1kBOT/001k-cli/actions/workflows/ci.yml)\n[![license](https://img.shields.io/npm/l/001k-cli)](./LICENSE)\n\n- 🌐 Сайт: <https://001k.bot>\n- 📖 Документація API: <https://docs.001k.bot>\n- 💬 Telegram: [@OO1kBOT](https://t.me/OO1kBOT)\n\n> **⚠️ Застереження.** `001k-cli` — офіційний інструмент 001k, який виконує реальні\n> фінансові операції (депозити, виведення, свопи, перекази). Надається **«ЯК Є», без\n> жодних гарантій** (див. [LICENSE](./LICENSE)). Використовуйте на власний ризик; це\n> не є фінансовою порадою. Завжди перевіряйте команди, що змінюють стан, перед виконанням.\n\n---\n\n## Можливості\n\n- **Повне покриття API** — депозити, виведення, свопи, перекази, лімітні ордери, AML-перевірки, баланс і журнал операцій.\n- **Вбудований AI-агентський скіл** — скіл (`001k-cli`) керує CLI з Claude Code та будь-якого агента природною мовою.\n- **Безпека за замовчуванням** — підпис запитів HMAC-SHA256; секретний ключ використовується лише локально й ніколи не передається та не логується.\n- **Кілька профілів** — іменовані профілі в `~/.001k/` (глобально) або `./.001k/` (проєкт), обираються через `--profile`.\n- **Лише HTTPS** — CLI не надішле облікові дані протоколом, відмінним від `https://`.\n- **JSON-вивід** — структурований JSON у stdout із зрозумілими кодами виходу (0/1/2/3) — спрямовуйте у `jq` чи будь-яку автоматизацію.\n- **Готовий до CI/CD** — облікові дані через змінні `OO1K_ACCESS_KEY` / `OO1K_SECRET_KEY` для неінтерактивних пайплайнів.\n\n---\n\n## Швидкий старт\n\n```bash\n# 1. Встановити CLI глобально\nnpm install -g 001k-cli\n# або іншим менеджером пакетів:\n# pnpm add -g 001k-cli  |  yarn global add 001k-cli  |  bun add -g 001k-cli\n\n# 2. Авторизуватися (інтерактивне введення ключа доступу та секретного ключа)\n001k auth login\n\n# 3. (Опційно) Встановити AI-агентський скіл для Claude Code\nnpx skills add OO1kBOT/001k-cli\n```\n\n## Як це працює\n\nПроєкт складається з двох шарів:\n\n1. **CLI** (`001k`) — самостійний інструмент командного рядка, який підписує запити\n   HMAC-SHA256, звертається до API 001k.bot і повертає структурований JSON.\n2. **Скіл** (`001k-cli`) — набір інструкцій, що навчає AI-агента (наприклад, Claude\n   Code), *коли* і *як* викликати CLI. Агент читає скіл, інтерпретує запити природною\n   мовою та перетворює їх на команди `001k`.\n\nУсі секрети залишаються локально. CLI підписує запити вашими HMAC-ключами; ані скіл,\nані агент ніколи не бачать вихідних облікових даних.\n\n---\n\n## Команди\n\nФормат: `001k <сутність> <дія> [--прапорець значення]`\n\n### Авторизація\n\n| Дія           | Опис                                  |\n| ------------- | ------------------------------------- |\n| `auth login`  | Інтерактивний вхід, зберігає профіль    |\n| `auth logout` | Видалити збережений профіль             |\n| `auth status` | Показати статус авторизації             |\n| `auth list`   | Список збережених профілів              |\n\n### Загальні\n\n| Команда    | Опис                            |\n| ---------- | ------------------------------- |\n| `status`   | Перевірити доступність API        |\n| `currency` | Список підтримуваних валют        |\n| `balance`  | Показати баланси рахунку          |\n| `ledger`   | Показати записи журналу операцій   |\n\n### Депозит\n\n| Дія                          | Опис                            |\n| ---------------------------- | ------------------------------- |\n| `deposit methods`            | Методи депозиту                 |\n| `deposit list`               | Список депозитів                |\n| `deposit get`                | Отримати депозит за кодом         |\n| `deposit create-address`     | Створити адресу для депозиту      |\n| `deposit default-address`    | Адреса депозиту за замовчуванням  |\n| `deposit disposable-address` | Одноразова адреса депозиту        |\n\n### Виведення\n\n| Дія                | Опис                       |\n| ------------------ | -------------------------- |\n| `withdraw methods` | Методи виведення           |\n| `withdraw list`    | Список виведень            |\n| `withdraw get`     | Отримати виведення за кодом  |\n| `withdraw create`  | Створити виведення         |\n\n### Своп\n\n| Дія                        | Опис                          |\n| -------------------------- | ----------------------------- |\n| `swap directions`          | Список напрямків свопів         |\n| `swap list`                | Список свопів                  |\n| `swap get`                 | Отримати своп за внутрішнім ID   |\n| `swap get-by-code`         | Отримати своп за кодом           |\n| `swap get-by-custom-id`    | Отримати своп за кастомним ID     |\n| `swap create`              | Створити своп                  |\n| `swap cancel`              | Скасувати своп                 |\n| `swap cancel-by-code`      | Скасувати своп за кодом          |\n| `swap cancel-by-custom-id` | Скасувати своп за кастомним ID    |\n\n### Переказ\n\n| Дія               | Опис                       |\n| ----------------- | -------------------------- |\n| `transfer list`   | Список переказів           |\n| `transfer get`    | Отримати переказ за кодом    |\n| `transfer create` | Створити переказ           |\n\n### Лімітний ордер\n\n| Дія                  | Опис                       |\n| -------------------- | -------------------------- |\n| `limit-order pairs`  | Список торгових пар         |\n| `limit-order list`   | Список лімітних ордерів      |\n| `limit-order get`    | Отримати ордер за кодом       |\n| `limit-order create` | Створити лімітний ордер       |\n| `limit-order cancel` | Скасувати лімітний ордер       |\n\n### AML\n\n| Дія          | Опис                        |\n| ------------ | --------------------------- |\n| `aml list`   | Список AML-перевірок          |\n| `aml get`    | Отримати AML-перевірку за кодом |\n| `aml plan`   | Список AML-планів            |\n| `aml token`  | Список AML-токенів           |\n| `aml create` | Створити AML-перевірку        |\n\n### Службові\n\n| Команда       | Опис                                            |\n| ------------- | ----------------------------------------------- |\n| `cli-check --required-version <версія>`   | Порівняти версію CLI з необхідною                 |\n| `skill-check --required-version <версія>` | Перевірити, чи потрібне оновлення скілу (передайте версію самого скілу) |\n\nГлобальні прапорці: `--profile <ім'я>`, `--profile-path <файл>`, `--help`, `--version`.\n\n---\n\n## Авторизація\n\n```bash\n# Інтерактивний вхід — запитує ключ доступу та секретний ключ\n001k auth login\n\n# Іменований профіль / область проєкту\n001k auth login --profile staging\n001k auth login --scope project\n```\n\nОблікові дані визначаються в такому порядку (перемагає перший збіг):\n\n1. `--profile <ім'я>`\n2. `--profile-path <файл>`\n3. Автовибір, якщо існує рівно один профіль\n4. Помилка, якщо профілів декілька (вкажіть `--profile`)\n5. Змінні середовища `OO1K_ACCESS_KEY` / `OO1K_SECRET_KEY` (для CI/CD)\n\nПрофілі зберігаються у форматі JSON з правами лише для власника:\n\n- Глобально: `~/.001k/profiles/<ім'я>.json`\n- Проєкт: `./.001k/profiles/<ім'я>.json` (перевизначає глобальний профіль з тим самим ім'ям)\n\n> Ключі зберігаються **у відкритому вигляді** (файли `0600`). Не синхронізуйте `~/.001k/`\n> з хмарними резервними копіями та використовуйте ключі з мінімальними правами.\n> Див. [SECURITY.md](./SECURITY.md).\n\n## Конфігурація\n\n| Змінна       | За замовчуванням         | Опис                                     |\n| ------------ | ------------------------ | ---------------------------------------- |\n| `OO1K_ACCESS_KEY` | —                        | Ключ доступу до API (лише для CI/CD)      |\n| `OO1K_SECRET_KEY` | —                        | Секретний ключ API (лише для CI/CD)      |\n| `OO1K_BASE_URL`   | `https://api.001k.world` | Базовий URL API (має бути `https://`)    |\n\nДля локального використання надавайте перевагу `001k auth login`. Базовий URL має\nвикористовувати HTTPS (localhost — виняток для тестування).\n\n---\n\n## Використання з AI-агентами\n\nСкіл працює з **будь-яким AI-агентом, що може виконувати команди оболонки** — Claude Code, Cursor, Windsurf, Codex та іншими. Після встановлення агент перетворює природну мову на виклики CLI.\n\n| Запит                           | Команда CLI                                             |\n| ------------------------------- | ------------------------------------------------------- |\n| «Перевір мій баланс»            | `001k balance`                                          |\n| «Покажи напрямки свопів»        | `001k swap directions`                                  |\n| «Обміняй 0.01 BTC на USDT»      | `001k swap create --direction <код> --spend-amount 0.01` |\n| «Покажи останні депозити»       | `001k deposit list --limit 10`                          |\n| «Скасуй лімітний ордер ABC123»  | `001k limit-order cancel --code ABC123`                 |\n| «Перевір адресу 0x… за AML»     | `001k aml create --token 1 --address 0x…`               |\n\n> `--direction` для свопу — це `code` з `001k swap directions` (не назва пари).\n> `--token` для AML — числовий id з `001k aml token`.\n\n### Налаштування з Claude Code\n\n> `npx skills add` встановлює скіл для Claude Code. Інші агенти можуть використовувати той самий скіл — вкажіть їм на `skills/001k-cli/SKILL.md` та додайте його в контекст агента; команди CLI ідентичні.\n\n\n```bash\n# 1. Переконайтеся, що CLI встановлено та авторизовано\n001k auth status\n\n# 2. Встановіть скіл\nnpx skills add OO1kBOT/001k-cli\n\n# 3. Запустіть Claude Code і запитуйте\nclaude\n> Покажи мій баланс і останні свопи\n```\n\n---\n\n## Розробка\n\nПотрібен Node.js >= 24.\n\n```bash\nnpm ci                  # встановити залежності\nnpm run build           # збірка у dist/\nnpm run dev -- status   # запуск з вихідного коду через tsx\nnpm run typecheck       # tsc --noEmit (src + tests)\nnpm test                # запустити тести\nnpm run test:coverage\n```\n\nДив. [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## Усунення несправностей\n\n- **`No profile found.` / `No credentials found`** — виконайте `001k auth login` або\n  задайте `OO1K_ACCESS_KEY` / `OO1K_SECRET_KEY`. Перевірте через `001k auth status`.\n- **`ECONNREFUSED` / `ENOTFOUND` / `ETIMEDOUT`** — перевірте з'єднання та доступність\n  `OO1K_BASE_URL` (за замовчуванням `https://api.001k.world`). Мережеві збої завершуються\n  з кодом 3 і виводять `{ \"network_error\": true, \"message\": \"...\" }` у stderr.\n- **Помилка небезпечного base URL** — `OO1K_BASE_URL` має використовувати `https://`\n  (localhost — виняток).\n- **Версія Node** — CLI потребує Node.js 24+ (`node --version`).\n\nПомилки API повертаються у структурованому JSON з кодом і повідомленням. Використовуйте\n`--help` для перегляду прапорців.\n\n## Безпека\n\nПовідомляйте про вразливості приватно — див. [SECURITY.md](./SECURITY.md). Ніколи не\nвставляйте API-ключі в issues.\n\n## Ліцензія\n\n[Apache-2.0](./LICENSE) © 001k bot\n","readmeFilename":"README.uk.md","_rev":"1-ffb0cee257dbcae5c22af0f97921f5a8"}