AIKraft/Skills/Лучшие практики Dinero

Лучшие практики Dinero

Core best practices for the Dinero.js money library. Use when writing, reviewing, or refactoring code that creates Dinero objects, performs arithmetic on monetary values, or handles money in JavaScript/TypeScript. Triggers on imports from 'dinero.js', monetary calculations, or price/cost handling logic.

dinerojs official Документы

Что делает навык

Набор лучших практик для безопасного создания, арифметики и форматирования денежных значений в JavaScript/TypeScript с использованием библиотеки Dinero.js. Правила охватывают критические аспекты, такие как работа с целыми числами, неизменяемость объектов и выбор правильного калькулятора для предотвращения ошибок округления.

Когда применять

  • Создание объектов Dinero из пользовательского ввода, ответов API или значений базы данных
  • Выполнение арифметических операций над денежными значениями, таких как сложение, разделение и умножение
  • Выбор между калькуляторами number и bigint для обеспечения точности расчетов
  • Импорт модулей из dinero.js, dinero.js/currencies или dinero.js/bigint
  • Работа с ценами, себестоимостью, налогами или любыми финансовыми вычислениями

Как работает

  1. Следовать правилам создания объектов: передавать суммы в целых числах в минорных единицах валюты (creation-minor-units) и использовать вспомогательные функции для конвертации float (creation-from-floats)
  2. Учитывать особенности валют с показателем степени 0 (например, JPY), которые принимают основные единицы напрямую (creation-zero-exponent)
  3. Обеспечивать неизменяемость операций, всегда захватывая возвращаемое значение новых объектов (arithmetic-immutability)
  4. Использовать метод allocate для разделения денег вместо ручного деления (arithmetic-allocate-not-divide)
  5. Избегать умножения на сырые десятичные числа, используя масштабированные суммы (arithmetic-scaled-amounts)
  6. Применять allocate или масштабированное умножение для вычисления процентов (arithmetic-percentages)

Примеры запросов агенту

Как правильно создать объект Dinero из цены, полученной из API, чтобы избежать ошибок округления?
Проведи ревью кода на использование Dinero.js: правильно ли я делю сумму между пользователями?
Какие правила импорта из dinero.js следует соблюдать для оптимизации бандла?

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «dinero-best-practices» из репозитория: # https://github.com/dinerojs/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r dinero-best-practices/ ~/.claude/skills/dinero-best-practices/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.