@tryghost/pretty-cli
v3.4.0
Published
A mini-module to style a sywac instance in a standard way
Maintainers
Keywords
Readme
Pretty CLI
A mini-module to style a sywac instance in a standard way
Install
Either: npm install @tryghost/pretty-cli --save
Or: pnpm add @tryghost/pretty-cli
Purpose
Styled CLI output helpers and UI primitives for consistent Ghost command-line tooling.
Usage
E.g. const prettyCLI = require('@tryghost/pretty-cli');
prettyCLI is a pre-styled instance of the sywac API.
See the sywac quickstart and config guide for full usage.
Example:
#!/usr/bin/env node
const prettyCLI = require('@tryghost/pretty-cli');
prettyCLI
.command({
flags: 'myTask [option]',
desc: 'Run myTask',
run: (argv) => { ... do something here }
})
.parseAndExit();Pretty CLI also provides a common UI interface, providing log functions to output coloured messages to the UI:
const ui = require('@tryghost/pretty-cli/lib/ui');
ui.log.info('Done');
ui.log.warn('Uh Oh', 'Something went wrong');You can also grab a fresh instance of the api with prettyCLI.Api.get().
The style rules used are available at prettyCLI.styles.
TypeScript
The package includes declarations for its standard command, option, help and
output APIs, including the existing lib/ entry points. Both ESM imports and
CommonJS import = require() are supported. Runtime code remains CommonJS.
Parsed argument values are unknown because sywac's option configuration is
dynamic. Narrow them before use; command setup callbacks receive the typed API
and parse() returns a typed result. These declarations do not model sywac's
internal type factories.
Test
pnpm lintruns oxlintpnpm testruns type checks, runtime tests and lint
Copyright & License
Copyright (c) 2013-2026 Ghost Foundation - Released under the MIT license.
