cd /news/ai-tools/show-hn-livecomment-who-is-hiring-pl… · home topics ai-tools article
[ARTICLE · art-21034] src=github.com ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Show HN: LiveComment – "Who Is Hiring?" Plugin

LiveComment, a new open-source web framework that turns a code repository into a live-editable tree with plugins, launched on Hacker News. The tool uses Express and Socket.IO to sync a file system browser with a local server, offering features like drag-and-drop navigation, a Monaco editor, and AI-assisted code context. A dedicated "Who Is Hiring?" plugin pulls job listings from Hacker News directly into the tree, targeting developers who need grounded file context for large codebases.

read4 min views19 publishedJun 4, 2026

A small web framework around your repo: Express serves the UI, Socket.IO keeps the tree in sync, and plugins extend the browser with the same //:=frame('client.exec')

story on client and server. Your code stays center stage. Built for fast navigation, live reload, and AI-assisted work (one surface for you, your editor, and tools).

  • Minimal core, strong plugin story with live reload (plugins/0/…

) Same code for client and server where you want it — e.g.//:=frame('client.exec')

Auto ports: if HTTP or WebSocket ports are taken, the next free ones are used (see console)- Optional VSCode/monaco for code blocks (themes, line modes, fit height) — pluginD000-monaco-editor.js

Drag–drop scopes and nodes, safer path paste —C000-drag-drop-content.js

Color tags on nodes, persisted locally, filter/hide by color —F000-color-buttons.js

  • Multilanguage highlighting, file watch, code navigator

  • For 80/20 developers who live in the tree

  • Code navigator, refactor-friendly structure

  • Local “cloud IDE” extension: browser + your disk

  • Brain helper for big codebases — and for models that need grounded file context

Extensions in plugins/0/

(live reload). With the server running, open http://localhost:3070/plugins to browse plugins in the tree. Index:

0000 Initplugins/0/0000-init.jsA000 Routeplugins/0/A000-route.jsB000 URL iframe previewplugins/0/B000-url-iframe-preview.jsC000 Drag-drop contentplugins/0/C000-drag-drop-content.jsD000 Monaco editorplugins/0/D000-monaco-editor.jsE000 Enable-disableplugins/0/E000-enable-disable.jsF000 Color buttonsplugins/0/F000-color-buttons.jsG000 Rulerplugins/0/G000-ruler.jsI000 AIplugins/0/I000-ai.jsI001 Export treeplugins/0/I001-export-tree.jsJ001 HN Firebase plugin — Ask HN: Who is hiring?plugins/0/J001-hn-firebase.js

plugins/0/0000-init.js — Client and server bootstrap (client.exec

/ server.exec

); registers client.css

frame for scoped <style>

tags; default menu and scope styling.

plugins/0/A000-route.js — Server routes /b

, /c

, /plugins

; filterRoute

rewrites *HIDE*

nodes and *TEST_HOSTNAME*

placeholders; ?queryHash=plugins_only

limits the tree to plugins/0/

.

plugins/0/B000-url-iframe-preview.jsPreview button on highlighted links in code blocks; toggles an inline iframe (sites with X-Frame-Options

may not embed).

plugins/0/C000-drag-drop-content.js — Drag scope names and node names from the tree; drop into editors or paste paths (basenames for local files, full URL for http(s)

).

plugins/0/D000-monaco-editor.js — Monaco / VS Code editor for code blocks (CDN); language mapping, themes, line-number modes, fit-to-content height.

plugins/0/E000-enable-disable.js — Toggle nodes on/off in the tree (persisted in localStorage

); undo/redo; export enabled or disabled outline from the menu.

plugins/0/F000-color-buttons.js — Twelve color tags per node (stored locally); filter or hide by color; reading-line scroll offset below the menu.

plugins/0/G000-ruler.js — Log-scale ruler widgets on nodes via //:=frame('ruler')

JSON config; markers, cursor, pan/zoom; visibility persisted per ruler.

plugins/0/I000-ai.jsAI menu button (placeholder for future AI actions).

plugins/0/I001-export-tree.jsExport menu button: MainView tree → livecomment block syntax per scope; preview, copy, single or multi-file download, optional ZIP.

plugins/0/J001-hn-firebase.js — Loads the monthly (Ask HN: Who is hiring? (June)) thread through the HN Firebase API, builds a nested LiveComment tree (comments → nodes, jobs → segment text) and decorates job lines with location hints (country flags, remote / on-site). Hiring HN menu button shows fetch progress while the thread loads.

$ npm install -g livecomment

Livecomment current directory Scan for files contains livecomment blocks # PYTHON-BLOCK [

or // C-BLOCK [

$ livecomment
js
// Import LiveComment module

var LiveComment = require('livecomment');

// Define options (defaults: livecomment/config/config.js)

var options = {
  port: 3070,
  ws_port: 3071,
  dangerousCodeExecution: ['client', 'server'], // for plugins
  debug: 1,
  common: {
    ignore: [
      /^node_modules.*/,
      /^\.idea.*/,
      /^\.svn.*/,
      /^\.git.*/
    ]
  },
  paths: [
    '/path/to/dir/',
    // === or ===
    {
      '/path/to/dir1': {
        ignore: [
          /.*dist.*/
        ]
      }
    }
  ]
};

// Start server

var livecomment = new LiveComment(options);

If a configured port is already in use, you will see a line like HTTP port 3070 in use, using 3071

(and similarly for the WebSocket port). Default case:

=== LiveComment Configuration ===
Server Settings:

EXE.ONFRAME [server.exec][][frame] function
Scan files [
/path/to/dir/livecomment [
/path/to/dir/livecomment ]
Scan files ]
Watch for changes [
 /path/to/dir/livecomment
 /path/to/dir/livecomment/bin
 /path/to/dir/livecomment/config
 /path/to/dir/livecomment/plugins
 /path/to/dir/livecomment/public/css
 /path/to/dir/livecomment/public/js
 /path/to/dir/livecomment/views
Watch for changes ]
✔ socket.io server listening on port 3071
✔ Express server listening on port 3070 in development mode
/path/to/dir/livecomment/bin/index-debug.js javascript
EXE.EMIT [this][CHECK FORMAT][mount] undefined CHECK FORMAT
EXE.EMIT [this][SUPPORT FORMATS][mount] undefined SUPPORT FORMATS
/path/to/dir/livecomment/config/config.js javascript
EXE.EMIT [this][DEFAULT CONFIG][mount] undefined DEFAULT CONFIG
/path/to/dir/livecomment/livecomment.js javascript
...

(Order of the two

lines can vary slightly. If ports clash, the printed numbers match the chosen ports.)

Archive README-old.md.

BTC 💰 18Bth1u3pSJzPrCf21tx1F6iSzA2fgKdfU

SOL Solana 💰 9gLVQr97baX3KrG9DyaUDd5FwXaiLcDuU6CK5RCNMnWu

ETH Ethereum 💰 0x072c709a8Ad95Fc182e0E2EEF834C3d944122f0b

USDT Ethereum 💰 0x072c709a8Ad95Fc182e0E2EEF834C3d944122f0b

DOGE Dogecoin 💰 DJP8425i4sGT4tSEXwEDRPJb4vJBGroJs6

LTC Litecoin 💰 ltc1q69gg9udgqnky60n7mfzfaj0w7lu80ujx6fysly

TRX Tron 💰 TLjkoQfnu7aRRbVRkEYN1vZPzW7ntuM4tn

── more in #ai-tools 4 stories · sorted by recency
── more on @express 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-livecomment-…] indexed:0 read:4min 2026-06-04 ·