@elizaos/skills 2.0.0-alpha.43 → 2.0.0-alpha.430

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +4 -0
  2. package/dist/formatter.d.ts.map +1 -1
  3. package/dist/formatter.js +3 -3
  4. package/dist/frontmatter.d.ts +13 -1
  5. package/dist/frontmatter.d.ts.map +1 -1
  6. package/dist/frontmatter.js +51 -1
  7. package/dist/index.d.ts +3 -3
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +2 -2
  10. package/dist/loader.d.ts.map +1 -1
  11. package/dist/loader.js +10 -3
  12. package/dist/resolver.d.ts +17 -0
  13. package/dist/resolver.d.ts.map +1 -1
  14. package/dist/resolver.js +54 -1
  15. package/dist/types.d.ts +38 -1
  16. package/dist/types.d.ts.map +1 -1
  17. package/package.json +7 -6
  18. package/skills/apple-reminders/SKILL.md +1 -1
  19. package/skills/blucli/SKILL.md +1 -1
  20. package/skills/bluebubbles/SKILL.md +1 -1
  21. package/skills/camsnap/SKILL.md +1 -1
  22. package/skills/canvas/SKILL.md +6 -6
  23. package/skills/coding-agent/SKILL.md +2 -2
  24. package/skills/eliza-app-development/SKILL.md +62 -0
  25. package/skills/eliza-app-development/references/repo-map.md +70 -0
  26. package/skills/eliza-app-development/references/runtime-and-cloud.md +61 -0
  27. package/skills/eliza-cloud/SKILL.md +39 -0
  28. package/skills/eliza-cloud/references/apps-and-containers.md +73 -0
  29. package/skills/eliza-cloud/references/cloud-backend-and-monetization.md +99 -0
  30. package/skills/elizaos/SKILL.md +27 -0
  31. package/skills/elizaos/references/core-abstractions.md +101 -0
  32. package/skills/elizaos/references/plugin-development.md +74 -0
  33. package/skills/github/SKILL.md +1 -1
  34. package/skills/imsg/SKILL.md +1 -1
  35. package/skills/nano-banana-pro/SKILL.md +1 -1
  36. package/skills/nano-pdf/SKILL.md +1 -1
  37. package/skills/notion/SKILL.md +1 -1
  38. package/skills/obsidian/SKILL.md +1 -1
  39. package/skills/ordercli/SKILL.md +1 -1
  40. package/skills/skill-creator/SKILL.md +1 -1
  41. package/skills/slack/SKILL.md +1 -1
  42. package/skills/spotify-player/SKILL.md +1 -1
  43. package/skills/tmux/SKILL.md +1 -1
  44. package/skills/trello/SKILL.md +1 -1
  45. package/skills/wacli/SKILL.md +1 -1
  46. package/skills/weather/SKILL.md +1 -1
  47. package/skills/yara-authoring/SKILL.md +111 -0
  48. package/skills/bear-notes/SKILL.md +0 -107
  49. package/skills/bird/SKILL.md +0 -224
  50. package/skills/blogwatcher/SKILL.md +0 -69
  51. package/skills/clawhub/SKILL.md +0 -77
  52. package/skills/eightctl/SKILL.md +0 -50
  53. package/skills/food-order/SKILL.md +0 -48
  54. package/skills/gemini/SKILL.md +0 -43
  55. package/skills/gifgrep/SKILL.md +0 -79
  56. package/skills/gog/SKILL.md +0 -116
  57. package/skills/goplaces/SKILL.md +0 -52
  58. package/skills/himalaya/SKILL.md +0 -257
  59. package/skills/himalaya/references/configuration.md +0 -184
  60. package/skills/himalaya/references/message-composition.md +0 -199
  61. package/skills/local-places/SERVER_README.md +0 -101
  62. package/skills/local-places/SKILL.md +0 -102
  63. package/skills/local-places/pyproject.toml +0 -21
  64. package/skills/local-places/src/local_places/__init__.py +0 -2
  65. package/skills/local-places/src/local_places/google_places.py +0 -314
  66. package/skills/local-places/src/local_places/main.py +0 -65
  67. package/skills/local-places/src/local_places/schemas.py +0 -107
  68. package/skills/mcporter/SKILL.md +0 -61
  69. package/skills/model-usage/SKILL.md +0 -69
  70. package/skills/model-usage/references/codexbar-cli.md +0 -33
  71. package/skills/model-usage/scripts/model_usage.py +0 -310
  72. package/skills/openai-image-gen/SKILL.md +0 -89
  73. package/skills/openai-image-gen/scripts/gen.py +0 -240
  74. package/skills/openai-whisper/SKILL.md +0 -38
  75. package/skills/openai-whisper-api/SKILL.md +0 -52
  76. package/skills/openai-whisper-api/scripts/transcribe.sh +0 -85
  77. package/skills/openhue/SKILL.md +0 -51
  78. package/skills/oracle/SKILL.md +0 -125
  79. package/skills/peekaboo/SKILL.md +0 -190
  80. package/skills/sag/SKILL.md +0 -87
  81. package/skills/session-logs/SKILL.md +0 -115
  82. package/skills/sharp-edges/.claude-plugin/plugin.json +0 -10
  83. package/skills/sharp-edges/README.md +0 -48
  84. package/skills/sharp-edges/SKILL.md +0 -292
  85. package/skills/sharp-edges/skills/sharp-edges/SKILL.md +0 -292
  86. package/skills/sharp-edges/skills/sharp-edges/references/auth-patterns.md +0 -252
  87. package/skills/sharp-edges/skills/sharp-edges/references/case-studies.md +0 -274
  88. package/skills/sharp-edges/skills/sharp-edges/references/config-patterns.md +0 -333
  89. package/skills/sharp-edges/skills/sharp-edges/references/crypto-apis.md +0 -190
  90. package/skills/sharp-edges/skills/sharp-edges/references/lang-c.md +0 -205
  91. package/skills/sharp-edges/skills/sharp-edges/references/lang-csharp.md +0 -285
  92. package/skills/sharp-edges/skills/sharp-edges/references/lang-go.md +0 -270
  93. package/skills/sharp-edges/skills/sharp-edges/references/lang-java.md +0 -263
  94. package/skills/sharp-edges/skills/sharp-edges/references/lang-javascript.md +0 -269
  95. package/skills/sharp-edges/skills/sharp-edges/references/lang-kotlin.md +0 -265
  96. package/skills/sharp-edges/skills/sharp-edges/references/lang-php.md +0 -245
  97. package/skills/sharp-edges/skills/sharp-edges/references/lang-python.md +0 -274
  98. package/skills/sharp-edges/skills/sharp-edges/references/lang-ruby.md +0 -273
  99. package/skills/sharp-edges/skills/sharp-edges/references/lang-rust.md +0 -272
  100. package/skills/sharp-edges/skills/sharp-edges/references/lang-swift.md +0 -287
  101. package/skills/sharp-edges/skills/sharp-edges/references/language-specific.md +0 -588
  102. package/skills/sherpa-onnx-tts/SKILL.md +0 -103
  103. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
  104. package/skills/songsee/SKILL.md +0 -49
  105. package/skills/sonoscli/SKILL.md +0 -46
  106. package/skills/spec-to-code-compliance/.claude-plugin/plugin.json +0 -10
  107. package/skills/spec-to-code-compliance/README.md +0 -67
  108. package/skills/spec-to-code-compliance/SKILL.md +0 -349
  109. package/skills/spec-to-code-compliance/commands/spec-compliance.md +0 -22
  110. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/SKILL.md +0 -349
  111. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/COMPLETENESS_CHECKLIST.md +0 -69
  112. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/IR_EXAMPLES.md +0 -417
  113. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/OUTPUT_REQUIREMENTS.md +0 -105
  114. package/skills/static-analysis/.claude-plugin/plugin.json +0 -8
  115. package/skills/static-analysis/README.md +0 -59
  116. package/skills/static-analysis/SKILL.md +0 -91
  117. package/skills/static-analysis/skills/codeql/SKILL.md +0 -315
  118. package/skills/static-analysis/skills/sarif-parsing/SKILL.md +0 -479
  119. package/skills/static-analysis/skills/sarif-parsing/resources/jq-queries.md +0 -162
  120. package/skills/static-analysis/skills/sarif-parsing/resources/sarif_helpers.py +0 -331
  121. package/skills/static-analysis/skills/semgrep/SKILL.md +0 -337
  122. package/skills/summarize/SKILL.md +0 -87
  123. package/skills/testing-handbook-skills/.claude-plugin/plugin.json +0 -8
  124. package/skills/testing-handbook-skills/README.md +0 -241
  125. package/skills/testing-handbook-skills/SKILL.md +0 -104
  126. package/skills/testing-handbook-skills/scripts/pyproject.toml +0 -8
  127. package/skills/testing-handbook-skills/scripts/validate-skills.py +0 -657
  128. package/skills/testing-handbook-skills/skills/address-sanitizer/SKILL.md +0 -341
  129. package/skills/testing-handbook-skills/skills/aflpp/SKILL.md +0 -640
  130. package/skills/testing-handbook-skills/skills/atheris/SKILL.md +0 -515
  131. package/skills/testing-handbook-skills/skills/cargo-fuzz/SKILL.md +0 -454
  132. package/skills/testing-handbook-skills/skills/codeql/SKILL.md +0 -549
  133. package/skills/testing-handbook-skills/skills/constant-time-testing/SKILL.md +0 -507
  134. package/skills/testing-handbook-skills/skills/coverage-analysis/SKILL.md +0 -607
  135. package/skills/testing-handbook-skills/skills/fuzzing-dictionary/SKILL.md +0 -297
  136. package/skills/testing-handbook-skills/skills/fuzzing-obstacles/SKILL.md +0 -426
  137. package/skills/testing-handbook-skills/skills/harness-writing/SKILL.md +0 -614
  138. package/skills/testing-handbook-skills/skills/libafl/SKILL.md +0 -625
  139. package/skills/testing-handbook-skills/skills/libfuzzer/SKILL.md +0 -795
  140. package/skills/testing-handbook-skills/skills/ossfuzz/SKILL.md +0 -426
  141. package/skills/testing-handbook-skills/skills/ruzzy/SKILL.md +0 -443
  142. package/skills/testing-handbook-skills/skills/semgrep/SKILL.md +0 -601
  143. package/skills/testing-handbook-skills/skills/testing-handbook-generator/SKILL.md +0 -372
  144. package/skills/testing-handbook-skills/skills/testing-handbook-generator/agent-prompt.md +0 -280
  145. package/skills/testing-handbook-skills/skills/testing-handbook-generator/discovery.md +0 -452
  146. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/domain-skill.md +0 -504
  147. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/fuzzer-skill.md +0 -454
  148. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/technique-skill.md +0 -527
  149. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/tool-skill.md +0 -366
  150. package/skills/testing-handbook-skills/skills/testing-handbook-generator/testing.md +0 -482
  151. package/skills/testing-handbook-skills/skills/wycheproof/SKILL.md +0 -533
  152. package/skills/video-frames/SKILL.md +0 -46
  153. package/skills/video-frames/scripts/frame.sh +0 -81
  154. package/skills/voice-call/SKILL.md +0 -45
@@ -1,43 +0,0 @@
1
- ---
2
- name: gemini
3
- description: Gemini CLI for one-shot Q&A, summaries, and generation.
4
- homepage: https://ai.google.dev/
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "♊️",
10
- "requires": { "bins": ["gemini"] },
11
- "install":
12
- [
13
- {
14
- "id": "brew",
15
- "kind": "brew",
16
- "formula": "gemini-cli",
17
- "bins": ["gemini"],
18
- "label": "Install Gemini CLI (brew)",
19
- },
20
- ],
21
- },
22
- }
23
- ---
24
-
25
- # Gemini CLI
26
-
27
- Use Gemini in one-shot mode with a positional prompt (avoid interactive mode).
28
-
29
- Quick start
30
-
31
- - `gemini "Answer this question..."`
32
- - `gemini --model <name> "Prompt..."`
33
- - `gemini --output-format json "Return JSON"`
34
-
35
- Extensions
36
-
37
- - List: `gemini --list-extensions`
38
- - Manage: `gemini extensions <command>`
39
-
40
- Notes
41
-
42
- - If auth is required, run `gemini` once interactively and follow the login flow.
43
- - Avoid `--yolo` for safety.
@@ -1,79 +0,0 @@
1
- ---
2
- name: gifgrep
3
- description: Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
4
- homepage: https://gifgrep.com
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "🧲",
10
- "requires": { "bins": ["gifgrep"] },
11
- "install":
12
- [
13
- {
14
- "id": "brew",
15
- "kind": "brew",
16
- "formula": "steipete/tap/gifgrep",
17
- "bins": ["gifgrep"],
18
- "label": "Install gifgrep (brew)",
19
- },
20
- {
21
- "id": "go",
22
- "kind": "go",
23
- "module": "github.com/steipete/gifgrep/cmd/gifgrep@latest",
24
- "bins": ["gifgrep"],
25
- "label": "Install gifgrep (go)",
26
- },
27
- ],
28
- },
29
- }
30
- ---
31
-
32
- # gifgrep
33
-
34
- Use `gifgrep` to search GIF providers (Tenor/Giphy), browse in a TUI, download results, and extract stills or sheets.
35
-
36
- GIF-Grab (gifgrep workflow)
37
-
38
- - Search → preview → download → extract (still/sheet) for fast review and sharing.
39
-
40
- Quick start
41
-
42
- - `gifgrep cats --max 5`
43
- - `gifgrep cats --format url | head -n 5`
44
- - `gifgrep search --json cats | jq '.[0].url'`
45
- - `gifgrep tui "office handshake"`
46
- - `gifgrep cats --download --max 1 --format url`
47
-
48
- TUI + previews
49
-
50
- - TUI: `gifgrep tui "query"`
51
- - CLI still previews: `--thumbs` (Kitty/Ghostty only; still frame)
52
-
53
- Download + reveal
54
-
55
- - `--download` saves to `~/Downloads`
56
- - `--reveal` shows the last download in Finder
57
-
58
- Stills + sheets
59
-
60
- - `gifgrep still ./clip.gif --at 1.5s -o still.png`
61
- - `gifgrep sheet ./clip.gif --frames 9 --cols 3 -o sheet.png`
62
- - Sheets = single PNG grid of sampled frames (great for quick review, docs, PRs, chat).
63
- - Tune: `--frames` (count), `--cols` (grid width), `--padding` (spacing).
64
-
65
- Providers
66
-
67
- - `--source auto|tenor|giphy`
68
- - `GIPHY_API_KEY` required for `--source giphy`
69
- - `TENOR_API_KEY` optional (Tenor demo key used if unset)
70
-
71
- Output
72
-
73
- - `--json` prints an array of results (`id`, `title`, `url`, `preview_url`, `tags`, `width`, `height`)
74
- - `--format` for pipe-friendly fields (e.g., `url`)
75
-
76
- Environment tweaks
77
-
78
- - `GIFGREP_SOFTWARE_ANIM=1` to force software animation
79
- - `GIFGREP_CELL_ASPECT=0.5` to tweak preview geometry
@@ -1,116 +0,0 @@
1
- ---
2
- name: gog
3
- description: Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
4
- homepage: https://gogcli.sh
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "🎮",
10
- "requires": { "bins": ["gog"] },
11
- "install":
12
- [
13
- {
14
- "id": "brew",
15
- "kind": "brew",
16
- "formula": "steipete/tap/gogcli",
17
- "bins": ["gog"],
18
- "label": "Install gog (brew)",
19
- },
20
- ],
21
- },
22
- }
23
- ---
24
-
25
- # gog
26
-
27
- Use `gog` for Gmail/Calendar/Drive/Contacts/Sheets/Docs. Requires OAuth setup.
28
-
29
- Setup (once)
30
-
31
- - `gog auth credentials /path/to/client_secret.json`
32
- - `gog auth add you@gmail.com --services gmail,calendar,drive,contacts,docs,sheets`
33
- - `gog auth list`
34
-
35
- Common commands
36
-
37
- - Gmail search: `gog gmail search 'newer_than:7d' --max 10`
38
- - Gmail messages search (per email, ignores threading): `gog gmail messages search "in:inbox from:ryanair.com" --max 20 --account you@example.com`
39
- - Gmail send (plain): `gog gmail send --to a@b.com --subject "Hi" --body "Hello"`
40
- - Gmail send (multi-line): `gog gmail send --to a@b.com --subject "Hi" --body-file ./message.txt`
41
- - Gmail send (stdin): `gog gmail send --to a@b.com --subject "Hi" --body-file -`
42
- - Gmail send (HTML): `gog gmail send --to a@b.com --subject "Hi" --body-html "<p>Hello</p>"`
43
- - Gmail draft: `gog gmail drafts create --to a@b.com --subject "Hi" --body-file ./message.txt`
44
- - Gmail send draft: `gog gmail drafts send <draftId>`
45
- - Gmail reply: `gog gmail send --to a@b.com --subject "Re: Hi" --body "Reply" --reply-to-message-id <msgId>`
46
- - Calendar list events: `gog calendar events <calendarId> --from <iso> --to <iso>`
47
- - Calendar create event: `gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso>`
48
- - Calendar create with color: `gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso> --event-color 7`
49
- - Calendar update event: `gog calendar update <calendarId> <eventId> --summary "New Title" --event-color 4`
50
- - Calendar show colors: `gog calendar colors`
51
- - Drive search: `gog drive search "query" --max 10`
52
- - Contacts: `gog contacts list --max 20`
53
- - Sheets get: `gog sheets get <sheetId> "Tab!A1:D10" --json`
54
- - Sheets update: `gog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTERED`
55
- - Sheets append: `gog sheets append <sheetId> "Tab!A:C" --values-json '[["x","y","z"]]' --insert INSERT_ROWS`
56
- - Sheets clear: `gog sheets clear <sheetId> "Tab!A2:Z"`
57
- - Sheets metadata: `gog sheets metadata <sheetId> --json`
58
- - Docs export: `gog docs export <docId> --format txt --out /tmp/doc.txt`
59
- - Docs cat: `gog docs cat <docId>`
60
-
61
- Calendar Colors
62
-
63
- - Use `gog calendar colors` to see all available event colors (IDs 1-11)
64
- - Add colors to events with `--event-color <id>` flag
65
- - Event color IDs (from `gog calendar colors` output):
66
- - 1: #a4bdfc
67
- - 2: #7ae7bf
68
- - 3: #dbadff
69
- - 4: #ff887c
70
- - 5: #fbd75b
71
- - 6: #ffb878
72
- - 7: #46d6db
73
- - 8: #e1e1e1
74
- - 9: #5484ed
75
- - 10: #51b749
76
- - 11: #dc2127
77
-
78
- Email Formatting
79
-
80
- - Prefer plain text. Use `--body-file` for multi-paragraph messages (or `--body-file -` for stdin).
81
- - Same `--body-file` pattern works for drafts and replies.
82
- - `--body` does not unescape `\n`. If you need inline newlines, use a heredoc or `$'Line 1\n\nLine 2'`.
83
- - Use `--body-html` only when you need rich formatting.
84
- - HTML tags: `<p>` for paragraphs, `<br>` for line breaks, `<strong>` for bold, `<em>` for italic, `<a href="url">` for links, `<ul>`/`<li>` for lists.
85
- - Example (plain text via stdin):
86
-
87
- ```bash
88
- gog gmail send --to recipient@example.com \
89
- --subject "Meeting Follow-up" \
90
- --body-file - <<'EOF'
91
- Hi Name,
92
-
93
- Thanks for meeting today. Next steps:
94
- - Item one
95
- - Item two
96
-
97
- Best regards,
98
- Your Name
99
- EOF
100
- ```
101
-
102
- - Example (HTML list):
103
- ```bash
104
- gog gmail send --to recipient@example.com \
105
- --subject "Meeting Follow-up" \
106
- --body-html "<p>Hi Name,</p><p>Thanks for meeting today. Here are the next steps:</p><ul><li>Item one</li><li>Item two</li></ul><p>Best regards,<br>Your Name</p>"
107
- ```
108
-
109
- Notes
110
-
111
- - Set `GOG_ACCOUNT=you@gmail.com` to avoid repeating `--account`.
112
- - For scripting, prefer `--json` plus `--no-input`.
113
- - Sheets values can be passed via `--values-json` (recommended) or as inline rows.
114
- - Docs supports export/cat/copy. In-place edits require a Docs API client (not in gog).
115
- - Confirm before sending mail or creating events.
116
- - `gog gmail search` returns one row per thread; use `gog gmail messages search` when you need every individual email returned separately.
@@ -1,52 +0,0 @@
1
- ---
2
- name: goplaces
3
- description: Query Google Places API (New) via the goplaces CLI for text search, place details, resolve, and reviews. Use for human-friendly place lookup or JSON output for scripts.
4
- homepage: https://github.com/steipete/goplaces
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "📍",
10
- "requires": { "bins": ["goplaces"], "env": ["GOOGLE_PLACES_API_KEY"] },
11
- "primaryEnv": "GOOGLE_PLACES_API_KEY",
12
- "install":
13
- [
14
- {
15
- "id": "brew",
16
- "kind": "brew",
17
- "formula": "steipete/tap/goplaces",
18
- "bins": ["goplaces"],
19
- "label": "Install goplaces (brew)",
20
- },
21
- ],
22
- },
23
- }
24
- ---
25
-
26
- # goplaces
27
-
28
- Modern Google Places API (New) CLI. Human output by default, `--json` for scripts.
29
-
30
- Install
31
-
32
- - Homebrew: `brew install steipete/tap/goplaces`
33
-
34
- Config
35
-
36
- - `GOOGLE_PLACES_API_KEY` required.
37
- - Optional: `GOOGLE_PLACES_BASE_URL` for testing/proxying.
38
-
39
- Common commands
40
-
41
- - Search: `goplaces search "coffee" --open-now --min-rating 4 --limit 5`
42
- - Bias: `goplaces search "pizza" --lat 40.8 --lng -73.9 --radius-m 3000`
43
- - Pagination: `goplaces search "pizza" --page-token "NEXT_PAGE_TOKEN"`
44
- - Resolve: `goplaces resolve "Soho, London" --limit 5`
45
- - Details: `goplaces details <place_id> --reviews`
46
- - JSON: `goplaces search "sushi" --json`
47
-
48
- Notes
49
-
50
- - `--no-color` or `NO_COLOR` disables ANSI color.
51
- - Price levels: 0..4 (free → very expensive).
52
- - Type filter sends only the first `--type` value (API accepts one).
@@ -1,257 +0,0 @@
1
- ---
2
- name: himalaya
3
- description: "CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language)."
4
- homepage: https://github.com/pimalaya/himalaya
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "📧",
10
- "requires": { "bins": ["himalaya"] },
11
- "install":
12
- [
13
- {
14
- "id": "brew",
15
- "kind": "brew",
16
- "formula": "himalaya",
17
- "bins": ["himalaya"],
18
- "label": "Install Himalaya (brew)",
19
- },
20
- ],
21
- },
22
- }
23
- ---
24
-
25
- # Himalaya Email CLI
26
-
27
- Himalaya is a CLI email client that lets you manage emails from the terminal using IMAP, SMTP, Notmuch, or Sendmail backends.
28
-
29
- ## References
30
-
31
- - `references/configuration.md` (config file setup + IMAP/SMTP authentication)
32
- - `references/message-composition.md` (MML syntax for composing emails)
33
-
34
- ## Prerequisites
35
-
36
- 1. Himalaya CLI installed (`himalaya --version` to verify)
37
- 2. A configuration file at `~/.config/himalaya/config.toml`
38
- 3. IMAP/SMTP credentials configured (password stored securely)
39
-
40
- ## Configuration Setup
41
-
42
- Run the interactive wizard to set up an account:
43
-
44
- ```bash
45
- himalaya account configure
46
- ```
47
-
48
- Or create `~/.config/himalaya/config.toml` manually:
49
-
50
- ```toml
51
- [accounts.personal]
52
- email = "you@example.com"
53
- display-name = "Your Name"
54
- default = true
55
-
56
- backend.type = "imap"
57
- backend.host = "imap.example.com"
58
- backend.port = 993
59
- backend.encryption.type = "tls"
60
- backend.login = "you@example.com"
61
- backend.auth.type = "password"
62
- backend.auth.cmd = "pass show email/imap" # or use keyring
63
-
64
- message.send.backend.type = "smtp"
65
- message.send.backend.host = "smtp.example.com"
66
- message.send.backend.port = 587
67
- message.send.backend.encryption.type = "start-tls"
68
- message.send.backend.login = "you@example.com"
69
- message.send.backend.auth.type = "password"
70
- message.send.backend.auth.cmd = "pass show email/smtp"
71
- ```
72
-
73
- ## Common Operations
74
-
75
- ### List Folders
76
-
77
- ```bash
78
- himalaya folder list
79
- ```
80
-
81
- ### List Emails
82
-
83
- List emails in INBOX (default):
84
-
85
- ```bash
86
- himalaya envelope list
87
- ```
88
-
89
- List emails in a specific folder:
90
-
91
- ```bash
92
- himalaya envelope list --folder "Sent"
93
- ```
94
-
95
- List with pagination:
96
-
97
- ```bash
98
- himalaya envelope list --page 1 --page-size 20
99
- ```
100
-
101
- ### Search Emails
102
-
103
- ```bash
104
- himalaya envelope list from john@example.com subject meeting
105
- ```
106
-
107
- ### Read an Email
108
-
109
- Read email by ID (shows plain text):
110
-
111
- ```bash
112
- himalaya message read 42
113
- ```
114
-
115
- Export raw MIME:
116
-
117
- ```bash
118
- himalaya message export 42 --full
119
- ```
120
-
121
- ### Reply to an Email
122
-
123
- Interactive reply (opens $EDITOR):
124
-
125
- ```bash
126
- himalaya message reply 42
127
- ```
128
-
129
- Reply-all:
130
-
131
- ```bash
132
- himalaya message reply 42 --all
133
- ```
134
-
135
- ### Forward an Email
136
-
137
- ```bash
138
- himalaya message forward 42
139
- ```
140
-
141
- ### Write a New Email
142
-
143
- Interactive compose (opens $EDITOR):
144
-
145
- ```bash
146
- himalaya message write
147
- ```
148
-
149
- Send directly using template:
150
-
151
- ```bash
152
- cat << 'EOF' | himalaya template send
153
- From: you@example.com
154
- To: recipient@example.com
155
- Subject: Test Message
156
-
157
- Hello from Himalaya!
158
- EOF
159
- ```
160
-
161
- Or with headers flag:
162
-
163
- ```bash
164
- himalaya message write -H "To:recipient@example.com" -H "Subject:Test" "Message body here"
165
- ```
166
-
167
- ### Move/Copy Emails
168
-
169
- Move to folder:
170
-
171
- ```bash
172
- himalaya message move 42 "Archive"
173
- ```
174
-
175
- Copy to folder:
176
-
177
- ```bash
178
- himalaya message copy 42 "Important"
179
- ```
180
-
181
- ### Delete an Email
182
-
183
- ```bash
184
- himalaya message delete 42
185
- ```
186
-
187
- ### Manage Flags
188
-
189
- Add flag:
190
-
191
- ```bash
192
- himalaya flag add 42 --flag seen
193
- ```
194
-
195
- Remove flag:
196
-
197
- ```bash
198
- himalaya flag remove 42 --flag seen
199
- ```
200
-
201
- ## Multiple Accounts
202
-
203
- List accounts:
204
-
205
- ```bash
206
- himalaya account list
207
- ```
208
-
209
- Use a specific account:
210
-
211
- ```bash
212
- himalaya --account work envelope list
213
- ```
214
-
215
- ## Attachments
216
-
217
- Save attachments from a message:
218
-
219
- ```bash
220
- himalaya attachment download 42
221
- ```
222
-
223
- Save to specific directory:
224
-
225
- ```bash
226
- himalaya attachment download 42 --dir ~/Downloads
227
- ```
228
-
229
- ## Output Formats
230
-
231
- Most commands support `--output` for structured output:
232
-
233
- ```bash
234
- himalaya envelope list --output json
235
- himalaya envelope list --output plain
236
- ```
237
-
238
- ## Debugging
239
-
240
- Enable debug logging:
241
-
242
- ```bash
243
- RUST_LOG=debug himalaya envelope list
244
- ```
245
-
246
- Full trace with backtrace:
247
-
248
- ```bash
249
- RUST_LOG=trace RUST_BACKTRACE=1 himalaya envelope list
250
- ```
251
-
252
- ## Tips
253
-
254
- - Use `himalaya --help` or `himalaya <command> --help` for detailed usage.
255
- - Message IDs are relative to the current folder; re-list after folder changes.
256
- - For composing rich emails with attachments, use MML syntax (see `references/message-composition.md`).
257
- - Store passwords securely using `pass`, system keyring, or a command that outputs the password.