value-objects-money-and-units
Installation
SKILL.md
Value objects: money & units
Store every quantity once, in one canonical form, and convert only when shown or exported. Money is integer minor units plus a currency; physical quantities are whole SI base units; time is UTC. This is what lets a user flip any display preference (currency symbol, unit system, locale) without corrupting one stored row, and lets "sum of parts == whole" be structural, not hoped-for.
This core is pure Dart — no flutter/*, no intl, no dart:io, no plugins.
Formatting and digit normalization happen upstream/downstream, not here. These
value objects live in lib/core/, the sanctioned pure-foundation layer (see
project-structure-and-packages) — never a utils//common//shared/ grab-bag.