Goal
- Generate an ASCII art logo that can be output directly in the terminal (with borders and gradient colors)
- Output a "copy-pasteable" result (plain text/with ANSI colors), and provide an integration method to display it at CLI startup
- Provide a runnable generation script:
scripts/generate_logo.py
Workflow
- Specify inputs
- Name: e.g.
auto-cli - Subtitle: e.g.
Command Line Interface - Terminal width: default 80 (can be adjusted according to project/CI output)
- Style: heavy blocks (
█)/ thin lines (#/*)/ no color - Border:
╔═╗║ ║╚═╝or plain text - Color scheme: cyan → purple (Spec Kit style), cyan → blue, orange → pink, etc.
- Name: e.g.
-
Generated result
- Generate directly by running the script (most reliable): see "Quick Start" below
- Or generate as needed in the target language (Node/Python/Go); the core is:
- First obtain the "monospaced character art" (multiline string)
- Then do border concatenation
- Then do per-character gradient (output ANSI TrueColor sequences)
-
Integrate into CLI
- Output once at startup of the run entry point (
main/bin/__main__) - Support disabling color:
- Respect
NO_COLOR=1 - Provide the
--no-colorparameter - Disabled by default in CI environments (can be enabled as needed)
- Respect
- Output once at startup of the run entry point (
Quick Start (script)
Best results in terminals that support TrueColor (macOS Terminal / iTerm2 / VS Code terminal).
python3 scripts/generate_logo.py --text auto-cli --subtitle "Command Line Interface"
Common parameters:
python3 scripts/generate_logo.py \
--text auto-cli \
--subtitle "Command Line Interface" \
--width 46 \
--palette spec-kit \
--frame box
Delivery format
- Plain text (no color): suitable for README / logs / environments that do not support ANSI
- ANSI colored text: suitable for CLI startup screens (recommended to provide
--no-colortoggle) - Recommended to provide both:
banner.txt(no color)banner.ansi.txt(with color)renderBanner()(output according to the environment in your CLI)
Validation
- Test in terminal: Run
cat banner.ansi.txtto verify color rendering - Test plain text: Run
cat banner.txtto verify alignment without ANSI - Width check: Ensure no line exceeds the target width (default 80)
- NO_COLOR compliance: Verify the CLI respects
NO_COLOR=1and--no-color
Reference
- Color palettes and compatibility notes: palettes.md