>_Skillful
Need help with advanced AI agent engineering?Contact FirmAdapt
Sindre Sorhus

Sindre Sorhus

@sindresorhus

Full-Time Open-Sourcerer. Focused on Swift & JavaScript. Makes macOS apps, CLI tools, npm packages.

sindresorhus.com/apps@sindresorhus On GitHub since December 2009

539

Published Tools

382,501

Total Stars

10,722,129,849

Weekly Downloads

85,120

GitHub Followers

1,146

Public Repos

100/100

Avg Security

Published Tools

2 MCP Servers198 Skillsacross 4 categories

sindresorhus

React for CLI

MCP ServerAI Tool
36K4M/wk2 dirs

sindresorhus

Terminal string styling done right

SkillAI Tool
23K434.6M/wk1 dir

sindresorhus

A collection of essential TypeScript types

SkillAI Tool
17K327.8M/wk3 dirs

sindresorhus

Tiny and elegant HTTP client based on the Fetch API

SkillAI Tool
16K6.5M/wk1 dir

sindresorhus

Human-friendly and powerful HTTP request library for Node.js

SkillAI Tool
15K35.7M/wk1 dir

sindresorhus

Pretty, minimal and fast ZSH prompt

SkillAI Tool
14K1 dir

sindresorhus

Capture website screenshots

SkillAI Tool
9.7K6.6K/wk1 dir

sindresorhus

Elegant terminal spinner

SkillAI Tool
9.6K75.4M/wk1 dir

The minimal amount of CSS to replicate the GitHub Markdown style

SkillAI Tool
8.8K730K/wk1 dir

sindresorhus

JavaScript/TypeScript linter (ESLint wrapper) with great defaults

SkillAI Tool
8K192K/wk1 dir

sindresorhus

A better `npm publish`

SkillAI Tool
7.7K138K/wk1 dir

sindresorhus

Process execution for humans

SkillAI Tool
7.5K137.7M/wk1 dir

sindresorhus

Normalize browsers' default style

SkillAI Tool
7.3K937K/wk1 dir

sindresorhus

Simple wrapper for cross-browser usage of the JavaScript Fullscreen API, which lets you bring the page or any element into fullscreen.

...more
SkillAI Tool
7.1K4.8M/wk1 dir

sindresorhus

Fabulously kill processes. Cross-platform.

SkillAI Tool
7K1 dir

sindresorhus

Parse and stringify URL query strings

SkillAI Tool
6.9K21.3M/wk1 dir

More than 100 powerful ESLint rules

SkillAI Tool
5.3K6.8M/wk1 dir

sindresorhus

Create a good-looking DMG for your macOS app in seconds

SkillAI Tool
5.2K4K/wk1 dir

sindresorhus

Simple data persistence for your Electron app or module - Save and load user settings, app state, cache, etc

SkillAI Tool
5K984K/wk1 dir

sindresorhus

Promise queue with concurrency control

SkillAI Tool
4.3K29.2M/wk1 dir

sindresorhus

Detect the file type of a file, stream, or data

SkillDocument Processing
4.3K50.2M/wk1 dir

sindresorhus

Function argument validation for humans

SkillAI Tool
3.9K2.6M/wk1 dir

sindresorhus

CLI app helper

SkillAI Tool
3.7K38.3M/wk1 dir

sindresorhus

Open stuff like URLs, files, executables. Cross-platform.

SkillAI Tool
3.5K111.6M/wk1 dir

sindresorhus

Spinners for use in the terminal

SkillAI Tool
2.8K63.5M/wk1 dir

sindresorhus

Run multiple promise-returning & async functions with limited concurrency

SkillAI Tool
2.8K1 dir

sindresorhus

Test your download and upload speed using fast.com

SkillAI Tool
2.8K792/wk1 dir

sindresorhus

Move files and folders to the trash

SkillAI Tool
2.7K1 dir

sindresorhus

Create Alfred workflows with ease

SkillAI Automation
2.7K1 dir

sindresorhus

User-friendly glob matching

SkillAI Tool
2.6K1 dir

sindresorhus

Check TypeScript type definitions

SkillAI Tool
2.6K424K/wk1 dir

sindresorhus

Find relevant emoji from text on the command-line

SkillAI Tool
2.4K1.7K/wk1 dir

sindresorhus

Framework for effortlessly building Ink apps

SkillAI Tool
2.4K1 dir

sindresorhus

Simple and modern async event emitter

SkillAI Tool
2K43M/wk1 dir

sindresorhus

Capture screenshots of websites

SkillAI Tool
2K13K/wk1 dir

sindresorhus

Access the system clipboard (copy/paste)

SkillAI Tool
2K7.3M/wk1 dir

sindresorhus

Collection of customizable UI components for CLIs made with Ink

SkillAI Tool
2K1 dir

sindresorhus

Update notifications for your CLI app

SkillAI Tool
1.8K1 dir

sindresorhus

Type check values

SkillAI Tool
1.8K1 dir

sindresorhus

Capture website screenshots

SkillAI Tool
1.7K4.3K/wk1 dir

sindresorhus

Runs an accessibility audit against a URL

SkillAI Tool
1.7K1 dir

sindresorhus

Create boxes in the terminal

SkillAI Tool
1.7K25.7M/wk1 dir

sindresorhus

Static asset revisioning by appending content hash to filenames: unicorn.css => unicorn-d41d8cd98f.css

SkillAI Tool
1.5K79K/wk1 dir

sindresorhus

Promisify a callback-style function

SkillAI Tool
1.5K132.5M/wk1 dir

sindresorhus

Map over promises concurrently

SkillAI Tool
1.5K1 dir

Context menu for your Electron app

SkillAI Tool
1.5K216K/wk1 dir

sindresorhus

Move files and folders to the trash

SkillAI Tool
1.4K1 dir

sindresorhus

Check if the internet connection is up

SkillAI Tool
1.4K1 dir

sindresorhus

Simple config handling for your app or module

SkillAI Tool
1.4K6.9M/wk1 dir

sindresorhus

Convert bytes to a human readable string: 1337 → 1.34 kB

SkillAI Tool
1.3K28.8M/wk1 dir

sindresorhus

Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`

SkillAI Tool
1.2K30.5M/wk1 dir

sindresorhus

Simplified file downloads for your Electron app

SkillAI Tool
1.2K1 dir

sindresorhus

Memoize functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input

...more
SkillAI Tool
1.2K1.8M/wk1 dir

sindresorhus

Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.

SkillAI Tool
1.1K41.2M/wk1 dir

sindresorhus

Display images in the terminal

SkillAI Tool
1.1K35K/wk1 dir

Copy text to the clipboard in modern browsers (0.2 kB)

SkillAI Tool
1K1.1M/wk1 dir

sindresorhus

Retry a promise-returning or async function

SkillAI Tool
99838.2M/wk1 dir

sindresorhus

Hashing made simple. Get the hash of a buffer/string/stream/file.

SkillAI Tool
96110.9M/wk1 dir

sindresorhus

Minify images seamlessly

SkillAI Tool
94846K/wk1 dir

sindresorhus

Run shell commands

SkillAI Tool
9451 dir

sindresorhus

Load multiple grunt tasks using globbing patterns

SkillAI Tool
9281 dir

sindresorhus

ES2015 `Object.assign()` ponyfill

SkillAI Tool
919142.5M/wk1 dir

sindresorhus

Get metadata about the active window and open windows (title, id, bounds, owner, URL, etc)

SkillAI Tool
8991 dir

sindresorhus

Easily load and save config without having to think about where and how

SkillAI Tool
88815.4M/wk1 dir

sindresorhus

Normalize a URL

SkillAI Tool
87142.7M/wk1 dir

sindresorhus

CommonJS version - The smallest and fastest command-line coloring package on the internet

SkillAI Tool
85626.4M/wk1 dir

Capture screenshots of websites from the command-line

SkillAI Tool
8461.3K/wk1 dir

sindresorhus

Delay function calls until a set time elapses after the last invocation

SkillAI Tool
84421.1M/wk1 dir

sindresorhus

Fabulously kill processes. Cross-platform.

SkillAI Tool
7951 dir

sindresorhus

Run grunt tasks concurrently

SkillAI Tool
7931 dir

sindresorhus

Adds useful debug features to your Electron app

SkillAI Tool
7751 dir

sindresorhus

Colored symbols for various log levels. Example: `✔︎ Success`

SkillAI Tool
7711 dir

sindresorhus

Create a promise that reports progress

SkillAI Tool
7651 dir

sindresorhus

Essential utilities for TypeScript projects

SkillAI Tool
7591 dir

sindresorhus

Convert object keys to camel case

SkillAI Tool
7481 dir

sindresorhus

Only pass through changed files

SkillAI Tool
7411 dir

sindresorhus

Linter for Awesome lists

SkillAI Tool
7391 dir

sindresorhus

Measure the difference between two strings using the Levenshtein distance algorithm

SkillTABLE OF CONTENTS
7342 dirs

sindresorhus

Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`

SkillAI Tool
6981 dir

sindresorhus

Use Ky in both Node.js and browsers

SkillAI Tool
6761 dir

sindresorhus

Create clickable links in the terminal

SkillAI Tool
65817.1M/wk1 dir

sindresorhus

Tiny hashing module that uses the native crypto API in Node.js and the browser

SkillAI Tool
645443K/wk1 dir

sindresorhus

Find a file or directory by walking up parent directories

SkillAI Tool
6351 dir

sindresorhus

Delay a promise a specified amount of time

SkillAI Tool
6276.9M/wk1 dir

Strip comments from JSON. Lets you use comments in your JSON files!

SkillAI Tool
624180.8M/wk1 dir

sindresorhus

Unicode symbols with fallbacks for older terminals

SkillAI Tool
62166M/wk1 dir

sindresorhus

Simple event emitter

SkillAI Tool
6121 dir

Escape RegExp special characters

SkillAI Tool
5981 dir

Escape RegExp special characters

SkillAI Tool
598302.7M/wk1 dir

sindresorhus

Simple auto-reloading for Electron apps during development

SkillAI Tool
5851 dir

sindresorhus

Get the dimensions of an image

SkillAI Tool
580192K/wk1 dir

sindresorhus

Download multiple files at once in the browser

SkillAI Tool
5781 dir

Generate a cryptographically strong random string

SkillAI Tool
57526M/wk1 dir

sindresorhus

Tiny process execution for humans — a better child_process

SkillAI Tool
5724M/wk1 dir

sindresorhus

Global identifiers from different JavaScript environments

SkillAI Tool
569234.6M/wk1 dir

sindresorhus

Understand how your tool is being used by anonymously reporting usage metrics to Google Analytics or Yandex.Metrica

MCP ServerAI Tool
557175K/wk2 dirs

sindresorhus

Stylish reporter for JSHint

SkillAI Tool
5561 dir

sindresorhus

Escape a string for use in HTML or the inverse

SkillAI Tool
54811.8M/wk1 dir

Pretty formatter for ESLint

SkillAI Tool
544692K/wk1 dir

sindresorhus

ANSI escape codes for manipulating the terminal

SkillAI Tool
541111.8M/wk1 dir

sindresorhus

Get the visual width of a string - the number of columns required to display it

SkillAI Tool
521462M/wk1 dir

sindresorhus

Convert a string to a valid safe filename

SkillAI Tool
51711.2M/wk1 dir

sindresorhus

WebP imagemin plugin

SkillAI Tool
5161 dir

sindresorhus

Throttle promise-returning & async functions

SkillAI Tool
5151 dir

sindresorhus

Strip ANSI escape codes from a string

SkillAI Tool
506510.3M/wk1 dir

sindresorhus

Get Pokémon names

SkillAI Tool
5051 dir

sindresorhus

Access the system clipboard (copy/paste)

SkillAI Tool
5051 dir

sindresorhus

Static file serving for Electron apps

SkillAI Tool
48225K/wk1 dir

sindresorhus

Make a directory and its parents if needed - Think `mkdir -p`

SkillAI Tool
477127.3M/wk1 dir

sindresorhus

Automatically bind methods to their class instance

SkillAI Tool
46411.1M/wk1 dir

sindresorhus

Catch unhandled errors and promise rejections in your Electron app

SkillAI Tool
46210K/wk1 dir

sindresorhus

ANSI escape codes for styling strings in the terminal

SkillAI Tool
453625.2M/wk1 dir

sindresorhus

Promisify an event by waiting for it to be emitted

SkillAI Tool
4459.8M/wk1 dir

sindresorhus

Get a random temporary file or directory path

SkillAI Tool
44314.4M/wk1 dir

sindresorhus

Memoize promise-returning & async functions

SkillAI Tool
4391.2M/wk1 dir

sindresorhus

Open stuff like URLs, files, executables. Cross-platform.

SkillAI Tool
439233K/wk1 dir

sindresorhus

Tiny queue data structure

SkillAI Tool
433160.4M/wk1 dir

sindresorhus

Get paths for storing things like data, config, cache, etc

SkillAI Tool
43377.7M/wk1 dir

sindresorhus

Copy files

SkillAI Tool
4331 dir

sindresorhus

ASCII cows 🐮

SkillAI Tool
4311 dir

sindresorhus

Detect the image type of an ArrayBuffer/Uint8Array

SkillAI Tool
422211K/wk1 dir

sindresorhus

Pretty logger for Electron apps

SkillAI Tool
421218/wk1 dir

sindresorhus

Extracting archives made easy

SkillAI Tool
4171 dir

sindresorhus

Generate a Code of Conduct for your project - Provided by Contributor Covenant

SkillAI Tool
3911 dir

sindresorhus

Check if servers are reachable

SkillAI Tool
383123K/wk1 dir

Shared TypeScript config for my projects

SkillAI Tool
3801 dir

sindresorhus

Simple micro templating

SkillAI Tool
3749.2M/wk1 dir

sindresorhus

Get all URLs in a string

SkillAI Tool
37246K/wk1 dir

sindresorhus

Parse JSON with more helpful errors

SkillAI Tool
3711 dir

sindresorhus

Detect whether a terminal supports color

SkillAI Tool
366439.8M/wk1 dir

sindresorhus

Copy files

SkillAI Tool
361400K/wk1 dir

sindresorhus

Get a stream as a string, Buffer, ArrayBuffer or array

SkillAI Tool
358174.3M/wk1 dir

sindresorhus

Regular expression for matching URLs

SkillAI Tool
3541 dir

sindresorhus

Get your internal IP address

SkillAI Tool
3491 dir

sindresorhus

Get stdin as a string or Uint8Array

SkillAI Tool
3481 dir

sindresorhus

Clean up error stack traces

SkillAI Tool
3471 dir

sindresorhus

Run promise-returning & async functions concurrently with optional limited concurrency

SkillAI Tool
3451.4M/wk1 dir

sindresorhus

Convert Windows backslash paths to slash paths

SkillAI Tool
3381 dir

sindresorhus

Delete files and directories - Cross-platform

SkillAI Tool
332675K/wk1 dir

sindresorhus

Fast CSV parser

SkillAI Tool
327128K/wk1 dir

sindresorhus

Make an asynchronous function synchronous

SkillAI Tool
3261 dir

sindresorhus

Display images in terminals using the iTerm inline image protocol

SkillAI Tool
317189K/wk1 dir

sindresorhus

Extends `minimatch.match()` with support for multiple patterns

SkillAI Tool
3071 dir

sindresorhus

Run some code when the process exits

SkillAI Tool
3021 dir

sindresorhus

Timeout a promise after a specified amount of time

SkillAI Tool
3001 dir

sindresorhus

Terminal string styling done right

SkillAI Tool
2989K/wk1 dir

sindresorhus

Fix the $PATH on macOS and Linux when run from a GUI app

SkillAI Tool
29559K/wk1 dir

sindresorhus

Tiny terminal spinner

SkillAI Tool
2926.1M/wk1 dir

sindresorhus

Render/precompile Lodash/Underscore templates

SkillAI Tool
28918K/wk1 dir

sindresorhus

ESLint shareable config for XO

SkillAI Tool
286447K/wk1 dir

sindresorhus

Get running processes

SkillAI Tool
2851 dir

sindresorhus

Import a module while bypassing the cache

SkillAI Tool
285131.7M/wk1 dir

sindresorhus

Create a lazy promise that defers execution until it's awaited or when `.then()`, `.catch()`, or `.finally()` is called

SkillAI Tool
2851 dir

sindresorhus

Make unhandled promise rejections fail loudly instead of the default silent fail

SkillAI Tool
2804.3M/wk1 dir

sindresorhus

Display images in the terminal

SkillAI Tool
2761 dir

sindresorhus

Get popular cat names

SkillAI Tool
2751 dir

sindresorhus

Parse yes/no like values

SkillAI Tool
27439.9M/wk1 dir

sindresorhus

Useful utilities for working with Uint8Array (and Buffer)

SkillAI Tool
2741 dir

sindresorhus

ZIP compress files

SkillAI Tool
2711 dir

sindresorhus

Get callsites from the V8 stack trace API

SkillAI Tool
269134.2M/wk1 dir

sindresorhus

Read the closest package.json file

SkillAI Tool
2681 dir

sindresorhus

Turn a HTML string into DOM elements, cross-platform

SkillAI Tool
262441K/wk1 dir

FNV-1a non-cryptographic hash function

SkillAI Tool
2531 dir

sindresorhus

Make a synchronous function asynchronous by running it in a worker

SkillAI Tool
2533.2M/wk1 dir

sindresorhus

Find the root directory of a Node.js project or npm package

SkillAI Tool
2521 dir

Generate a URL for opening a new GitHub issue with prefilled title, body, and other fields

SkillAI Tool
2491 dir

sindresorhus

Create an error from multiple errors

SkillAI Tool
2481 dir

sindresorhus

Read and parse a JSON file

SkillAI Tool
2481 dir

sindresorhus

Import a module lazily

SkillAI Tool
24817.2M/wk1 dir

sindresorhus

Get metadata of a package from the npm registry

SkillAI Tool
2471 dir

sindresorhus

Filter out system junk files like .DS_Store and Thumbs.db

SkillAI Tool
2454.1M/wk1 dir

sindresorhus

Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow

SkillAI Tool
2431 dir

sindresorhus

Cycle through the items of an array

SkillAI Tool
24228K/wk1 dir

sindresorhus

ESLint rules for AVA

SkillAI Tool
234260K/wk1 dir

sindresorhus

Debounce promise-returning & async functions

SkillAI Tool
233439K/wk1 dir

sindresorhus

Check if the process is running inside a Docker container

SkillAI Tool
23397M/wk1 dir

sindresorhus

Get the system locale

SkillAI Tool
2296M/wk1 dir

sindresorhus

Elegant spinner for interactive CLI apps

SkillAI Tool
2272.4M/wk1 dir

Control the macOS `Do Not Disturb` feature

SkillAI Tool
2241 dir

sindresorhus

Observe changes to the DOM using an async iterable — A nicer API for MutationObserver

SkillAI Tool
2241 dir

sindresorhus

A cacheable dns.lookup(…) that respects TTL

SkillAI Tool
22325.6M/wk1 dir

sindresorhus

Stringify and write JSON to a file atomically

SkillAI Tool
2231 dir

sindresorhus

Debug Vinyl file streams to see what files are run through your Gulp pipeline

SkillAI Automation
22185K/wk1 dir

sindresorhus

Make a regular expression time out if it takes too long to execute

SkillAI Tool
2214.4M/wk1 dir

sindresorhus

Map object keys and values into a new object

SkillAI Tool
21732.9M/wk1 dir

sindresorhus

Convert a string/promise/array/iterable/asynciterable/buffer/typedarray/arraybuffer/object into a stream

SkillAI Tool
2141 dir

sindresorhus

Open files in your editor at a specific line and column

SkillAI Tool
2121 dir

sindresorhus

CSS for TodoMVC apps

SkillAI Tool
20920K/wk1 dir

sindresorhus

Tell Yeoman what to say

SkillAI Tool
208702K/wk1 dir

sindresorhus

Move a file, directory, or symlink - Even works across devices

SkillAI Tool
2071 dir

sindresorhus

Run Electron without all the junk terminal output

SkillAI Tool
2051 dir

sindresorhus

Regular expression for matching ANSI escape codes

SkillAI Tool
204475.4M/wk1 dir

sindresorhus

Detect the indentation of code

SkillAI Tool
2002 dirs

sindresorhus

Validate files with ESLint

SkillAI Tool
2001 dir

sindresorhus

Check if the process is running inside Windows Subsystem for Linux (Bash on Windows)

SkillAI Tool
1991 dir

sindresorhus

Check if JPEG images are progressive

SkillAI Tool
1991 dir

sindresorhus

Regular expression for matching IP addresses (IPv4 & IPv6)

SkillAI Tool
19811.8M/wk1 dir

sindresorhus

Get the gzipped size of a file or stdin

SkillAI Tool
1931 dir

sindresorhus

List of standard HTML tags

SkillAI Tool
1921 dir

sindresorhus

Link component for Ink

SkillAI Tool
1911 dir