# noid noid is a local desktop application and stdio MCP server designed to give you and your agents the ability to express the relationships between files in your projects. While other software focus on providing you with a document editing experience that might happen to also form a relational graph between files, noid is all about the relationships themselves and leaves editing to other software. You and your agents both work on the same board, and what each of you adds is kept apart. Everything stays on your machine. There are no network services and your data lives in your own folder. There's no special setup required to start using noid in your projects except to install the electron app and the MCP server. ## Features - Display files in directories as nodes in a graph. - Edges are labeled relations with arbitrary values. - Human and agents each write notes attached to relations. - Text file preview. ## Install You need: - Linux - Node.js with npm - a Java runtime (shadow-cljs uses it to compile ClojureScript) Then: ```sh git clone noid && cd noid npm install npm run install-local ``` That gives you: - `noid` and `noid-mcp` in `~/.local/bin` (add that folder to your `PATH` if it isn't there already); - a desktop entry; - `noid-mcp` registered with Claude Code at user scope, as agent `claude`. To update, pull and run `npm run install-local` again. ## Usage ```sh noid ``` Opens noid in the current directory if `path` is not provided, otherwise in `path`. For help: ```sh noid --help noid-mcp --help ``` Register the MCP server in Claude Code: ```json {"mcpServers": {"noid": {"command": "noid-mcp", "args": ["--agent", "noid-dev"]}}} ``` ## Development - `npm start`, `npm run build`, `npm test`, `npm run e2e`, `npm run test-install` - The dev copy is named `noid-dev`, so it runs alongside the installed one. - Conventions are in [CLAUDE.md](CLAUDE.md), design notes in [docs/memories/](docs/memories/), tasks in [docs/tasks/](docs/tasks/), and the vision in [docs/vision.md](docs/vision.md). ## License GPL v3