{
 "built": "2026-10-22",
 "updated": "2026-10-22",
 "starsChanged": "2026-10-21",
 "nerdVersions": [
  "0.15.0",
  "0.8.0",
  "0.7.0"
 ],
 "plugins": [
  {
   "name": "peek",
   "title": "Peek",
   "summary": "Previews for files nerd would otherwise show as binary or raw.",
   "url": "https://github.com/nerdterm/nerd-plugin-peek",
   "author": "nerdterm",
   "official": true,
   "featured": false,
   "version": "1.0.1",
   "tag": "v1.0.1",
   "commit": "aa45e036aa8c0d2b41139e6d924e5a3d13468d76",
   "unavailable": false,
   "notes": [],
   "risk": 0,
   "review": "checked",
   "licence": "MIT",
   "stars": 0,
   "gain7": 0,
   "gain30": 0,
   "gain90": 0,
   "gainSince": {
    "7": "2026-10-21",
    "30": "2026-10-21",
    "90": "2026-10-21"
   },
   "stars30": [
    0,
    0
   ],
   "stars30From": "2026-10-21",
   "kinds": [
    "previews"
   ],
   "types": [
    ".db",
    ".sqlite",
    ".sqlite3",
    ".zip",
    ".whl",
    ".jar",
    ".tar",
    ".tgz",
    ".gz",
    ".ipynb",
    ".plist",
    ".pem",
    ".crt",
    ".cer",
    ".xlsx"
   ],
   "abilities": [
    "Runs /bin/sh",
    "Learns which .db, .sqlite, .sqlite3, .zip, .whl, .jar, .tar, .tgz, .gz, .ipynb, .plist, .pem, .crt, .cer, .xlsx files you select, and reads them"
   ],
   "platforms": [],
   "can": {
    "shows": "Previews of .db, .sqlite, .sqlite3, .zip, .whl, .jar, .tar, .tgz, .gz, .ipynb, .plist, .pem, .crt, .cer, .xlsx files",
    "files": null,
    "network": null,
    "agent": null
   },
   "min_nerd": "0.7.0",
   "lastCommit": "2026-10-21",
   "added": "2026-10-17",
   "updated": "2026-10-17",
   "versions": [
    {
     "tag": "v1.0.1",
     "commit": "aa45e036aa8c0d2b41139e6d924e5a3d13468d76",
     "mark": "checked",
     "risk": 0,
     "date": "2026-10-17",
     "pr": "https://github.com/nerdterm/nerd-plugins/pull/10",
     "perm": "First release in the catalog.",
     "widened": false,
     "diff": null
    }
   ],
   "readme": "<h2>peek</h2>\n<p>A plugin for <a href=\"https://github.com/nerdterm/nerd\" rel=\"nofollow noopener\">nerd</a>: previews for files nerd would otherwise show as binary or raw. Select one in the tree and the preview shows:</p>\n<div class=\"table\"><table><thead><tr><th>File</th><th>Preview</th></tr></thead><tbody><tr><td>SQLite (<code>.db</code>, <code>.sqlite</code>, <code>.sqlite3</code>)</td><td>the tables and views (the first 50), each with its row count, its schema and its first 20 rows</td></tr><tr><td>Archives (<code>.zip</code>, <code>.whl</code>, <code>.jar</code>, <code>.tar</code>, <code>.tgz</code>, <code>.tar.gz</code>)</td><td>the files inside and their sizes; nothing is extracted</td></tr><tr><td>A <code>.gz</code> that is not a tar</td><td>that it is a gzip file, and its size</td></tr><tr><td>Jupyter notebooks (<code>.ipynb</code>)</td><td>the cells in order, with their text outputs; images and HTML as a note</td></tr><tr><td>Property lists (<code>.plist</code>, XML or binary)</td><td>keys and values</td></tr><tr><td>Certificates (<code>.pem</code>, <code>.crt</code>, <code>.cer</code>, PEM or DER)</td><td>each certificate&#39;s subject, issuer, validity and SHA-256 fingerprint; a private key in the file is never shown</td></tr><tr><td>Excel workbooks (<code>.xlsx</code>)</td><td>each sheet by name, its first 50 rows of 20 columns; formulas are not evaluated, their saved values are shown</td></tr></tbody></table></div>\n<p>Risk level 0: it only shows things. It has no network and writes nothing outside its own data folder. A database is opened read only and immutable, so nothing is written beside it, and with sqlite3&#39;s <code>-safe</code>, so nothing in it can read or write another file. Immutable also means a database another program is writing in WAL mode shows what its main file holds, without the newest changes. Each program it runs is stopped after 3 seconds, a whole preview after 8 seconds (it says so). Selecting another file stops the one before; the program it was running stops within 3 seconds. A notebook over 32 MB is not read.</p>\n<p><code>demo.cast</code> is a recording of it (asciinema), made with sample files.</p>\n<h3>Install</h3>\n<p>In nerd: <strong>Plugins…</strong> in the main menu, then <strong>peek</strong>. Or in a terminal:</p>\n<pre><code>nerd --plugin-add https://github.com/nerdterm/nerd-plugin-peek</code></pre>\n<h3>Requirements</h3>\n<p>nerd 0.7.0 or later, and macOS 15 or later (for <code>/usr/bin/jq</code>). It uses only programs that come with macOS: <code>sqlite3</code>, <code>unzip</code>, <code>tar</code>, <code>gzip</code>, <code>plutil</code>, <code>openssl</code>, <code>awk</code>, <code>perl</code>.</p>\n<h3>Development</h3>\n<p><code>sh test/test.sh</code> builds sample files of every kind, previews each through a stand-in for nerd&#39;s socket and checks the result. <code>nerd --plugin-check --catalog .</code> and <code>nerd --plugin-trial .</code> check the plugin as the catalog will.</p>\n<h3>Licence</h3>\n<p>MIT, see LICENSE.</p>",
   "cast": {
    "width": 120,
    "height": 33,
    "duration": 11.495578,
    "v": "a859da06f1"
   },
   "revoked": null
  },
  {
   "name": "sessions",
   "title": "Sessions",
   "summary": "Read your Claude Code and Codex sessions without leaving the terminal.",
   "url": "https://github.com/nerdterm/nerd-plugin-sessions",
   "author": "nerdterm",
   "official": true,
   "featured": false,
   "version": "1.0.0",
   "tag": "v1.0.0",
   "commit": "7352ae4895313fa723ca4faa47c556bc99ea7e9b",
   "unavailable": false,
   "notes": [],
   "risk": 0,
   "review": "checked",
   "licence": "MIT",
   "stars": 0,
   "gain7": 0,
   "gain30": 0,
   "gain90": 0,
   "gainSince": {
    "7": "2026-10-21",
    "30": "2026-10-21",
    "90": "2026-10-21"
   },
   "stars30": [
    0,
    0
   ],
   "stars30From": "2026-10-21",
   "kinds": [
    "previews",
    "panels"
   ],
   "types": [
    ".jsonl",
    ".ndjson"
   ],
   "abilities": [
    "Runs /bin/sh",
    "Opens panels of its own",
    "Learns the folder each pane opens in",
    "Learns which folder each pane is in, as it changes",
    "Learns which .jsonl, .ndjson files you select, and reads them"
   ],
   "platforms": [],
   "can": {
    "shows": "Previews of .jsonl, .ndjson files and panels of its own",
    "files": null,
    "network": null,
    "agent": null
   },
   "min_nerd": "0.8.0",
   "lastCommit": "2026-10-21",
   "added": "2026-10-17",
   "updated": "2026-10-17",
   "versions": [
    {
     "tag": "v1.0.0",
     "commit": "7352ae4895313fa723ca4faa47c556bc99ea7e9b",
     "mark": "checked",
     "risk": 0,
     "date": "2026-10-17",
     "pr": "https://github.com/nerdterm/nerd-plugins/pull/9",
     "perm": "First release in the catalog.",
     "widened": false,
     "diff": null
    }
   ],
   "readme": "<h2>sessions</h2>\n<p>A plugin for <a href=\"https://github.com/nerdterm/nerd\" rel=\"nofollow noopener\">nerd</a>: read your Claude Code and Codex sessions without leaving the terminal.</p>\n<ul><li><strong>Sessions…</strong> in a pane&#39;s menu lists the sessions started in that pane&#39;s folder or below it, newest first, with the agent, the git branch, how long ago and its size. Click one to read it in the same panel; <strong>Back to the sessions</strong> returns to the list.</li><li>Selecting a <code>.jsonl</code> or <code>.ndjson</code> file in the tree previews it: a session as a conversation, any other file as a table, a column per field, when its records are objects. <strong>v</strong> (or <strong>Next view</strong> in the tree&#39;s menu) switches to <strong>Records</strong>, one record a line as it is written, and back; the view you chose stays for the next file. <strong>w</strong> wraps long lines.</li></ul>\n<p>A session reads as a conversation: your prompts under <strong>You</strong>, the agent&#39;s answers under its name, each tool call on one muted line (<code>Bash: cargo test</code>) with the first line of its result under it. The agent&#39;s thinking is not shown, and what the agent&#39;s tool put into the conversation itself (skills, summaries of earlier context) is one faint line, not your prompt. Past 2000 lines, the newest 2000 are shown, and the view says so.</p>\n<p>Risk level 0: it only shows things. It has no network and writes nothing outside its own data folder. Sessions can hold whatever you pasted into them; this plugin draws them on your screen and nowhere else, with one exception: to open the list fast it keeps, in its data folder (<code>sessions.tsv</code>), each session it has listed: folder, branch, title, and the first and latest prompt cut to 80 characters, without control characters. That includes every Codex session on the machine, whatever the pane&#39;s folder. A row is dropped the next time the list is opened after its session file is gone; until then it stays, and it stays when the plugin is removed without its data (<code>nerd --plugin-remove sessions --data</code> deletes it). While an answer is being sent it is also a file in <code>out/</code>, removed once sent.</p>\n<p><code>demo.cast</code> is a recording of it (asciinema), made with synthetic sessions.</p>\n<h3>Install</h3>\n<p>In nerd: <strong>Plugins…</strong> in the main menu, then <strong>sessions</strong>. Or in a terminal:</p>\n<pre><code>nerd --plugin-add https://github.com/nerdterm/nerd-plugin-sessions</code></pre>\n<h3>Requirements</h3>\n<ul><li>nerd 0.8.0 or later.</li><li>macOS 15 or later, for <code>/usr/bin/jq</code>. On an older macOS the plugin says so instead of showing sessions.</li><li>Sessions in the default places: <code>~/.claude/projects</code> and <code>~/.codex/sessions</code>. A <code>CLAUDE_CONFIG_DIR</code> or <code>CODEX_HOME</code> set elsewhere is not seen: nerd does not pass those variables to plugins.</li></ul>\n<h3>Development</h3>\n<p><code>sh test/test.sh</code> renders the fixtures in <code>test/fixtures</code> and checks the result; it needs <code>jq</code>. <code>sh test/protocol.sh</code> runs the plugin against a stand-in for nerd&#39;s socket (macOS). <code>nerd --plugin-check --catalog .</code> and <code>nerd --plugin-trial .</code> check the plugin as the catalog will.</p>\n<h3>Licence</h3>\n<p>MIT, see LICENSE.</p>",
   "cast": {
    "width": 120,
    "height": 33,
    "duration": 17.2956,
    "v": "65accb1f8a"
   },
   "revoked": null
  }
 ]
}
