Goals
- 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 when the CLI starts
- Provide a runnable generation script:
scripts/generate_logo.py
Workflow
- Define the input
- Name: e.g.
auto-cli - Subtitle: e.g.
Command Line Interface - Terminal width: default 80 (can be adjusted according to project/CI output)
- Style: thick 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 on demand in the target language (Node/Python/Go); the core is:
- First obtain the "monospaced character art" (multi-line string)
- Then do border concatenation
- Then do per-character gradient (output ANSI TrueColor sequences)
-
Integrate into the CLI
- Output once at startup of the run entry point (
main/bin/__main__) - Support disabling colors:
- 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 color text: suitable for the CLI startup page (recommended to provide
--no-colortoggle) - It is recommended to also provide:
banner.txt(no color)banner.ansi.txt(with color)renderBanner()(output according to the environment in your CLI)
References
- For color scheme and compatibility recommendations, see palettes.md