Skip to main content
This page provides a comprehensive reference for all command-line arguments and flags available in Draconis++.

Basic usage

draconis++ [OPTIONS]

Global options

Help and version

--help
flag
Display help information and exit.
draconis++ --help
--version
flag
Display version information including build date and git hash.
draconis++ --version
Example output:
draconis++ 1.0.0 (2024-03-03) [a1b2c3d]

Output modes

Display modes

--no-ascii
flag
default:"false"
Disable ASCII art display and show only system information.
draconis++ --no-ascii
--json
flag
default:"false"
Output system information in JSON format. Overrides --no-ascii.
draconis++ --json
Example output:
{"host":"mycomputer","os":"Linux","kernel":"6.5.0",...}
--pretty
flag
default:"false"
Pretty-print JSON output with indentation. Only valid when --json is used.
draconis++ --json --pretty
Example output:
{
  "host": "mycomputer",
  "os": "Linux",
  "kernel": "6.5.0"
}
--format
string
default:""
Output system information in the specified format (requires plugin support).Available formats depend on loaded plugins (e.g., markdown, yaml).
draconis++ --format markdown
draconis++ --format yaml
--compact
string
default:""
Output a single line using a template string with placeholders.Available placeholders:
  • {date} - Current date
  • {host} - Hostname
  • {os} - Operating system
  • {kernel} - Kernel version
  • {cpu} - CPU information
  • {gpu} - GPU information
  • {ram} - RAM usage
  • {disk} - Disk usage
  • {uptime} - System uptime
  • {shell} - Current shell
  • {de} - Desktop environment
  • {wm} - Window manager
  • {packages} - Package counts
  • {weather} - Weather information (if plugin enabled)
  • {playing} - Currently playing media
draconis++ --compact "{host} | {cpu} | {ram}"
draconis++ --compact "{os} on {kernel} | Uptime: {uptime}"
Example output:
mycomputer | Intel Core i7-9700K @ 3.60GHz | 16GB / 32GB

Diagnostic modes

-d, --doctor
flag
default:"false"
Reports any failed readouts and their error messages. Useful for troubleshooting.
draconis++ --doctor
draconis++ -d
Example output:
System Health Report
====================

Failed readouts:
- GPU: Failed to detect discrete GPU
- Weather: API key not configured

Successful readouts: 12/14
--benchmark
flag
default:"false"
Print timing information for each data source to measure performance.
draconis++ --benchmark
Example output:
Benchmark Results
=================
CPU:      12.3ms
GPU:       8.7ms
RAM:       2.1ms
Disk:     15.4ms
Total:    38.5ms

Logging and debugging

-V, --verbose
flag
default:"false"
Enable verbose logging. Overrides --log-level. Sets log level to Debug.
draconis++ --verbose
draconis++ -V
-l, --log-level
LogLevel
default:"Info"
Set the minimum log level for output.Valid values: Trace, Debug, Info, Warn, Error, Critical
draconis++ --log-level Debug
draconis++ -l Warn

Cache management

--clear-cache
flag
default:"false"
Clears the cache and exits. This removes all cached data, including in-memory and on-disk copies.
draconis++ --clear-cache
Example output:
Removed 15 files.
--ignore-cache
flag
default:"false"
Ignore cache for this run. Fetches fresh data without reading or writing to on-disk cache.
draconis++ --ignore-cache

Localization

--lang
string
default:""
Set the language for localization. If not specified, uses the system language or configuration file setting.Supported languages: en, es, fr, de, and more.
draconis++ --lang es
draconis++ --lang fr

Logo customization

These flags override logo settings from the configuration file.
--logo-path
string
default:""
Path to an image file to render in the logo area.Supported formats depend on the protocol (typically PNG, JPEG).
draconis++ --logo-path ~/Pictures/logo.png
--logo-protocol
string
default:"kitty"
Logo image protocol to use for rendering.Valid values:
  • kitty - Kitty terminal graphics protocol
  • kitty-direct - Kitty direct rendering mode
  • iterm2 - iTerm2 inline images protocol
draconis++ --logo-protocol kitty
draconis++ --logo-protocol iterm2
--logo-width
integer
default:"0"
Logo image width in pixels. A value of 0 uses the default width.
draconis++ --logo-width 200
--logo-height
integer
default:"0"
Logo image height in pixels. A value of 0 automatically calculates height from aspect ratio.
draconis++ --logo-height 150
draconis++ --logo-width 200 --logo-height 200

Plugin management

These options are only available when Draconis++ is built with plugin support (DRAC_ENABLE_PLUGINS).
--list-plugins
flag
default:"false"
List all available and loaded plugins.
draconis++ --list-plugins
Example output:
Loaded Plugins:
- weather (v1.0.0) - Weather information provider
- spotify (v1.0.0) - Now playing from Spotify

Available: 2
Loaded: 2
--plugin-info
string
default:""
Show detailed information about a specific plugin.
draconis++ --plugin-info weather
Example output:
Plugin: weather
Version: 1.0.0
Description: Provides current weather information
Author: Draconis++ Team
Status: Loaded

Configuration

--show-config-path
flag
default:"false"
Display the active configuration file location and exit.
draconis++ --show-config-path
Example output:
/home/user/.config/draconis++/config.toml
If built with DRAC_PRECOMPILED_CONFIG, displays:
Using precompiled configuration (no external config file).
--generate-completions
string
default:""
Generate shell completion script for the specified shell and exit.Supported shells: bash, zsh, fish, powershell
# Bash
draconis++ --generate-completions bash > /etc/bash_completion.d/draconis++

# Zsh
draconis++ --generate-completions zsh > ~/.zsh/completions/_draconis++

# Fish
draconis++ --generate-completions fish > ~/.config/fish/completions/draconis++.fish

# PowerShell
draconis++ --generate-completions powershell > draconis++.ps1

Flag precedence

When multiple flags affect the same setting, the following precedence applies:
  1. Command-line flags (highest priority)
  2. Configuration file settings
  3. Default values (lowest priority)

Examples of flag interactions

  • --verbose overrides --log-level
  • --json overrides --no-ascii
  • Logo flags (--logo-*) override configuration file logo settings
  • --lang overrides the language setting in the configuration file

Exit codes

CodeDescription
0Success
1General failure or error

Examples

Basic system information

# Standard output with ASCII art
draconis++

# Without ASCII art
draconis++ --no-ascii

JSON output for scripts

# Compact JSON
draconis++ --json > system.json

# Pretty-printed JSON
draconis++ --json --pretty | jq '.cpu'

Custom logo display

# Use custom logo with Kitty protocol
draconis++ --logo-path ~/Pictures/arch-logo.png --logo-width 200

# Use iTerm2 protocol
draconis++ --logo-path ~/logo.png --logo-protocol iterm2

Compact template output

# Simple template
draconis++ --compact "{host} | {os}"

# Detailed template
draconis++ --compact "{host} | {cpu} | RAM: {ram} | Uptime: {uptime}"

Diagnostics and debugging

# Check for errors
draconis++ --doctor

# Benchmark performance
draconis++ --benchmark

# Verbose logging
draconis++ --verbose

Cache management

# Clear cached data
draconis++ --clear-cache

# Run without using cache
draconis++ --ignore-cache

Localization

# Use Spanish
draconis++ --lang es

# Use French
draconis++ --lang fr

Plugin management

# List all plugins
draconis++ --list-plugins

# Get info about weather plugin
draconis++ --plugin-info weather

See also

CLI overview

Introduction to the Draconis++ CLI tool.

Customization

Configure Draconis++ with TOML files and custom settings.

Build docs developers (and LLMs) love