惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
博客园 - 司徒正美
博客园 - 【当耐特】
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
宝玉的分享
宝玉的分享
V
V2EX
S
SegmentFault 最新的问题
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
Martin Fowler
Martin Fowler
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
L
LangChain Blog
D
Docker
腾讯CDC

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - molefrog/lilmd: Agent-friendly CLI for reading l...
molefrog · 2026-04-25 · via Hacker News: Show HN

lilmd logo

lilmd - Markdown as a Database for Agents

lilmd is a CLI for working with large MD files designed for agents.

Wait, but why? Agent knowledge, docs, memory keeps growing. lilmd allows you to dump it all in one file and effeciently read/write/navigate its contents.

Features:

  • fast navigation, complex read selectors, link extraction
  • complex section selectors
  • designed to save as much context as possible
  • can write, append, remove entire sections
  • can run in Node/Bun
  • optimized for speed
  • can be used by humans and agents
  • uses Bun as tooling: to test, control deps etc.

Install

# global install
> npm i -g lilmd

# or run without installing
> npx lilmd file.md
> bunx lilmd file.md

Help

# start here!
# both commands print short documentation for the agent
> lilmd
> lilmd --help

Overview & table of contents

First, the agent gets file overview and table of contents.

# renders toc + stats; line ranges are inclusive, 1-indexed
# --depth=N to limit nesting, --flat for a flat list
> lilmd file.md

file.md  L1-450  12 headings
# lilmd                     L1-450
  ## Getting Started        L5-80
    ### Installation        L31-80
  ## Community              L301-450

Reading sections

> lilmd read file.md "# lilmd"
> lilmd file.md "# lilmd"           # alias!
# prints the contents of the lilmd section

# descendant selector (any depth under the parent)
> lilmd file.md "Getting Started > Installation"

# direct child only
> lilmd file.md "Getting Started >> Installation"

# level filter (H2 only)
> lilmd file.md "##Installation"

# exact match (default is fuzzy, case-insensitive)
> lilmd file.md "=Installation"

# regex
> lilmd file.md "/install(ation)?/"

# by default no more than 25 matches are printed; if more, lilmd prints a hint
# about --max-results=N
# --max-lines=N truncates long bodies (shows "… N more lines")
# --body-only skips subsections, --no-body prints headings only

For humans only

# --pretty renders the section body as syntax-highlighted terminal markdown
#   (for humans; piped output stays plain unless FORCE_COLOR is set)
> lilmd file.md --pretty "Installation"

# nicely formatted markdown

Searching & extracting

> lilmd ls file.md "Getting Started"        # direct children of a section
> lilmd grep file.md "pattern"               # regex search, grouped by section
> lilmd links file.md ["selector"]           # extract links with section path
> lilmd code file.md "Install" [--lang=ts]   # extract code blocks

Writing

lilmd treats sections as addressable records: you can replace, append, insert, move, or rename them without rewriting the whole file. Every write supports --dry-run, which prints a unified diff instead of touching disk — perfect for agent-authored edits that a human (or another agent) reviews before applying.

> lilmd set    file.md "Install" < body.md  # replace section body
> lilmd append file.md "Install" < body.md
> lilmd insert file.md --after "Install" < new.md
> lilmd rm     file.md "Old"
> lilmd mv     file.md "From" "To"          # re-parent, fixes heading levels
> lilmd rename file.md "Old" "New"
> lilmd promote|demote file.md "Section"    # shift heading level ±1

Output

# human-readable by default; --json for machine output
# use - as filename to read from stdin
> cat big.md | lilmd - "Install"