# Visulima - [Getting Started](/docs): Visulima is a comprehensive TypeScript developer platform — production-ready packages for CLI tools, file I/O, error handling, APIs, and more. - [Package Directory](/docs/packages): Browse all Visulima packages organized by category — CLI tools, data utilities, file system, API, error handling, and more. - **Bundler** - Packem - [Packem](/docs/packages/packem): A fast, zero-config bundler for Node.js and TypeScript libraries. Built on Rollup with esbuild, swc, OXC, and sucrase support. - [Rolldown Status](/docs/packages/packem/rolldown-status) - API Reference - [API Reference](/docs/packages/packem/api): Programmatic API, plugin development, hooks, and package documentation for Packem - [@visulima/css-style-inject](/docs/packages/packem/api/css-style-inject): Runtime CSS injection utility - [native-modules-plugin](/docs/packages/packem/api/native-modules-plugin): API documentation for the native modules plugin - [@visulima/packem-rollup](/docs/packages/packem/api/packem-rollup): API documentation for Packem Rollup plugins and transformers - [@visulima/packem-share](/docs/packages/packem/api/packem-share): Shared types, utilities, and constants - [@visulima/packem](/docs/packages/packem/api/packem): Main bundler package with CLI and core functionality - [require-cjs-transformer](/docs/packages/packem/api/require-cjs-transformer): API documentation for the require-cjs-transformer plugin - [@visulima/rollup-plugin-css](/docs/packages/packem/api/rollup-plugin-css): CSS processing and optimization plugin - Examples - [Examples](/docs/packages/packem/examples): Copy-and-paste starter projects for common library setups with Packem - [JavaScript Package](/docs/packages/packem/examples/basic-javascript): Modern JavaScript package with zero configuration - [Basic TypeScript Library](/docs/packages/packem/examples/basic-library): Create a simple TypeScript utility library with Packem - [TypeScript Library](/docs/packages/packem/examples/basic-typescript): Simple TypeScript library with ESM and CJS outputs - [CLI Tool](/docs/packages/packem/examples/cli-tool): Command-line tool with executable binaries - [Dual Package (ESM + CJS)](/docs/packages/packem/examples/dual-package): Create packages that work in both ESM and CommonJS environments - [Monorepo Setup](/docs/packages/packem/examples/monorepo): Build multiple packages in a monorepo with shared configuration - [Multiple Exports](/docs/packages/packem/examples/multi-exports): Package with multiple entry points and exports - [React Component Library](/docs/packages/packem/examples/react-library): Build a modern React component library with TypeScript and CSS Modules - Advanced - [Bundle Analysis](/docs/packages/packem/examples/advanced/bundle-analysis): Analyze and optimize bundle size - [Custom Plugins](/docs/packages/packem/examples/advanced/custom-plugins): Extend Packem with custom Rollup plugins - [Dynamic Imports](/docs/packages/packem/examples/advanced/dynamic-imports): Code splitting with dynamic imports - [minify-html-literals Plugin](/docs/packages/packem/examples/advanced/minify-html-literals): Automatically minify HTML and CSS content within template literals - [Multi-Runtime](/docs/packages/packem/examples/advanced/multi-runtime): Target multiple runtimes with conditional exports - [require-cjs-transformer Plugin](/docs/packages/packem/examples/advanced/require-cjs-transformer): Transform ESM imports of CJS packages to require calls for better performance - [Shared Modules](/docs/packages/packem/examples/advanced/shared-modules): Shared code between different bundles - [WebAssembly](/docs/packages/packem/examples/advanced/webassembly): Bundle and use WebAssembly modules - Configuration - [Bundle Size Limits](/docs/packages/packem/examples/configuration/bundle-limits): Set up bundle size validation and limits - [Dependency Validation](/docs/packages/packem/examples/configuration/dependency-validation): Validate dependencies and detect issues - [Extra Conditions](/docs/packages/packem/examples/configuration/extra-conditions): Configure custom export conditions in package.json validation - [Package.json Validation](/docs/packages/packem/examples/configuration/package-validation): Complete package.json validation setup - Css - [Basic CSS](/docs/packages/packem/examples/css/basic): CSS bundling with PostCSS and optimization - [Less](/docs/packages/packem/examples/css/less): Less compilation with functions and mixins - [Lightning CSS](/docs/packages/packem/examples/css/lightningcss): Fast CSS processing with Lightning CSS - [CSS Modules](/docs/packages/packem/examples/css/modules): Scoped CSS with automatic class names - [PostCSS](/docs/packages/packem/examples/css/postcss): Advanced PostCSS configuration with plugins - [Sass/SCSS](/docs/packages/packem/examples/css/sass): Sass preprocessing with variables and mixins - [Stylus](/docs/packages/packem/examples/css/stylus): Stylus with expressive syntax - React - [CSS Modules](/docs/packages/packem/examples/react/css-modules): React components with scoped styling - [React Library](/docs/packages/packem/examples/react/library): React component library with TypeScript - [Server Components](/docs/packages/packem/examples/react/server-components): Server and client components with proper bundling - [Tailwind CSS](/docs/packages/packem/examples/react/tailwind): React components with Tailwind CSS integration - Transformers - [esbuild](/docs/packages/packem/examples/transformers/esbuild): Fast bundling with esbuild transformer - [OXC](/docs/packages/packem/examples/transformers/oxc): Next-generation JavaScript toolchain - [sucrase](/docs/packages/packem/examples/transformers/sucrase): Simple and fast alternative to Babel - [swc](/docs/packages/packem/examples/transformers/swc): Rust-powered compilation with swc - Guide - [Guide](/docs/packages/packem/guide): Learn how to install, configure, and ship production bundles with Packem. - [CLI Reference](/docs/packages/packem/guide/cli): Complete command-line interface documentation - [Configuration](/docs/packages/packem/guide/configuration): Complete guide to configuring Packem for your project needs - [CSS Processing](/docs/packages/packem/guide/css): Comprehensive CSS, Sass, Less, Stylus, PostCSS, and CSS Modules support in Packem - [Debug & Profiling](/docs/packages/packem/guide/debug): Debug your builds and profile performance with Packem's debugging tools - [Getting Started](/docs/packages/packem/guide/getting-started): Install Packem and create your first bundle in under five minutes - [Introduction](/docs/packages/packem/guide/introduction): What Packem is, how it works, and when to use it - [Multi-Runtime](/docs/packages/packem/guide/multi-runtime): Target multiple runtimes with conditional exports - [Optimization](/docs/packages/packem/guide/optimization): Bundle analysis and performance optimization - [Package.json Setup](/docs/packages/packem/guide/package-json): Configure your package.json for optimal bundling - [Plugins](/docs/packages/packem/guide/plugins): Extend Packem with custom plugins - [React Support](/docs/packages/packem/guide/react): React components and server components - [require-cjs-transformer Plugin](/docs/packages/packem/guide/require-cjs-transformer): Transform ESM imports of CJS-only packages to require calls for better performance - [Transformers](/docs/packages/packem/guide/transformers): Choose and configure the right transformer for your TypeScript and JavaScript projects - [TypeScript](/docs/packages/packem/guide/typescript): TypeScript support and configuration - [Watch Mode](/docs/packages/packem/guide/watch-mode): Development workflow with hot reloading - Migration - [From Rollup](/docs/packages/packem/guide/migration/rollup): Migrate from plain Rollup configuration - [From tsup](/docs/packages/packem/guide/migration/tsup): Migrate from tsup to Packem - [From unbuild](/docs/packages/packem/guide/migration/unbuild): Migrate from unbuild to Packem - [From Webpack](/docs/packages/packem/guide/migration/webpack): Migrate from Webpack to Packem - Troubleshooting - [Build Errors](/docs/packages/packem/guide/troubleshooting/build-errors): Common build failures and solutions - [Common Issues](/docs/packages/packem/guide/troubleshooting/common-issues): Solutions to frequently encountered problems - [CSS Issues](/docs/packages/packem/guide/troubleshooting/css): CSS processing and styling problems - [TypeScript Problems](/docs/packages/packem/guide/troubleshooting/typescript): TypeScript-specific troubleshooting - Configuration Options - [Configuration Options](/docs/packages/packem/options): Complete reference for every Packem configuration option - [alias](/docs/packages/packem/options/alias): Path alias mappings for module resolution - [allowedExportExtensions](/docs/packages/packem/options/allowed-export-extensions): Additional file extensions to consider valid in exports field validation - [analyze](/docs/packages/packem/options/analyze): Enable bundle analysis and reporting - [Barrel files](/docs/packages/packem/options/barrel): Optimize barrel files by rewriting to direct imports (debarrel) - [builder](/docs/packages/packem/options/builder): Custom builder functions for advanced build scenarios - [Bundler](/docs/packages/packem/options/bundler): Choose the bundler backend — Rollup (default) or the experimental Rolldown - [Cleaning](/docs/packages/packem/options/cleaning): Clean output directory before build - [Config File](/docs/packages/packem/options/config-file): Set up and configure Packem using configuration files - [debug](/docs/packages/packem/options/debug): Enable verbose debug logging - [Declaration Files (dts)](/docs/packages/packem/options/declaration-files): TypeScript declaration file generation and isolated declarations in Packem - [Duplicate packages](/docs/packages/packem/options/detect-duplicated): Detect dependencies that get bundled more than once and report them - [Entry Points](/docs/packages/packem/options/entry): Configure entry points for your Packem builds - [Externals](/docs/packages/packem/options/externals): Configure external dependencies that should not be bundled - [failOnWarn](/docs/packages/packem/options/fail-on-warn): Fail the build on any warning - [fileCache](/docs/packages/packem/options/file-cache): Enable or disable the file cache for faster rebuilds - [Hooks](/docs/packages/packem/options/hooks): Use build lifecycle hooks to extend Packem's functionality - [ignoreExportKeys](/docs/packages/packem/options/ignore-export-keys): Array of export keys to ignore during entry inference - [jiti](/docs/packages/packem/options/jiti): Advanced options for the jiti runtime used to load entry files - [killSignal](/docs/packages/packem/options/kill-signal): Signal used to terminate child processes during the build - [Minify](/docs/packages/packem/options/minify): Toggle code minification for production builds - [name](/docs/packages/packem/options/name): Name of the build, used for output file naming and logging - [onSuccess / onSuccessTimeout](/docs/packages/packem/options/on-success): Run a command or function after a successful build - [Output Directory](/docs/packages/packem/options/output-directory): Configure where Packem writes your built files and assets - [outputExtensionMap](/docs/packages/packem/options/output-extension-map): Custom file extensions for different output formats - [Output Format](/docs/packages/packem/options/output-format): Configure output formats (ESM, CJS, IIFE) for your Packem builds - [Package Exports](/docs/packages/packem/options/package-exports): Automatic package.json exports - [Platform](/docs/packages/packem/options/platform): Target runtime platforms - [Plugins](/docs/packages/packem/options/plugins): Configure and extend Packem with Rollup plugins - [rootDir](/docs/packages/packem/options/root-dir): Project root directory for resolving all relative paths - [Shims](/docs/packages/packem/options/shims): ESM/CJS interoperability - [Silent Mode](/docs/packages/packem/options/silent-mode): Control logging and output verbosity - [sourceDir](/docs/packages/packem/options/source-dir): Directory containing your source files - [Source Maps](/docs/packages/packem/options/source-maps): Configure source map generation for debugging - [Target](/docs/packages/packem/options/target): Configure JavaScript compilation targets and runtime environments - [Transformers](/docs/packages/packem/options/transformers): Choose and configure transformers - [Tree Shaking](/docs/packages/packem/options/tree-shaking): Dead code elimination - [typedoc](/docs/packages/packem/options/typedoc): Options for generating API documentation with TypeDoc - [Unbundle](/docs/packages/packem/options/unbundle): Preserve file structure mode - [Watch Mode](/docs/packages/packem/options/watch): Rebuild automatically when source files change - **CLI & Terminal** - Cerebro - [Introduction](/docs/packages/cerebro): Lightweight, extensible CLI framework for building command-line applications with TypeScript support, plugins, and cross-runtime compatibility - [Installation](/docs/packages/cerebro/installation) - [Quick Start](/docs/packages/cerebro/quick-start) - Concepts - [Architecture](/docs/packages/cerebro/concepts/architecture) - [Commands](/docs/packages/cerebro/concepts/commands) - [Plugins](/docs/packages/cerebro/concepts/plugins) - Guides - [Building a CLI Application](/docs/packages/cerebro/guides/building-cli) - [Commands](/docs/packages/cerebro/guides/commands) - [Options](/docs/packages/cerebro/guides/options) - [Plugins](/docs/packages/cerebro/guides/plugins) - [Using Plugins](/docs/packages/cerebro/guides/using-plugins) - [Advanced Features](/docs/packages/cerebro/guides/advanced): Learn about advanced Cerebro features for building complex CLIs. - [Comparison with Popular CLIs](/docs/packages/cerebro/guides/comparison): Detailed comparison of Cerebro with Commander.js, Yargs, Oclif, Meow, CAC, and Cleye. - Toolbox - [Parameters](/docs/packages/cerebro/toolbox/parameters) - [Runtime](/docs/packages/cerebro/toolbox/runtime) - [Logger](/docs/packages/cerebro/toolbox/logger) - [Print](/docs/packages/cerebro/toolbox/print) - API Reference - [API Overview](/docs/packages/cerebro/api) - [Cli](/docs/packages/cerebro/api/cli) - [Command](/docs/packages/cerebro/api/command) - [Plugin](/docs/packages/cerebro/api/plugin) - [Types](/docs/packages/cerebro/api/types) - [Configuration](/docs/packages/cerebro/configuration) - [Troubleshooting](/docs/packages/cerebro/troubleshooting) - Pail - [Introduction](/docs/packages/pail): Get started with Pail, a highly configurable logging library for Node.js, Edge, and Browser - [Installation](/docs/packages/pail/installation): Install and set up Pail in your project - [Comparison](/docs/packages/pail/comparison): How Pail compares to other logging libraries - Concepts - [Log Levels](/docs/packages/pail/concepts/log-levels): Understanding log levels in Pail - [Processors](/docs/packages/pail/concepts/processors): Understanding processors in Pail - [Reporters](/docs/packages/pail/concepts/reporters): Understanding reporters in Pail - Usage Guides - [Basic Usage](/docs/packages/pail/usage/basic): Learn the basics of logging with Pail - [Error Handling](/docs/packages/pail/usage/error-handling): Self-documenting errors with PailError - [Scoped Loggers](/docs/packages/pail/usage/scoped): Organize logs by context using scoped loggers - [Timers](/docs/packages/pail/usage/timers): Measure performance with built-in timers - [Custom Types](/docs/packages/pail/usage/custom-types): Create custom log types for semantic logging - [Interactive Mode](/docs/packages/pail/usage/interactive): Use progress bars and spinners with pail's interactive terminal output - [Object Tree Rendering](/docs/packages/pail/usage/object-tree): Render objects as ASCII tree structures - [Wide Events](/docs/packages/pail/usage/wide-events): Accumulate structured context across an operation and emit a single comprehensive log event - Framework Middleware - [Middleware Overview](/docs/packages/pail/middleware/overview): Automatic request-scoped wide event logging for web frameworks - [Express](/docs/packages/pail/middleware/express): Request-scoped wide event logging middleware for Express - [Fastify](/docs/packages/pail/middleware/fastify): Request-scoped wide event logging plugin for Fastify - [Hono](/docs/packages/pail/middleware/hono): Request-scoped wide event logging middleware for Hono - [Elysia](/docs/packages/pail/middleware/elysia): Request-scoped wide event logging plugin for Elysia - [SvelteKit](/docs/packages/pail/middleware/sveltekit): Request-scoped wide event logging hooks for SvelteKit - [Next.js](/docs/packages/pail/middleware/nextjs): Request-scoped wide event logging for Next.js route handlers and server actions - **Reference** - [Configuration](/docs/packages/pail/configuration): Configure Pail to suit your needs - [API Reference](/docs/packages/pail/api): Complete API reference for Pail - [Examples](/docs/packages/pail/examples): Real-world examples of using Pail - [Troubleshooting](/docs/packages/pail/troubleshooting): Common issues and solutions - Command Line Args - [Introduction](/docs/packages/command-line-args): Parse command-line arguments with type safety, validation, and flexible configuration for Node.js CLI applications. - [Installation](/docs/packages/command-line-args/installation): How to install @visulima/command-line-args. - [Quick Start](/docs/packages/command-line-args/quick-start): Get started with @visulima/command-line-args. - **Getting Started** - [Usage Guide](/docs/packages/command-line-args/usage): Complete guide to parsing command-line arguments. - **API Reference** - [API Reference](/docs/packages/command-line-args/api): Complete API documentation for @visulima/command-line-args. - Boxen - [Introduction](/docs/packages/boxen): Create beautiful boxes in the terminal with customizable borders, padding, and alignment for CLI applications. - [Installation](/docs/packages/boxen/installation): How to install and set up @visulima/boxen in your project. - [Quick Start](/docs/packages/boxen/quick-start): Get started with @visulima/boxen in 5 minutes. - **Getting Started** - [Usage Guide](/docs/packages/boxen/usage): Complete guide to all border styles, options, and features in @visulima/boxen. - **API Reference** - [API Reference](/docs/packages/boxen/api): Complete API documentation for @visulima/boxen. - Tabular - [Introduction](/docs/packages/tabular): Create beautiful ASCII tables and grids with customizable borders, padding, and alignment for CLI applications. - [Installation](/docs/packages/tabular/installation) - [Quick Start](/docs/packages/tabular/quick-start) - **Getting Started** - [Usage Guide](/docs/packages/tabular/usage) - **API Reference** - [API Reference](/docs/packages/tabular/api) - Ansi - [Introduction](/docs/packages/ansi): Comprehensive ANSI escape codes for terminal control, cursor manipulation, and screen formatting - [Installation](/docs/packages/ansi/installation): How to install and import @visulima/ansi - **Getting Started** - [Usage Guide](/docs/packages/ansi/usage): Learn how to use @visulima/ansi with practical examples - **API Reference** - [API Reference](/docs/packages/ansi/api): Complete API documentation for @visulima/ansi - Colorize - [Introduction](/docs/packages/colorize): Terminal and console string styling with ANSI colors, supporting Node.js, browsers, and multiple runtimes. - [Installation](/docs/packages/colorize/installation): How to install and set up @visulima/colorize in your project. - [Quick Start](/docs/packages/colorize/quick-start): Get started with @visulima/colorize in 5 minutes. - Usage - [Basic Usage](/docs/packages/colorize/usage/basic): Learn the fundamental usage patterns for @visulima/colorize including colors, styles, and syntax options. - [Advanced Features](/docs/packages/colorize/usage/advanced): Explore advanced features including 256 colors, TrueColor, gradients, and tagged template literals. - [Real-World Examples](/docs/packages/colorize/usage/examples): Practical examples of using @visulima/colorize in real-world applications. - **API Reference** - [API Reference](/docs/packages/colorize/api): Complete API documentation for @visulima/colorize including all colors, styles, and methods. - **Help** - [Troubleshooting](/docs/packages/colorize/troubleshooting): Common issues and solutions for @visulima/colorize. - Is Ansi Color Supported - [Introduction](/docs/packages/is-ansi-color-supported): Detect terminal color support for ANSI, 256 colors, and TrueColor. - [Installation](/docs/packages/is-ansi-color-supported/installation) - **Getting Started** - [Usage](/docs/packages/is-ansi-color-supported/usage) - **API Reference** - [API](/docs/packages/is-ansi-color-supported/api) - Fmt - [Introduction](/docs/packages/fmt): Fast printf-style string formatting with custom formatters and CSS styling support - [Installation](/docs/packages/fmt/installation): How to install and import @visulima/fmt - **Getting Started** - [Usage Guide](/docs/packages/fmt/usage): Learn how to use @visulima/fmt with detailed examples - **API Reference** - [API Reference](/docs/packages/fmt/api): Complete API documentation for @visulima/fmt - Interactive Manager - [Interactive Manager](/docs/packages/interactive-manager): Interactive terminal output manager for spinners, progress bars, and dynamic updates - [Getting Started](/docs/packages/interactive-manager/getting-started): Install and start using the interactive manager - [Usage Guide](/docs/packages/interactive-manager/usage): Complete API reference for InteractiveManager and InteractiveStreamHook - Progress Bar - [Progress Bar](/docs/packages/progress-bar): Terminal progress bars with multiple styles and multi-bar support - [Getting Started](/docs/packages/progress-bar/getting-started): Install and start using progress bars - [Styles Reference](/docs/packages/progress-bar/styles): All available progress bar styles - [Usage Guide](/docs/packages/progress-bar/usage): Complete API reference for ProgressBar and MultiProgressBar - Spinner - [Spinner](/docs/packages/spinner): 109 terminal spinner animations for Node.js - [Getting Started](/docs/packages/spinner/getting-started): Install and start using spinners in seconds - [Spinner Reference](/docs/packages/spinner/spinners): Complete reference of all 109 available spinners - [Usage Guide](/docs/packages/spinner/usage): Complete API reference for the Spinner and MultiSpinner classes - Tui - [Introduction](/docs/packages/tui): React-based TUI library powered by a native Rust diff engine, drop-in Ink-compatible API - [Getting Started](/docs/packages/tui/getting-started): Install @visulima/tui and choose the right rendering mode for your project - [Package Map](/docs/packages/tui/package-map): Choose the right @visulima/tui sub-package for your use case - [Quickstart: React Mode](/docs/packages/tui/quickstart-react): Build a TUI app with React components, hooks, and Yoga layout using @visulima/tui/react - [Quickstart: Raw-Buffer Mode](/docs/packages/tui/quickstart-raw-buffer): Drive the Rust renderer directly from TypeScript without React or Yoga - [Components](/docs/packages/tui/components): Reference for all React components in @visulima/tui: Alert, Badge, Box, Code, ConsoleOverlay, FilePicker, Text, BigText, ConfirmInput, DiffView, Gradient, Help, Link, Markdown, MultiSelect, Newline, OrderedList, Paginator, Slider, Spacer, Static, StatusMessage, Stopwatch, Tab, Tabs, Textarea, TextInput, Timer, Transform, TreeView, Spinner, ProgressBar, SelectInput, Table, UnorderedList - [Hooks](/docs/packages/tui/hooks): Reference for all React hooks in @visulima/tui/react: useInput, usePaste, useClipboard, useKeyBindings, useHotkey, useInterval, useForm, usePersistentState, useTextBuffer, useTextSelection, useColorBlindness, useConsoleCapture, useAnimation, useTimer, useStopwatch, useScrollAcceleration, useTerminalPalette, useTreeViewState, useTreeView, useMouse, useTextInput, useCursor, useScrollable, useFocus, useApp, and more - [Mouse Support](/docs/packages/tui/mouse): Mouse tracking, hover detection, click handling, and element hit-testing for Ink-compatible components in @visulima/tui - [Scroll Components](/docs/packages/tui/scroll): ScrollView, ScrollBar, ScrollBarBox, and ScrollList for building scrollable terminal UIs - [Rendering Modes](/docs/packages/tui/rendering-modes): Compare the three rendering modes in @visulima/tui: React mode, raw-buffer mode, and inline mode - [Raw Buffer API](/docs/packages/tui/raw-buffer): Deep dive into the Uint32Array buffer format, Renderer API, and rendering primitives in @visulima/tui/core - [TypeScript Buffer Guide](/docs/packages/tui/ts-buffer-guide): TypeScript patterns for indexing, packing attributes, and writing helpers for raw-buffer rendering in @visulima/tui/core - [Ink Compatibility](/docs/packages/tui/ink-compat): Ink API parity matrix, render option differences, and native-only exports in @visulima/tui/react - [Testing](/docs/packages/tui/testing): Test @visulima/tui components with mock streams, frame capture, and input simulation — no real terminal required - [Internationalization (i18n)](/docs/packages/tui/i18n): How to plug react-i18next (or react-intl) into @visulima/tui for multi-locale terminal UIs - [Examples](/docs/packages/tui/examples): Runnable demo apps for @visulima/tui React mode and raw-buffer mode - [Troubleshooting](/docs/packages/tui/troubleshooting): Common issues and fixes for @visulima/tui: TTY errors, raw mode cleanup, blank screen, input, mouse, paste, scrolling, and more - **Data & Utilities** - String - [Getting Started](/docs/packages/string): A robust string manipulation library providing utilities for common string operations with support for multiple languages and scripts. - [Installation](/docs/packages/string/installation): Learn how to install and configure @visulima/string in your project. - **Getting Started** - [Case Conversion](/docs/packages/string/case-conversion): Transform strings between different case styles with intelligent handling of acronyms and multi-language support. - [String Manipulation](/docs/packages/string/string-manipulation): Format, truncate, wrap, and align text with Unicode and ANSI support. - [Slugification & Transliteration](/docs/packages/string/slugification): Create URL-friendly slugs and transliterate Unicode characters to ASCII. - [String Width](/docs/packages/string/string-width): Calculate visual width of strings with Unicode, ANSI, and emoji support. - [String Similarity](/docs/packages/string/string-similarity): Compare and find similar strings using Levenshtein distance and similarity algorithms. - **Advanced** - [Testing Utilities](/docs/packages/string/testing): Specialized utilities for testing ANSI colored strings and terminal output. - [TypeScript Support](/docs/packages/string/typescript): Enhanced TypeScript type definitions and type-safe native string operations. - **API Reference** - API Reference - [Case Conversion API](/docs/packages/string/api/case): Complete API reference for all case conversion functions in @visulima/string. - [Slugification API](/docs/packages/string/api/slugify): Complete API reference for slugify and transliterate functions in @visulima/string. - [String Similarity API](/docs/packages/string/api/similarity): Complete API reference for string similarity and distance functions in @visulima/string. - [String Width API](/docs/packages/string/api/width): Complete API reference for string width calculation functions in @visulima/string. - [Testing Utilities API](/docs/packages/string/api/testing): Complete API reference for ANSI string testing utilities in @visulima/string. - [Case Conversion API](/docs/packages/string/api/case): Complete API reference for all case conversion functions in @visulima/string. - [Slugification API](/docs/packages/string/api/slugify): Complete API reference for slugify and transliterate functions in @visulima/string. - [String Similarity API](/docs/packages/string/api/similarity): Complete API reference for string similarity and distance functions in @visulima/string. - [String Width API](/docs/packages/string/api/width): Complete API reference for string width calculation functions in @visulima/string. - [Testing Utilities API](/docs/packages/string/api/testing): Complete API reference for ANSI string testing utilities in @visulima/string. - **Examples** - [Examples](/docs/packages/string/examples): Real-world usage examples for @visulima/string functions. - Object - [Introduction](/docs/packages/object): Powerful utilities for working with objects using dot notation, filtering, and deep key operations - [Installation & Quick Start](/docs/packages/object/installation): How to install @visulima/object and get started quickly - **Documentation** - [Usage Guide](/docs/packages/object/usage): Complete guide to using @visulima/object - [API Reference](/docs/packages/object/api): Complete API documentation for @visulima/object - Deep Clone - [Introduction](/docs/packages/deep-clone): Fast and reliable deep cloning for JavaScript objects with circular reference handling - [Installation](/docs/packages/deep-clone/installation): How to install and import @visulima/deep-clone - **Getting Started** - [Usage Guide](/docs/packages/deep-clone/usage): Learn how to use @visulima/deep-clone with detailed examples - **API Reference** - [API Reference](/docs/packages/deep-clone/api): Complete API documentation for @visulima/deep-clone - Bytes - [Introduction](/docs/packages/bytes): Utility functions to make dealing with Uint8Arrays easier in Node.js and browsers - [Installation](/docs/packages/bytes/installation): How to install and import @visulima/bytes - **Getting Started** - [Usage Guide](/docs/packages/bytes/usage): Learn how to use all @visulima/bytes functions with detailed examples - **API Reference** - [API Reference](/docs/packages/bytes/api): Complete API documentation for @visulima/bytes - Humanizer - [Introduction](/docs/packages/humanizer): Transform data into human-readable formats with extensive localization support for bytes and duration - [Installation](/docs/packages/humanizer/installation) - [Quick Start](/docs/packages/humanizer/quick-start) - Concepts - [Unit Systems](/docs/packages/humanizer/concepts/unit-systems) - [Localization](/docs/packages/humanizer/concepts/localization) - Usage - [Bytes](/docs/packages/humanizer/usage/bytes) - [Duration](/docs/packages/humanizer/usage/duration) - **Configuration** - [Configuration](/docs/packages/humanizer/configuration) - API Reference - [Bytes API](/docs/packages/humanizer/api/bytes) - [Duration API](/docs/packages/humanizer/api/duration) - [TypeScript Types](/docs/packages/humanizer/api/types) - Redact - [Introduction](/docs/packages/redact): GDPR-compliant data redaction and anonymization with deep object traversal and NLP-powered text masking - [Installation & Quick Start](/docs/packages/redact/installation): Install and start using @visulima/redact - **Documentation** - [Usage Guide](/docs/packages/redact/usage): Complete guide to data redaction and anonymization - [API Reference](/docs/packages/redact/api): Complete API for @visulima/redact - Content Safety - [Getting Started](/docs/packages/content-safety): Content safety library for detecting profanity, slurs, and inappropriate content across 19 languages with Unicode support. - [Installation](/docs/packages/content-safety/installation): How to install and set up @visulima/content-safety in your project. - **Getting Started** - [Usage Guide](/docs/packages/content-safety/usage): Learn how to use @visulima/content-safety for content moderation, text censoring, and validation. - [Supported Languages](/docs/packages/content-safety/languages): Complete list of languages supported by @visulima/content-safety for banned word detection. - **API Reference** - [API Reference](/docs/packages/content-safety/api): Complete API documentation for @visulima/content-safety. - **File System** - Fs - [Introduction](/docs/packages/fs): Human-friendly file system utilities for Node.js with async/sync APIs for walking, finding, reading, and writing files. - [Installation](/docs/packages/fs/installation): How to install and set up @visulima/fs in your project. - [Quick Start](/docs/packages/fs/quick-start): Get started with @visulima/fs in 5 minutes. - **Getting Started** - [Usage Guide](/docs/packages/fs/usage): Complete guide to all file system utilities in @visulima/fs. - **API Reference** - [API Reference](/docs/packages/fs/api): Complete API documentation for @visulima/fs. - Path - [Introduction](/docs/packages/path): Cross-platform path manipulation with consistent behavior across Windows and POSIX systems. - [Installation](/docs/packages/path/installation): How to install and set up @visulima/path in your project. - **Getting Started** - [Usage Guide](/docs/packages/path/usage): Learn how to use all path methods and utilities in @visulima/path. - **API Reference** - [API Reference](/docs/packages/path/api): Complete API documentation for @visulima/path including all methods and utilities. - Find Cache Dir - [Introduction](/docs/packages/find-cache-dir): Find the common standard cache directory across platforms - [Installation](/docs/packages/find-cache-dir/installation): How to install and import @visulima/find-cache-dir - **Getting Started** - [Usage Guide](/docs/packages/find-cache-dir/usage): Learn how to use @visulima/find-cache-dir - **API Reference** - [API Reference](/docs/packages/find-cache-dir/api): Complete API documentation for @visulima/find-cache-dir - Package - [Introduction](/docs/packages/package): Package management utilities for monorepos, package detection, and package.json parsing - [Installation](/docs/packages/package/installation) - **Getting Started** - [Usage](/docs/packages/package/usage) - **API Reference** - [API Reference](/docs/packages/package/api) - Tsconfig - [Introduction](/docs/packages/tsconfig): Find and parse TypeScript configuration files with extends resolution and validation - [Installation](/docs/packages/tsconfig/installation) - **Getting Started** - [Usage](/docs/packages/tsconfig/usage) - **API Reference** - [API Reference](/docs/packages/tsconfig/api) - Storage - [Introduction](/docs/packages/storage) - [Files Facade](/docs/packages/storage/files-facade) - Framework Integration - [Express](/docs/packages/storage/framework/express) - [Nextjs](/docs/packages/storage/framework/nextjs) - [Nuxt](/docs/packages/storage/framework/nuxt) - [Modern](/docs/packages/storage/framework/modern) - Storage Services - [Capabilities](/docs/packages/storage/services/capabilities) - [Amazon S3](/docs/packages/storage/services/amazon-s3) - [Aws Light](/docs/packages/storage/services/aws-light) - [Alibaba Oss](/docs/packages/storage/services/alibaba-oss) - [Azure](/docs/packages/storage/services/azure) - [Backblaze B2](/docs/packages/storage/services/backblaze-b2) - [Box](/docs/packages/storage/services/box) - [Bun S3](/docs/packages/storage/services/bun-s3) - [Bunny](/docs/packages/storage/services/bunny) - [Cloudflare R2](/docs/packages/storage/services/cloudflare-r2) - [Digital Ocean Spaces](/docs/packages/storage/services/digital-ocean-spaces) - [Dropbox](/docs/packages/storage/services/dropbox) - [Google Cloud Storage](/docs/packages/storage/services/google-cloud-storage) - [Google Drive](/docs/packages/storage/services/google-drive) - [Hetzner](/docs/packages/storage/services/hetzner) - [Local Disk](/docs/packages/storage/services/local-disk) - [Memory](/docs/packages/storage/services/memory) - [Minio](/docs/packages/storage/services/minio) - [Netlify Blob](/docs/packages/storage/services/netlify-blob) - [Onedrive](/docs/packages/storage/services/onedrive) - [Storj](/docs/packages/storage/services/storj) - [Supabase](/docs/packages/storage/services/supabase) - [Tencent Cos](/docs/packages/storage/services/tencent-cos) - [Tigris](/docs/packages/storage/services/tigris) - [Uploadthing](/docs/packages/storage/services/uploadthing) - [Vercel Blob](/docs/packages/storage/services/vercel-blob) - [Wasabi](/docs/packages/storage/services/wasabi) - [Yandex Object Storage](/docs/packages/storage/services/yandex-object-storage) - **Features** - [Retry Mechanism](/docs/packages/storage/retry-mechanism) - [Caching](/docs/packages/storage/caching) - [Chunked Uploads](/docs/packages/storage/chunked-uploads) - [Tus Handler](/docs/packages/storage/tus-handler) - [Transformers](/docs/packages/storage/transformers) - [Batch Operations](/docs/packages/storage/batch-operations) - [Error Handling](/docs/packages/storage/error-handling) - [Observability](/docs/packages/storage/observability) - [Openapi](/docs/packages/storage/openapi) - [Custom Storage](/docs/packages/storage/custom-storage) - [Authenticated File Uploads](/docs/packages/storage/authenticated-file-uploads) - Storage Client - [Introduction](/docs/packages/storage-client): Simple and easy file uploads for React, Vue, Solid, and Svelte - [Installation](/docs/packages/storage-client/installation): Install and set up the storage client for your framework - [API Reference](/docs/packages/storage-client/api): Complete API reference for @visulima/storage-client - **Frameworks** - [React](/docs/packages/storage-client/react): Use the storage client with React - [Next.js](/docs/packages/storage-client/nextjs): Use the storage client with Next.js App Router - [Vue / Nuxt](/docs/packages/storage-client/vue): Use the storage client with Vue 3 and Nuxt - [Svelte](/docs/packages/storage-client/svelte): Use the storage client with Svelte and SvelteKit - [Solid](/docs/packages/storage-client/solid): Use the storage client with SolidJS and Solid Start - [Solid Start](/docs/packages/storage-client/solid-start): Use the storage client with Solid Start - [TanStack Start](/docs/packages/storage-client/tanstack-start): Use the storage client with TanStack Start - **API & Web** - Html - [Introduction](/docs/packages/html): Security-focused HTML utilities for escaping, sanitization, entity encoding, and safe template rendering - [Installation](/docs/packages/html/installation) - [Quick Start](/docs/packages/html/quick-start) - **Getting Started** - [Usage](/docs/packages/html/usage) - **API Reference** - [API Reference](/docs/packages/html/api) - Pagination - [Introduction](/docs/packages/pagination): Flexible pagination utilities for cursor and offset-based pagination - [Installation](/docs/packages/pagination/installation) - **Getting Started** - [Usage](/docs/packages/pagination/usage) - **API Reference** - [API Reference](/docs/packages/pagination/api) - Health Check - [Introduction](/docs/packages/health-check): Health check endpoints for monitoring application status - [Installation](/docs/packages/health-check/installation) - **Getting Started** - [Usage](/docs/packages/health-check/usage) - **API Reference** - [API Reference](/docs/packages/health-check/api) - Jsdoc Open Api - [Introduction](/docs/packages/jsdoc-open-api): Generate OpenAPI/Swagger specifications from JSDoc comments with support for multiple syntaxes, CLI, and build tool integration - [Installation](/docs/packages/jsdoc-open-api/installation) - [Quick Start](/docs/packages/jsdoc-open-api/quick-start) - Concepts - [JSDoc Comment Syntax](/docs/packages/jsdoc-open-api/concepts/syntax) - API Reference - [API Reference](/docs/packages/jsdoc-open-api/api) - [Configuration](/docs/packages/jsdoc-open-api/configuration) - [Troubleshooting](/docs/packages/jsdoc-open-api/troubleshooting) - **Error Handling** - Error - [Introduction](/docs/packages/error): Enhanced error handling with stacktrace parsing, code frames, and AI-powered solutions for Node.js applications. - [Installation](/docs/packages/error/installation) - [Quick Start](/docs/packages/error/quick-start) - Guides - [Custom Errors](/docs/packages/error/guides/custom-errors) - [Code Frames](/docs/packages/error/guides/code-frames) - API Reference - [VisulimaError API](/docs/packages/error/api/visulima-error) - [Code Frame API](/docs/packages/error/api/code-frame) - Error Handler - [Introduction](/docs/packages/error-handler): Global error handling middleware for Node.js applications with customizable formatting and logging. - [Installation](/docs/packages/error-handler/installation) - [Quick Start](/docs/packages/error-handler/quick-start) - **Getting Started** - [Usage](/docs/packages/error-handler/usage) - **API Reference** - [API](/docs/packages/error-handler/api) - Ono - [Introduction](/docs/packages/ono): Throw better errors with formatted messages, error types, and proper error chaining. - [Installation](/docs/packages/ono/installation) - [Quick Start](/docs/packages/ono/quick-start) - **Getting Started** - [Usage](/docs/packages/ono/usage) - **API Reference** - [API](/docs/packages/ono/api) - Source Map - [Introduction](/docs/packages/source-map): Parse and generate source maps for better debugging of transpiled code. - [Installation](/docs/packages/source-map/installation) - [Quick Start](/docs/packages/source-map/quick-start) - **Getting Started** - [Usage](/docs/packages/source-map/usage) - **API Reference** - [API](/docs/packages/source-map/api) - Inspector - [Introduction](/docs/packages/inspector): Advanced object inspection and pretty-printing for debugging Node.js applications. - [Installation](/docs/packages/inspector/installation) - [Quick Start](/docs/packages/inspector/quick-start) - **Getting Started** - [Usage](/docs/packages/inspector/usage) - **API Reference** - [API](/docs/packages/inspector/api) - Vite Overlay - [Introduction](/docs/packages/vite-overlay): Error overlay for Vite with enhanced stack traces and source maps - **Getting Started** - [Usage](/docs/packages/vite-overlay/usage) - **API Reference** - [API Reference](/docs/packages/vite-overlay/api) - **Internationalization & Communication** - Iso Locale - [Introduction](/docs/packages/iso-locale): ISO standards data for countries, currencies, regions, timezones, and BCP 47 locale support - [Installation](/docs/packages/iso-locale/installation) - [Quick Start](/docs/packages/iso-locale/quick-start) - **Getting Started** - [Usage](/docs/packages/iso-locale/usage) - **API Reference** - [API Reference](/docs/packages/iso-locale/api) - Disposable Email Domains - [Introduction](/docs/packages/disposable-email-domains): Validate and block disposable/temporary email addresses with an up-to-date list of disposable domains. - [Installation](/docs/packages/disposable-email-domains/installation) - **Getting Started** - [Usage](/docs/packages/disposable-email-domains/usage) - **API Reference** - [API](/docs/packages/disposable-email-domains/api) - Email - [Introduction](/docs/packages/email): Get started with @visulima/email, a powerful email sending package with multiple provider support - [Installation](/docs/packages/email/installation): Install and set up @visulima/email in your project - Getting Started - [Introduction](/docs/packages/email/getting-started/introduction): Learn the basics of @visulima/email - [Configuration](/docs/packages/email/getting-started/configuration): Configure email providers in your application - [Sending Mail](/docs/packages/email/getting-started/sending-mail): Learn different ways to send emails with @visulima/email - [Capability Guard](/docs/packages/email/getting-started/capability-guard): Fail-fast field support checks that stop unsupported message fields before they reach a provider - Mail Messages - [Building Messages](/docs/packages/email/mail-messages/building-messages): Learn how to build email messages using the fluent API - [Reusable Email Templates](/docs/packages/email/mail-messages/mailable-classes): Create reusable email templates using MailMessage factory functions - [Attachments](/docs/packages/email/mail-messages/attachments): Learn how to add attachments and inline images to emails with @visulima/email - Templates - [Template Engines](/docs/packages/email/templates/introduction): Use template engines for dynamic email content with @visulima/email - Providers - [Providers Introduction](/docs/packages/email/providers/introduction): Learn about email providers in @visulima/email - [AWS SES](/docs/packages/email/providers/aws-ses): Send emails using Amazon Simple Email Service with @visulima/email - [Resend](/docs/packages/email/providers/resend): Send emails using the Resend API with @visulima/email - [Brevo](/docs/packages/email/providers/brevo): Send emails using the Brevo (formerly Sendinblue) API with @visulima/email - [Mailgun](/docs/packages/email/providers/mailgun): Send emails using the Mailgun API with @visulima/email - [Mailjet](/docs/packages/email/providers/mailjet): Send emails using the Mailjet API with @visulima/email - [MailerSend](/docs/packages/email/providers/mailersend): Send emails using the MailerSend API with @visulima/email - [Mandrill](/docs/packages/email/providers/mandrill): Send emails using Mailchimp Transactional Email (Mandrill) with @visulima/email - [MailPace](/docs/packages/email/providers/mailpace): Send emails using the MailPace API with @visulima/email - [Mailtrap](/docs/packages/email/providers/mailtrap): Send emails using the Mailtrap API with @visulima/email - [Postal](/docs/packages/email/providers/postal): Send emails using a self-hosted Postal server with @visulima/email - [Postmark](/docs/packages/email/providers/postmark): Send emails using the Postmark API with @visulima/email - [Azure](/docs/packages/email/providers/azure): Send emails using Microsoft Azure Communication Services with @visulima/email - [Infobip](/docs/packages/email/providers/infobip): Send emails using the Infobip API with @visulima/email - [Scaleway](/docs/packages/email/providers/scaleway): Send emails using the Scaleway Transactional Email API with @visulima/email - [AhaSend](/docs/packages/email/providers/ahasend): Send emails using the AhaSend API with @visulima/email - [Mailomat](/docs/packages/email/providers/mailomat): Send emails using the Mailomat API with @visulima/email - [Sweego](/docs/packages/email/providers/sweego): Send emails using the Sweego API with @visulima/email - [SendGrid](/docs/packages/email/providers/sendgrid): Send emails using the SendGrid API with @visulima/email - [SparkPost](/docs/packages/email/providers/sparkpost): Send emails using the SparkPost Transmissions API with @visulima/email - [Netcore](/docs/packages/email/providers/netcore): Send emails using the Netcore (Pepipost) Email API with @visulima/email - [Outlook365](/docs/packages/email/providers/outlook365): Send emails through Microsoft Graph (Outlook365) with @visulima/email - [SMTP](/docs/packages/email/providers/smtp): Send emails using the SMTP protocol with @visulima/email - [Zeptomail](/docs/packages/email/providers/zeptomail): Send emails using the Zeptomail API with @visulima/email - [Plunk](/docs/packages/email/providers/plunk): Send emails using the Plunk API with @visulima/email - [HTTP](/docs/packages/email/providers/http): Send emails using a generic HTTP API with @visulima/email - [Nodemailer](/docs/packages/email/providers/nodemailer): Send emails using the Nodemailer library with @visulima/email - [Mock](/docs/packages/email/providers/mock): Use the Mock provider for testing email sending with @visulima/email - [Failover](/docs/packages/email/providers/failover): Automatic failover between multiple email providers with @visulima/email - [Round Robin](/docs/packages/email/providers/roundrobin): Load balance email sending across multiple providers with @visulima/email - [MailCrab](/docs/packages/email/providers/mailcrab): Use MailCrab for local email development and testing with @visulima/email - [OpenTelemetry](/docs/packages/email/providers/opentelemetry): Add observability to email sending with OpenTelemetry instrumentation in @visulima/email - Middleware - [Middleware](/docs/packages/email/middleware/introduction): Retry, rate-limit, circuit-breaker, dedupe, logging, and OAuth2 send middleware for @visulima/email - Queue - [Queue](/docs/packages/email/queue/introduction): Queue emails for background delivery with retry, backoff, and dead-lettering using @visulima/email - Webhooks - [Webhooks](/docs/packages/email/webhooks/introduction): Verify inbound webhook signatures from Resend, Mailgun, SendGrid, Postmark, and AWS SES/SNS with @visulima/email - Inbound - [Inbound](/docs/packages/email/inbound/introduction): Parse inbound email webhooks from Postmark, SendGrid, Mailgun, Cloudflare, and AWS SES into a single normalized shape with @visulima/email - Deliverability - [Deliverability](/docs/packages/email/deliverability/introduction): List-Unsubscribe headers, suppression lists, and DMARC/MTA-STS/TLS-RPT/ARF report parsers for @visulima/email - Events - [Events](/docs/packages/email/events/introduction): Track the email lifecycle with a unified event shape, an event bus, and an event store from @visulima/email - Crypto - [Signing and Encryption](/docs/packages/email/crypto/signing-and-encryption): Learn how to sign and encrypt email messages using DKIM and S/MIME - Testing - [Testing](/docs/packages/email/testing/introduction): Test email-sending code with an in-memory harness and Vitest matchers from @visulima/email - **Dev Tools** - Dev Toolbar - [Visulima Dev Toolbar](/docs/packages/dev-toolbar): A framework-agnostic development toolbar for Vite applications with built-in accessibility auditing, visual annotations, click-to-source inspector, AI agent integration via MCP, performance monitoring, SEO inspection, and an extensible app system. - [Getting Started](/docs/packages/dev-toolbar/getting-started): Install and configure the Visulima Dev Toolbar in your Vite project in under two minutes. - [Configuration](/docs/packages/dev-toolbar/configuration): Complete reference for all Vite plugin options available in @visulima/dev-toolbar. - Built-in Apps - [Accessibility](/docs/packages/dev-toolbar/built-in-apps/accessibility): Run WCAG accessibility audits directly in the browser with axe-core. Highlights failing elements with live overlays and persists results across panel reloads. - [Annotations](/docs/packages/dev-toolbar/built-in-apps/annotations): Visually annotate elements on the page, capture rich context, and collaborate with AI agents through the Model Context Protocol. - [Assets](/docs/packages/dev-toolbar/built-in-apps/assets): Browse, preview, and inspect all static files in your project's public directory. - [Inspector](/docs/packages/dev-toolbar/built-in-apps/inspector): Click any element on the page to jump to its JSX source in your editor, or create rich annotations with context for AI agents. - [Module Graph](/docs/packages/dev-toolbar/built-in-apps/module-graph): Browse and filter Vite's live module dependency graph — see which files import which, find unused modules, and identify heavy dependency chains. - [Performance](/docs/packages/dev-toolbar/built-in-apps/performance): Monitor Web Vitals, resource timing, and navigation metrics directly in the toolbar without leaving your browser tab. - [SEO](/docs/packages/dev-toolbar/built-in-apps/seo): Preview how your page looks when shared on social platforms and audit all meta tags for completeness. - [Settings](/docs/packages/dev-toolbar/built-in-apps/settings): Control the toolbar's appearance, behaviour, and keyboard shortcuts. All settings are persisted to localStorage and applied immediately. - [Tailwind](/docs/packages/dev-toolbar/built-in-apps/tailwind): Browse all resolved Tailwind CSS design tokens and their current values. - [Timeline](/docs/packages/dev-toolbar/built-in-apps/timeline): A chronological event log that captures events from your application and any integrated libraries, with filtering and detail inspection. - [Vite Config](/docs/packages/dev-toolbar/built-in-apps/vite-config): Inspect the fully resolved Vite configuration from the browser — no need to console.log or read config files manually. - Custom Apps - [Creating Custom Apps](/docs/packages/dev-toolbar/custom-apps/creating-apps): Build your own DevTools panel using Preact components, register it via the Vite plugin, and optionally add a tooltip and RPC functions. - [App API Reference](/docs/packages/dev-toolbar/custom-apps/app-api): Complete type reference for DevToolbarApp, AppComponentProps, and related interfaces. - [RPC Functions](/docs/packages/dev-toolbar/custom-apps/rpc): Type-safe bidirectional communication between the browser and Vite's Node.js process. Call server functions from your app component, and push updates from the server to the client. - [Global API](/docs/packages/dev-toolbar/custom-apps/global-api): Programmatic control of the toolbar via window.__VISULIMA_DEVTOOLS__ — open apps, register apps dynamically, show notifications, and access RPC from outside React/Preact. - Integrations - [Library Integration](/docs/packages/dev-toolbar/integrations/library-integration): Add zero-dependency DevTools support to your library. Users get devtools automatically when they install the Visulima Dev Toolbar — no extra configuration required. - [MCP Server](/docs/packages/dev-toolbar/integrations/mcp): Connect AI coding agents to your dev toolbar annotations via the Model Context Protocol. Agents can read, acknowledge, and resolve annotations without a browser. - [vite-overlay](/docs/packages/dev-toolbar/integrations/vite-overlay): Use @visulima/vite-overlay together with the Dev Toolbar for a unified error-display experience. - Secret Scanner - [Introduction](/docs/packages/secret-scanner): Fast secret and credential scanner — a Rust port of the gitleaks detection engine, exposed through NAPI. - [Installation](/docs/packages/secret-scanner/installation): Install and set up the secret scanner in your project. - **Guides** - [Configuration](/docs/packages/secret-scanner/configuration): Full reference for all ScanOptions fields. - [Suppression](/docs/packages/secret-scanner/suppression): Skip known findings with inline comments, block regions, previous-line pragmas, or a baseline JSON. - [Opt-in rule groups & custom rules](/docs/packages/secret-scanner/presets): Bundled opt-in rule groups, custom rule authoring, and the false-positive patch file. - [CLI](/docs/packages/secret-scanner/cli): Run the scanner through the vis secrets command. - **Reference** - [API Reference](/docs/packages/secret-scanner/api): Full API reference for all exported functions and types. - Find ai runner - [Introduction](/docs/packages/find-ai-runner): Detect and invoke AI CLI tools (Claude, Gemini, Codex, Copilot, Cursor, Crush, Amp, Kimi, Qwen, OpenCode, Droid) installed on the system - [Installation](/docs/packages/find-ai-runner/installation): Install and set up @visulima/find-ai-runner in your project - [Usage](/docs/packages/find-ai-runner/usage): How to detect, configure, and run AI CLI tools with find-ai-runner - [Providers](/docs/packages/find-ai-runner/providers): All supported AI CLI providers, their commands, and configuration - [API Reference](/docs/packages/find-ai-runner/api): Complete API reference for @visulima/find-ai-runner - Task runner - [Introduction](/docs/packages/task-runner): High-performance monorepo task runner with intelligent caching - [Installation](/docs/packages/task-runner/installation): Install and set up the task runner in your project - **Concepts** - Concepts - [Auto-Fingerprinting](/docs/packages/task-runner/concepts/auto-fingerprinting): Vite Task-style automatic input detection - [Caching](/docs/packages/task-runner/concepts/caching): How task caching works with explicit inputs - [Concurrent Process Runner](/docs/packages/task-runner/concepts/concurrent-runner): Run multiple commands in parallel with native Rust performance - [Remote Caching](/docs/packages/task-runner/concepts/remote-caching): Share cache across machines with Turborepo-compatible HTTP and Bazel REAPI gRPC backends - [Task Graph](/docs/packages/task-runner/concepts/task-graph): Understanding task graphs and dependency-aware scheduling - **Guides** - Guides - [Affected Detection](/docs/packages/task-runner/guides/affected-detection): Only run tasks for packages changed since the base branch - [Command Tokens](/docs/packages/task-runner/guides/command-tokens): Interpolate affected/changed file lists into command strings - [Running Concurrent Processes](/docs/packages/task-runner/guides/concurrent-processes): How to run multiple commands in parallel with output streaming - [Conditional Tasks](/docs/packages/task-runner/guides/conditional-tasks): Gate execution with `when:` predicates and run cleanup with `always: true` - [Cooperative Cache Hints](/docs/packages/task-runner/guides/cooperative-cache-hints): Track env vars and refine cache keys from inside a task with @visulima/task-runner-client - [Framework Inference](/docs/packages/task-runner/guides/framework-inference): Auto-detect framework env var prefixes for cache keys - [Graph Visualization](/docs/packages/task-runner/guides/graph-visualization): Visualize task and project graphs in multiple formats - [Run Summaries](/docs/packages/task-runner/guides/run-summaries): Generate detailed JSON reports for debugging cache behavior - [Smart Lockfile Hashing](/docs/packages/task-runner/guides/smart-lockfile-hashing): Only bust cache for packages affected by lockfile changes - [Configuration](/docs/packages/task-runner/configuration): Full reference for all task runner options - [API Reference](/docs/packages/task-runner/api): Full API reference for all exported functions and types - Vis - [Introduction](/docs/packages/vis): A CLI task runner for monorepo workspaces with task caching, dependency-aware scheduling, catalog management, and git hooks - [Installation](/docs/packages/vis/installation): Install and set up vis in your monorepo workspace - [Quick Start](/docs/packages/vis/quick-start): Get up and running with vis in your monorepo - **Commands** - Commands - [vis action-graph](/docs/packages/vis/commands/action-graph): Show the execution plan for a target without running it - [vis add](/docs/packages/vis/commands/add): Add packages with typosquat detection and security scanning - [vis advisories](/docs/packages/vis/commands/advisories): Manage the local OSV advisory cache that powers offline vulnerability scanning. - [vis affected](/docs/packages/vis/commands/affected): Run tasks only on projects affected by recent git changes - [vis ai](/docs/packages/vis/commands/ai): AI-assisted commands: provider detection, failure-fix proposals, and self-healing CI - [vis analyze](/docs/packages/vis/commands/analyze): Analyze a single package update with AI - [vis approve-builds](/docs/packages/vis/commands/approve-builds): Review and approve dependencies with build scripts - [vis attest](/docs/packages/vis/commands/attest): Emit and verify supply-chain attestations (in-toto SLSA provenance + Sigstore) - [vis audit](/docs/packages/vis/commands/audit): Audit installed packages for known vulnerabilities and supply-chain risk, offline-first. - [vis cache](/docs/packages/vis/commands/cache): Inspect, prune, and explain the local task cache - [vis check](/docs/packages/vis/commands/check): Check for outdated dependencies, security vulnerabilities, and supply chain settings - [vis ci ignore](/docs/packages/vis/commands/ci-ignore): CI build gating for Vercel and Netlify 'Ignored Build Step' — exits with inverted codes so deployment platforms skip unaffected builds. - [vis ci](/docs/packages/vis/commands/ci): Run affected targets in a CI-optimized pipeline - [vis clean](/docs/packages/vis/commands/clean): Remove node_modules (and optionally lockfiles and stale package directories) from the workspace - [vis create](/docs/packages/vis/commands/create): Scaffold a new project from built-in templates, npm packages, or git repositories - [vis dedupe](/docs/packages/vis/commands/dedupe): Deduplicate dependencies using the detected package manager - [vis deps](/docs/packages/vis/commands/deps): Lint workspace dependency policies (workspace-protocol, banned-deps, redefine-root, workspace-versions, custom-types) - [vis devcontainer](/docs/packages/vis/commands/devcontainer): Create or update .devcontainer/devcontainer.json interactively - [vis dlx](/docs/packages/vis/commands/dlx): Execute a remote package without permanent installation - [vis docker](/docs/packages/vis/commands/docker): Docker integration — scaffold/prune a context, generate or lint a Dockerfile, or build a .dockerignore - [vis doctor](/docs/packages/vis/commands/doctor): Run a full project health check (outdated, security, duplicates, optimizations) - [vis exec](/docs/packages/vis/commands/exec): Execute a local node_modules/.bin command (no remote fallback) - [vis fmt](/docs/packages/vis/commands/fmt): Orchestrate detected formatters (prettier, …) across the workspace - [vis generate](/docs/packages/vis/commands/generate): Scaffold files from in-repo templates — programmatic (TS) or moon-format (template.yml + Tera files) - [vis graph](/docs/packages/vis/commands/graph): Visualize the project dependency graph - [vis hook](/docs/packages/vis/commands/hook): Manage git hooks for your workspace - [vis ignore](/docs/packages/vis/commands/ignore): Generate or merge an ignore file (.dockerignore / .vercelignore / .npmignore / .slugignore) without adding duplicate entries. - [vis implode](/docs/packages/vis/commands/implode): Remove vis from the system (self-uninstall) - [vis info](/docs/packages/vis/commands/info): Show npm registry metadata for a package - [vis init](/docs/packages/vis/commands/init): Initialize vis.config.ts with best-practice security defaults - [vis inspect](/docs/packages/vis/commands/inspect): Dry-run every marshall against a package without installing it. - [vis install](/docs/packages/vis/commands/install): Install project dependencies via the detected package manager - [vis link](/docs/packages/vis/commands/link): Link a local package for development - [vis lint](/docs/packages/vis/commands/lint): Orchestrate detected source-code linters (eslint, …) across the workspace - [vis list](/docs/packages/vis/commands/list): List workspace projects with metadata, or per-target rows with type, cache status, and description - [vis migrate](/docs/packages/vis/commands/migrate): Migrate from other tools (turborepo, nx, moon, husky, lint-staged, nano-staged, gitleaks, kingfisher, secretlint, syncpack, sherif) to vis, and verify the migration preserved the task graph - [vis optimize](/docs/packages/vis/commands/optimize): Analyze and optimize dependencies using e18e replacements and @socketregistry overrides - [vis outdated](/docs/packages/vis/commands/outdated): Check for outdated packages using the detected package manager - [vis pm](/docs/packages/vis/commands/pm): Package manager utilities (cache, publish, audit, list, config, etc.) - [vis release](/docs/packages/vis/commands/release): Per-command reference for the vis release subsystem — what each subcommand does, when to reach for it, and every flag. - [vis remove](/docs/packages/vis/commands/remove): Remove packages using the detected package manager - [vis replay](/docs/packages/vis/commands/replay): Replay a previous task run from .vis/runs/ — show task results without re-executing - [vis run](/docs/packages/vis/commands/run): Run a target across workspace projects with caching, selectors, and dependency ordering - [vis sbom](/docs/packages/vis/commands/sbom): Generate a CycloneDX 1.7 Software Bill of Materials for the workspace - [vis secrets](/docs/packages/vis/commands/secrets): Scan the workspace for hardcoded credentials with a gitleaks-compatible Rust engine - [vis security](/docs/packages/vis/commands/security): Inspect and sync vis-config security settings to the native package-manager config - [vis service](/docs/packages/vis/commands/service): Run long-lived sidecars (DB, mock servers, devservers) that survive across vis run invocations - [vis sort-package-json](/docs/packages/vis/commands/sort-package-json): Sort package.json files across the workspace using the sort-package-json Rust crate - [vis staged](/docs/packages/vis/commands/staged): Run linters on staged files using config from vis.config.ts - [vis status](/docs/packages/vis/commands/status): Show a workspace health dashboard at a glance - [vis sync](/docs/packages/vis/commands/sync): Synchronise derived workspace artefacts like CODEOWNERS - [vis task-why](/docs/packages/vis/commands/task-why): Explain why a task is included in the graph by walking its dependency chain to a root - [vis toolchain](/docs/packages/vis/commands/toolchain): Inspect and delegate to the workspace's version managers (proto, mise, fnm, volta, asdf, nvm, corepack) - [vis unlink](/docs/packages/vis/commands/unlink): Unlink a previously linked package - [vis update](/docs/packages/vis/commands/update): Update packages to their latest versions with catalog support - [vis self-update](/docs/packages/vis/commands/upgrade): Update vis itself to the latest version - [vis why](/docs/packages/vis/commands/why): Show why a package is installed (dependency chain) - [Configuration](/docs/packages/vis/configuration): Full reference for vis.config.ts and project.json configuration - **Guides** - Guides - [AI Integration](/docs/packages/vis/guides/ai-integration): Drive vis from Claude, Cursor, Zed, ChatGPT, and other AI clients via the bundled MCP server and Claude Skill - [Attested remote cache](/docs/packages/vis/guides/attested-cache): Keyless-sign remote cache artifacts with Sigstore and verify the signer identity on download — provenance on top of the HMAC integrity layer. - [Best Practices](/docs/packages/vis/guides/best-practices): Team workflows, enterprise patterns, security, and performance optimization for vis - [CI/CD Integration](/docs/packages/vis/guides/ci-cd): Integrate vis into your CI/CD pipelines for automated builds, testing, and dependency management - [Conditional and finally tasks](/docs/packages/vis/guides/conditional-and-finally-tasks): Gate tasks with `when:` and run cleanup with `always:` — including affected-files tokens for change-aware commands. - [Config Model](/docs/packages/vis/guides/config-model): Mental model for vis's three config layers, six precedence levels, and how to pick the right place for each setting - [Git Hooks](/docs/packages/vis/guides/git-hooks): Set up and manage git hooks with vis for your team - [Writing plugins](/docs/packages/vis/guides/plugins): Build vis plugins using the typed hookable-based plugin API - [Release CI](/docs/packages/vis/guides/release-ci): Wire vis release into GitHub Actions or GitLab CI — version-PR mode, auto-publish, snapshots, OIDC trusted publishing. - [Release comparison](/docs/packages/vis/guides/release-comparison): How vis release stacks up against changesets, semantic-release, release-please, and bumpy — and which one to pick. - [First-release & version resolver](/docs/packages/vis/guides/release-first-release-and-resolver): Bootstrap a greenfield monorepo with `--first-release`, pick the right `currentVersionResolver` mode (`disk`, `registry`, `git-tag`) for your workflow, and migrate cleanly from semantic-release, changesets, or a hand-rolled release flow. - [Releasing Maven artifacts](/docs/packages/vis/guides/release-maven): Bump Maven versions and detect already-published artifacts on Maven Central — plus the shell-path workaround for native publishing. - [Release notifications](/docs/packages/vis/guides/release-notifications): Fan out post-publish pings to Slack, Discord, Microsoft Teams, Mattermost, or any HTTP endpoint — built-in channels, template tokens, multi-channel dispatch, and the `--resume` dedup contract. - [Release plugin authoring](/docs/packages/vis/guides/release-plugin-authoring): Extend `vis release` with custom notification channels, version actions, and changelog formatters — three small typed surfaces, three worked examples (Microsoft Teams, private Verdaccio, emoji-prefixed Keep-a-Changelog hybrid). - [Staged publishing (human-approved npm releases)](/docs/packages/vis/guides/release-staged-publishing): How vis routes npm's `npm stage publish` flow through a maintainer 2FA approval gate without breaking CI, plus every failure mode (timeout, rejection, out-of-band approval, new commits while waiting) and how to recover from each. - [Release manager](/docs/packages/vis/guides/release): Ship versions, changelogs, tags, and registry publishes from a single source of truth — change files committed alongside your code. - [Security audit](/docs/packages/vis/guides/security-audit): Offline-first vulnerability scanning with vis audit — sync the advisory cache, run audits, apply fixes, gate CI. - [Wrap your package manager](/docs/packages/vis/guides/shell-alias): Shadow npm / pnpm / yarn / bun with vis so every install runs through the marshall pipeline. - [Why vis vs. Vite Task / Turbo / Nx / moon](/docs/packages/vis/guides/why-vis): Side-by-side capability matrix comparing vis with Vite Task (Vite+ alpha), Turborepo, Nx, and moon - **Other** - Email Provider MX - [Introduction](/docs/packages/email-provider-mx): Classify the email provider — mailbox host, free webmail, or Secure Email Gateway — behind an MX record. - [Installation](/docs/packages/email-provider-mx/installation) - **Getting Started** - [Usage](/docs/packages/email-provider-mx/usage) - **API Reference** - [API](/docs/packages/email-provider-mx/api) - Email Verifier - [Introduction](/docs/packages/email-verifier): Mailer-free email address verification and enrichment — syntax, MX/SMTP, disposable/free/role, catch-all, provider & SEG classification, typo suggestions, and a 0–100 quality score. - [Installation](/docs/packages/email-verifier/installation) - **Getting Started** - [Usage](/docs/packages/email-verifier/usage) - [Scoring](/docs/packages/email-verifier/scoring) - **API Reference** - [API](/docs/packages/email-verifier/api) - Free Email Domains - [Introduction](/docs/packages/free-email-domains): Detect free email service providers (Gmail, Yahoo, Outlook, GMX, …) with an up-to-date list of free email domains. - [Installation](/docs/packages/free-email-domains/installation) - **Getting Started** - [Usage](/docs/packages/free-email-domains/usage) - **API Reference** - [API](/docs/packages/free-email-domains/api) - Notification - [Introduction](/docs/packages/notification): Get started with @visulima/notification, a reusable, edge-ready multi-channel notification library - [Installation](/docs/packages/notification/installation): Install and set up @visulima/notification in your project - Getting Started - [Introduction](/docs/packages/notification/getting-started/introduction): Core concepts of @visulima/notification - [Sending](/docs/packages/notification/getting-started/sending): Send single, multi-channel and batched notifications - [Channels](/docs/packages/notification/channels): The delivery channels and their payloads - [Providers](/docs/packages/notification/providers): Configure SMS, push, chat, in-app, webhook and email providers - [Routing](/docs/packages/notification/routing): Channel fallback, broadcast, provider failover and round-robin - [Preferences](/docs/packages/notification/preferences): Per-subscriber, per-channel opt-in/out with critical override - [Middleware](/docs/packages/notification/middleware): Retry, rate-limit, circuit-breaker, dedupe and logging - [Queue](/docs/packages/notification/queue): Durable queue and a retrying worker - [Events](/docs/packages/notification/events): Lifecycle event bus and timeline store - [Webhooks](/docs/packages/notification/webhooks): Verify and normalise inbound provider delivery-status webhooks - [Templates](/docs/packages/notification/templates): Render notification bodies with pluggable template engines - [Workflows](/docs/packages/notification/workflow): Code-first, durable multi-step notifications built on @visulima/workflow - [Digest](/docs/packages/notification/digest): Batch a burst of events into a single notification over a time or cron window - [Layouts](/docs/packages/notification/layouts): Reusable content chrome with a {{content}} slot, code-first and engine-agnostic - [i18n](/docs/packages/notification/i18n): Localize notification content with ICU MessageFormat and locale fallback - Workflow - [Introduction](/docs/packages/workflow): Get started with @visulima/workflow, a reusable, edge-ready durable workflow engine - [Installation](/docs/packages/workflow/installation): Install @visulima/workflow and learn which parts run on which runtimes - [Getting started](/docs/packages/workflow/getting-started): Define a workflow, trigger a run, and resume it with sweep and signal - [Steps](/docs/packages/workflow/steps): The ctx contract — step, sleep and waitForEvent - [Durability & replay](/docs/packages/workflow/durability): How the engine suspends, persists and resumes a run deterministically - [Stores](/docs/packages/workflow/stores): The WorkflowStore contract and the built-in adapters - [Concurrency & exactly-once](/docs/packages/workflow/concurrency): What the in-process lock and the store lease guarantee — and what they don't