elattar_cli 0.0.3
elattar_cli: ^0.0.3 copied to clipboard
Installs Elattar's Flutter design system into your project as source you own: components, foundation tokens, effects and motion, copied in and yours to edit.
Changelog #
This file covers the elattar_cli command only. The design system's own
changelog — components, tokens, effects, motion — lives at
CHANGELOG.md
in the repository root.
0.0.3 #
Reads /registry/0.0.3/ by default. The registry publishes the design
system's shared disabled-state and form-recovery APIs, responsive typography,
chart interaction work, and integrated agent/voice sources.
The command surface is unchanged. Existing elattar_cli 0.0.1 and 0.0.2
installations remain pinned to their matching immutable registry paths.
0.0.2 #
Reads /registry/0.0.2/ by default, because the design system published a new
registry version. elattar_cli 0.0.1 is unaffected and goes on reading
/registry/0.0.1/: a released registry version is immutable, so the sources
that CLI installs today are the sources it installed on the day it shipped.
Nothing else about the command changed.
0.0.1 #
First release.
dart install elattar_cli
Commands #
elattar init --foundation source— writeselattar.yaml, installs the foundation (tokens, theme, typography, motion, the three font faces), wires the fonts into yourpubspec.yaml, and creates.elattar/manifest.jsonas the record of what was installed and from which hashes.elattar add <items…>— installs items and everything they depend on.--allinstalls the complete registry.elattar list,search <query>,info <name>— read the catalog.elattar doctor— reports project, config, dependency resolution, manifest, and the registry it would use.
Every command takes --registry PATH_OR_URL and --offline. init and add
take --dry-run; add takes --overwrite.
Registry #
- Reads a hosted, version-pinned registry by default:
https://flutter.elattar.dev/registry/0.0.1/. The path is immutable, so this version installs the same sources for as long as it exists — a later registry cannot change what0.0.1does. --registryalso accepts a local directory, for contributors and mirrors. Inside a checkout of the design system, a localregistry/generated/latestis discovered automatically and the CLI says so rather than choosing quietly.- Every manifest and every payload is verified against its declared sha256 before anything is written. A failed download or a substituted file aborts with your project untouched, not half-installed.
- Responses are bounded: request timeout, capped redirects, named redirect loops, and a size limit enforced while streaming.
Offline #
- A per-user cache under your platform's cache directory
(
%LOCALAPPDATA%,~/Library/Caches, or$XDG_CACHE_HOME), overridable withELATTAR_CACHE_DIR. --offlinereads only that cache and distinguishes a cache miss from a network failure, because they have different fixes.- Writes are atomic, so an interrupted download never becomes a readable entry.
Ownership and licensing #
- Installed sources are copied into your project and become your code.
Edit them freely;
elattar add --overwriteis the only thing that replaces them, and it never touches files Elattar did not install. initwritesLICENSES/ELATTAR-MIT.txt. Items that redistribute third-party material carry their own notice: the foundation installs the three font OFL notices,iconinstalls lucide's,voice-indicatorinstalls the ElevenLabs UI notice. Keep them — that is the condition all three licenses attach to the grant.
Known limitations #
--foundation packageis refused. It used to write a dependency on a package namedelattar_corethat does not exist, producing a project that could not resolve. It stays refused until such a package is really published;--foundation sourceis the supported path.- The root
elattar_design_systempackage is not on pub.dev. Source installation through this CLI is the distribution route. - Conflicts are all-or-nothing: if any target file differs from what the
registry holds,
addexits 73 and writes nothing. Re-run with--overwriteonce you have saved whatever you meant to keep.