L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

chalk-advanced

chalk-advanced

Style terminal output with Chalk. Use when adding colors to CLI output, formatting log messages, building styled terminal UIs, or creating developer tools with colored output.

Independent GitHub snapshot · Automated classification · Original documentation governs

Tterminalskills / skillsApache-2.0

Documentation de la Skill

GitHub

name: chalk-advanced description: >- Style terminal output with Chalk. Use when adding colors to CLI output, formatting log messages, building styled terminal UIs, or creating developer tools with colored output. license: Apache-2.0 compatibility: 'Node.js 16+' metadata: author: terminal-skills version: 1.0.0 category: development tags: [chalk, cli, terminal, colors, formatting]

Chalk

Overview

Chalk styles terminal strings with colors, bold, underline, and backgrounds. ESM-only since v5. Chain styles fluently. Widely used in CLIs for status messages, errors, and formatted output.

Instructions

Step 1: Basic Styling

import chalk from 'chalk'

console.log(chalk.green('✓ Success'))
console.log(chalk.red.bold('✗ Error: file not found'))
console.log(chalk.yellow('⚠ Warning: deprecated API'))
console.log(chalk.blue.underline('https://example.com'))
console.log(chalk.gray('  (verbose details)'))

// Background colors
console.log(chalk.bgRed.white.bold(' ERROR ') + ' Something went wrong')
console.log(chalk.bgGreen.black.bold(' PASS ') + ' All tests passed')

Step 2: Composable Styles

// Define reusable styles
const styles = {
  error: chalk.red.bold,
  success: chalk.green,
  warn: chalk.yellow,
  info: chalk.blue,
  dim: chalk.gray,
  highlight: chalk.cyan.bold,
  label: chalk.bgBlue.white.bold,
}

function log(level: keyof typeof styles, msg: string) {
  const prefix = {
    error: '✗', success: '✓', warn: '⚠', info: 'ℹ', dim: '·', highlight: '→',
  }
  console.log(`${styles[level](prefix[level] || '·')} ${msg}`)
}

log('success', 'Project created')
log('error', 'Build failed')
log('info', `Using ${styles.highlight('TypeScript')} template`)

Step 3: CLI Output Formatting

// Table-like output
function printStats(stats: Record<string, number>) {
  const maxKey = Math.max(...Object.keys(stats).map(k => k.length))
  for (const [key, value] of Object.entries(stats)) {
    const label = chalk.gray(key.padEnd(maxKey))
    const val = value > 0 ? chalk.green(value.toString()) : chalk.red(value.toString())
    console.log(`  ${label}  ${val}`)
  }
}

printStats({ 'Files changed': 12, 'Lines added': 847, 'Lines removed': 231, Warnings: 0, Errors: 0 })

Guidelines

  • Chalk v5+ is ESM-only. Use import chalk from 'chalk', not require.
  • Chalk respects NO_COLOR and FORCE_COLOR env vars automatically.
  • Chain methods: chalk.red.bold.underline('text') — order doesn't matter.
  • Use template literals: chalk`{red Error:} {bold ${message}}`
  • For complex terminal UIs, combine with ora (spinners) and cli-table3 (tables).
Skills enregistrées