Skip to content

Conversation

@mphstudios
Copy link
Member

@mphstudios mphstudios commented Jan 17, 2026

Stacked pull-request on #1146

Purpose

Add features to configure log message output to meet user scenarios and needs for format and verbosity.

Refines CLI logging output and command help text to improve user experience and developer debugging capabilities. Key changes:

  • Separates user-facing output (logger) from developer debugging (debug module)
  • Adds printf-style formatting support to logger methods
  • Implements full configuration management via quire conf command
  • Adds documentation links to all command help text
  • Enhances configuration schema with validation and descriptions

Changes

Logger Improvements

  • Adds printf-style argument support, for example logger.info('Building %s...', name)
  • Creates lib/logger/debug.js module for developer debugging
  • Separates debug output from user-facing logger output
  • Fixes circular dependency between logger and config modules
  • Adds configurable log prefix styles: 'bracket', 'emoji', 'plain', 'none'

Configuration Schema Enhancements

  • Adds enum constraints for properties: logLevel, logPrefixStyle, updateChannel, updateInterval
  • Adds description fields to all 11 configuration properties
  • Schema validation now provides helpful error messages with valid values

Configuration Command Operations

  • quire conf command now implements full configuration management with subcommand-style operations
quire conf                    # Show all configuration
quire conf get <key>          # Get a single value
quire conf set <key> <value>  # Set a value
quire conf delete <key>       # Delete (reset to default)
quire conf reset [key]        # Reset all or single key
quire conf path               # Show config file path

Nota bene: #1150 renames the cli conf command to settings

Command Help Text

  • Adds documentation links to all 10 CLI commands
  • Links appear in individual command help (quire build --help)
  • Root help (quire --help) shows clean summaries with single docs link
  • Uses Commander.js summary vs description for proper separation

Fixes

  • Conf command log format strings (%s: %O logLevel info) being sent to output

@mphstudios mphstudios requested a review from cbutcosk January 17, 2026 18:34
Base automatically changed from feature/debug-logger to main January 20, 2026 23:57
@mphstudios mphstudios force-pushed the feature/log-output-refined branch from 9671b3e to a9c1fe0 Compare January 21, 2026 02:45
@mphstudios mphstudios force-pushed the feature/log-output-refined branch from a9c1fe0 to 5a57dcf Compare January 22, 2026 21:22
@mphstudios mphstudios merged commit 84cd880 into main Jan 23, 2026
7 checks passed
@mphstudios mphstudios deleted the feature/log-output-refined branch January 23, 2026 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants