{"id":16938,"library":"acho-skin-cli","title":"Acho CLI Logger Skin","description":"acho-skin-cli is a dedicated plugin for the `acho` logging library, designed to provide a set of pre-defined log types specifically tailored for command-line interface (CLI) applications. Its primary function is to enhance the visual presentation of log messages within a terminal, offering consistent and clear output for various states like success, error, info, and warnings. The package is currently at version `2.0.1`, indicating a stable release. While no explicit release cadence is documented, its integration with `acho@4.x` as a peer dependency suggests a mature and maintained component within the `acho` ecosystem. Key differentiators include its singular focus on CLI-specific log styling and its lightweight integration as a types object directly into the `acho` logger, rather than being a standalone logger itself. It is intended to be used in conjunction with `acho` to achieve styled CLI output.","status":"active","version":"2.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/achohq/acho-skin-cli","tags":["javascript","acho","cli","skin"],"install":[{"cmd":"npm install acho-skin-cli","lang":"bash","label":"npm"},{"cmd":"yarn add acho-skin-cli","lang":"bash","label":"yarn"},{"cmd":"pnpm add acho-skin-cli","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required as the core logging library that this package extends with CLI-specific log types.","package":"acho","optional":false}],"imports":[{"note":"This package exports an object directly. It is primarily designed for CommonJS contexts as shown in documentation.","wrong":"import cliSkinTypes from 'acho-skin-cli';","symbol":"cliSkinTypes","correct":"const cliSkinTypes = require('acho-skin-cli');"},{"note":"The common usage pattern involves `require` for both `acho` and `acho-skin-cli` directly at initialization.","wrong":"import acho from 'acho';\nimport cliSkinTypes from 'acho-skin-cli';\nconst log = acho({ types: cliSkinTypes });","symbol":"AchoLoggerInitialization","correct":"const acho = require('acho');\nconst log = acho({\n  types: require('acho-skin-cli')\n});"}],"quickstart":{"code":"const acho = require('acho');\n\n// Initialize the acho logger with the CLI skin types\nconst log = acho({\n  types: require('acho-skin-cli')\n});\n\n// Use the CLI-specific log types\nlog.info('Starting CLI process...');\nlog.success('Operation completed successfully.');\nlog.warn('A potential issue was detected.');\nlog.error('An unrecoverable error occurred!');\nlog.debug('This is a debug message, visible in debug mode.');\n\n// Example of custom log type usage, if supported by acho\n// log.customType('Custom message with custom style.');","lang":"javascript","description":"Demonstrates how to initialize the `acho` logger with `acho-skin-cli` and use its various CLI-specific log types."},"warnings":[{"fix":"Ensure your project is configured for CommonJS or use `require()` syntax. If forced to use ESM, consider dynamic `import()` or a CJS wrapper.","message":"This package is explicitly designed for CommonJS (CJS) environments using `require()`. Attempting to `import` it in an ES Module (ESM) context without proper transpilation or configuration will result in errors.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Run `npm install acho` in your project to satisfy the peer dependency. Ensure the `acho` version is compatible (currently `4.x`).","message":"The `acho` library is a peer dependency, meaning it must be installed separately in your project alongside `acho-skin-cli`. The package will not function without `acho` being present.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Always pass the `acho-skin-cli` result to the `types` option when initializing the `acho` logger, as shown in the quickstart example.","message":"The functionality of `acho-skin-cli` is entirely dependent on the `acho` logger. It provides only the 'skin' (log types), not the logging mechanism itself. Calling methods on the returned object directly (e.g., `require('acho-skin-cli').info()`) will not work.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-22T00:00:00.000Z","next_check":"2026-07-21T00:00:00.000Z","problems":[{"fix":"Install `acho` using `npm install acho`. Verify that `acho` is correctly `require`d before `acho-skin-cli` is used.","cause":"The `acho` peer dependency is missing or incorrectly imported, leading to `acho` being `undefined` or not a function when `require('acho')` is called.","error":"TypeError: acho is not a function"},{"fix":"Replace `import` statements with `const cliSkinTypes = require('acho-skin-cli');`. If you need to use ESM, ensure your `package.json` has `\"type\": \"module\"` and all dependencies support ESM, or use dynamic `import()`.","cause":"Attempting to use `import` syntax (e.g., `import achoSkinCli from 'acho-skin-cli'`) in a Node.js environment configured for CommonJS, or in a browser without a build step.","error":"SyntaxError: Cannot use import statement outside a module"}],"ecosystem":"npm","meta_description":null}