Releases: zfadhli/koko-cli
Releases · zfadhli/koko-cli
Release list
v0.4.0
0.4.0 — 2026-07-04
Changed
- Replaced picocolors with
node:util.styleText— color API is now zero-dependency,
using Node.js built-in ANSI styling. Thecolorobject is now a chainable chalk-like
proxy:color.bold.green('success'),color.red.bold.underline('urgent').
Added
Formattype union — typed list of all ~60 valid format names (text colors, bright
colors, background colors, text styles) accepted bynode:util.styleText, exported for
consumers.kalertype — replacesChalkas the type for the chainable color object. Exported
for typingCommandContext.colorand custom color wrappers.- Background color formatters — 16
bg*formatters (color.bgRed,color.bgBlue,
etc.) now available for free viastyleText.
Removed
- picocolors dependency — dropped from
package.json. No more third-party color lib. ColorName/StyleNametypes — replaced byFormat.
v0.3.0
Changed
- Migrated dev toolchain from Bun to nub.js — switched to nub runtime for running scripts, vitest replaces
bun:testfor testing.lock.yamlreplacesbun.lock. CI updated tonubjs/setup-nub. - Simplified CLI API surface — removed
BannerOption,CLIOptions, andOptionConfigtypes (inlined into their usage sites). Consumers using these types for annotations should switch to inline types orstring | boolean. - Added
sideEffects: falsetopackage.json— enables tree-shaking for bundler consumers. - Added lefthook pre-commit hooks — Biome lint +
tsc --noEmitrun before every commit.
Fixed
- Spinner invalid-style error —
createSpinner()now throwsCliToolkitErrorwith a descriptive message listing available styles, instead of a rawTypeError.
Added
- Test coverage for CAC error wrapping —
createCLI.parse()error handling path now tested. - Test coverage for
CliToolkitErrorand icon constants — two new test files covering public API basics. process.exitmock hygiene — banner tests wrap mocked globals in try/finally to prevent cascading failures.
What's Changed
Full Changelog: v0.2.1...v0.3.0
v0.2.1
What's Changed
- fix(createProgress): pass payload through start() to fix first render by @zfadhli in #6
- Release v0.2.1 by @zfadhli in #7
Full Changelog: v0.2.0...v0.2.1
What's Changed
- fix(createProgress): pass payload through start() to fix first render by @zfadhli in #6
- Release v0.2.1 by @zfadhli in #7
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Added
- Auto banner —
createCLI(name, version?)now prints a styledname v{version}banner (bold cyan + yellow) to stderr before every command action. Customize with.banner("Custom {name} {version}")or disable with.banner(false)/{ banner: false }option. .banner()method onCLIBuilder— configure or suppress the startup bannerBannerOption/CLIOptionstypes — exported for TypeScript consumers
What's Changed
Full Changelog: 0.1.1...v0.2.0