cheatmd

module
v1.0.0-rc.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2026 License: MIT

README

CheatMD

CI Go Report Card

Executable Markdown cheatsheets. Write readable docs, run interactive commands.

demo

Install

go install github.com/cheatmd-dev/cheatmd/cmd/cheatmd@latest

Requires Go 1.26+.

Quick Start

cheatmd                    # Browse current directory
cheatmd ~/cheats           # Browse a cheats directory
cheatmd -q "docker"        # Start with a search query
cheatmd init               # Initialize default config
cheatmd --lint ~/cheats    # Check cheats for syntax/reference issues
cheatmd packs install      # Install starter cheat packs

Any Markdown heading with a code block can become a cheat:

## Docker: exec into container

```sh title:"Execute shell in container"
docker exec -it $container /bin/sh
```
<!-- cheat
var container = docker ps --format "{{.Names}}" --- --header "Select container"
-->

What It Does

  • Fuzzy-search cheats by title, command, tags, and description
  • Prompt for variables using shell output, editable defaults, or pickers
  • Reuse variable definitions with modules
  • Run ordered multi-step workflows with chains
  • Lint cheat syntax, imports, chains, and variables
  • Export parsed metadata as JSON or CSV
  • Convert existing navi, tldr, and cheat/cheatsheets collections
  • Run headless over JSON-RPC for editor integrations

Editor Extensions

  • VS Code - syntax highlighting, diagnostics, completion, and CodeLens execution
  • Neovim - syntax highlighting, async diagnostics, completion, and :CheatMDRun
  • Obsidian - inline run buttons, lint status, execution results, and variable autocomplete

Documentation

Full documentation lives in the Wiki:

Contributing

See CONTRIBUTING.md.

Support

If CheatMD saves you time, you can support the project on Ko-fi.

License

MIT

Directories

Path Synopsis
cmd
cheatmd command
internal
history
Package history records and reads the user's cheat execution history.
Package history records and reads the user's cheat execution history.
httputil
Package httputil provides common HTTP client utilities.
Package httputil provides common HTTP client utilities.
installer
Package installer installs cheat packs from the registry onto the local machine.
Package installer installs cheat packs from the registry onto the local machine.
packmanifest
Package packmanifest records which cheat packs have been installed into a cheats directory.
Package packmanifest records which cheat packs have been installed into a cheats directory.
ui
pkg
linter
Package linter checks a cheatmd cheats directory for problems.
Package linter checks a cheatmd cheats directory for problems.
registry
Package registry fetches and parses the CheatMD cheat-pack registry: a remote YAML manifest that lists installable cheat repositories ("packs").
Package registry fetches and parses the CheatMD cheat-pack registry: a remote YAML manifest that lists installable cheat repositories ("packs").

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL