docshelf
DocShelf was fun to make because it was clear from the beginning what I wanted, and there was relatively little back and forth with the agent.
- As models become more capable, they do more of the work on their own, and their reports get denser, hence the rising popularity of Markdown and HTML documents for agent output.
- Reading these long documents, I almost always want to give feedback on specific lines, similar to a GitHub PR review.
- The ChatGPT app provides a good way to do this, but it is tied to the app and only works with uncommitted files.
- An app-agnostic way to get line links from files at any location could serve as a general way to communicate with agents while reviewing documents.
Initially I thought the implementation should be browser-based, but I realized the browser sandbox makes it cumbersome to access local files across arbitrary paths. Creating an Obsidian plugin made this trivial: it provides a natural home for documents and comes with editing for free. An added benefit is more natural line links, such as obsidian://docshelf?...&lines=11.

It is likely that the functionality within the terminal and agent apps will incorporate this behavior in the future. However, as of now the sessions are usually highly coupled with the path that they are started in, and it is not clear if it will be easily extended to include symlink files across different repository locations.