Hacker Newsnew | past | comments | ask | show | jobs | submit | gimalay's commentslogin

The links traversal is a real N+1 problem, but it doesn't need to be performed by the agent. A tool can pre-assemble all the relevant context by following the links in deterministic way.

https://iwe.md/blog/your-agent-hates-walking-your-knowledge-...


I built IWE (Interactive Writing Environment) to manage my markdown notes. It's a CLI tool and LSP server written in Rust.

The problem: I have thousands of markdown files with links between them. Link titles get out of sync when I rename files, I can't easily find what links to what, and batch operations (normalize formatting, export graphs) required custom scripts.

How it works:

IWE loads markdown files into an in-memory graph structure that understands document hierarchy (headers, lists, links). This enables operations that would be hard to do with plain text processing.

CLI: - iwe normalize - fix link titles, header levels, list numbering across all files - iwe stats - analyze your knowledge base (word counts, most connected docs, orphans) - iwe export dot - export link structure for Graphviz - iwe squash - combine linked docs into a single file (useful for generating PDFs)

LSP (works with VS Code, Neovim, Helix, Zed): - Go-to-definition for links - Backlinks via find-references - Autocomplete for linking notes - Hover preview - Rename with automatic link updates - Code actions: extract section to new file, inline content back, convert lists↔headers

Why another PKM tool?

Obsidian is great but I wanted to stay in my editor (Neovim). Existing LSPs like markdown-oxide cover basics but I needed batch operations and more refactoring capabilities. Building both CLI and LSP on a shared Rust core made sense.

Install: `brew tap iwe-org/iwe && brew install iwe`

or `cargo install iwe iwes`

Happy to answer questions about the architecture or implementation.


IWE is an open-source, local-first, markdown-based note-taking tool. It serves as a personal knowledge management (PKM) solution designed for developers.

IWE integrates seamlessly with popular developer text editors such as VSCode, Neovim, Zed, Helix, and others. It connects with your editor through the Language Server Protocol (LSP) to assist you in writing and maintaining your Markdown documents.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: