Tags

Tags make cheats searchable beyond their title and command text. They fold into the same picker search - type any tag word and matching cheats filter down.

Where tags come from

A single cheat can pick up tags from five sources, all merged together.

1. Folder and file path

Every directory and filename above a cheat becomes a tag automatically:

~/cheats/cloud/aws/s3.md   ->  tags: cloud, aws, s3
~/cheats/docker.md         ->  tags: docker

This is the cheapest tagging system - organize your cheats into folders and you’re already done.

2. YAML front matter (file-wide)

A YAML block at the very top of the file. Applies to every cheat in the file.

---
tags: [aws, cloud, production]
---

Block list form also works:

---
tags:
  - aws
  - cloud
---

3. Footer block (file-wide)

A tag block at the end of the file. Same scope as front matter - applies to all cheats in the file.

Hashtag form (most common):

#quickref #production #internal

4. Inline #tag in prose (per cheat)

Hashtags in the prose between one heading and the next attach to that cheat only:

## list buckets

List all S3 buckets in the account. #s3

```sh title:"List S3 buckets"
aws s3 ls
```

#read-only

## describe instance
...

Both #s3 and #read-only attach to “list buckets”. They do not leak into “describe instance”.

Rules for inline tags:

  • Must start with # followed by an ASCII letter (rules out #ff0000, #42)
  • Tag body can contain letters, digits, _, -, ., /
  • Must be preceded by whitespace, start-of-line, or ( [ ,
  • Heading lines and code fences are not scanned

5. The heading itself

Words in the heading are already searchable, so you can embed short hints:

## list buckets (s3)