Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/tldr-pages/tldr/llms.txt

Use this file to discover all available pages before exploring further.

tldr-pages organises command pages into platform directories so clients can automatically show the most relevant version for the user’s operating system. When you run tldr tar on Linux you see the Linux-appropriate page; when another user runs the same command on macOS they see the macOS-appropriate variant — all without any extra flags.

Directory structure

The English pages live under the top-level pages/ directory, which contains one sub-directory per supported platform:
pages/
├── common/      # Commands available on 2+ platforms
├── linux/
├── osx/         # macOS pages (to be renamed macos; alias: macos)
├── windows/
├── android/
├── freebsd/
├── openbsd/
├── netbsd/
├── sunos/
├── cisco-ios/
└── dos/
Each sub-directory contains .md files named after the commands they document (e.g. tar.md, git-commit.md). The filename must always be lowercase.

Choosing a platform directory

1

Available on two or more platforms? → common/

If a command works the same way on two or more platforms, place the page in common/. This is the most common case for widely-used Unix utilities (tar, grep, curl, etc.).
2

Only available on one platform? → that platform's directory

If a command exists exclusively on one platform, place it in the matching directory. For example, a command that only exists on macOS goes in osx/, and a Windows-only PowerShell cmdlet goes in windows/.
3

Common command with platform-specific differences? → both

If a command lives in common/ but behaves differently on one specific platform, keep the common/ page and add a separate page in the platform-specific directory that documents the differing behaviour. Clients will prefer the platform-specific page on that OS and fall back to common/ on all others.

Platform overview

common

Commands available identically on two or more platforms. The default fallback for all clients.

linux

Commands specific to any Linux distribution, including distro-specific package managers and utilities.

osx

Commands specific to macOS (formerly OS X). The directory is currently named osx/ and is planned to be renamed to macos/; clients should support macos as an alias.

windows

Commands for Windows, including PowerShell cmdlets and cmd.exe built-ins.

android

Commands available in Android environments, such as those used via Termux or ADB shells.

freebsd

Commands specific to the FreeBSD operating system.

openbsd

Commands specific to OpenBSD, including its security-focused utilities.

netbsd

Commands specific to NetBSD.

sunos

Commands specific to SunOS / Oracle Solaris.

cisco-ios

Commands for the Cisco IOS network operating system.

dos

Commands for MS-DOS, DOSBox, and FreeDOS environments.

Platform fallback in clients

When a user requests a page, clients resolve it using the following order of preference:
  1. Host platform — check the directory matching the user’s current OS first (e.g. linux/ on a Linux machine).
  2. common/ — if the page is not found in the host platform directory, fall back to common/.
  3. Other platforms — if the page is still not found, search all remaining platform directories and display the first match along with a warning that the page may not apply to the user’s OS.
For example, a Windows user requesting apt will find nothing in windows/, nothing in common/, and eventually find it in linux/ — at which point the client should warn that the page is from a different platform. Clients should support macos as an alias for osx so that users on modern macOS systems can use the natural name.

Language-specific directories

Translated pages live alongside pages/ in directories named pages.<locale> — for example pages.fr/, pages.zh/, pages.pt_BR/. Each translation directory mirrors the exact same platform sub-directory structure as the English pages/ directory:
pages.fr/
├── common/
├── linux/
├── osx/
└── ...
A page need not be translated in every language; if a translation does not exist, clients fall back to the English page. For guidance on adding or updating translations, see Translations.
The client specification requires that clients must not break when new platform directories are added to tldr-pages. It is recommended that clients detect new platforms automatically by scanning the pages/ directory, rather than maintaining a hard-coded list of supported platforms.

Build docs developers (and LLMs) love