IWE: a Markdown knowledge base you and your AI agent work on together
Memory serverOfficial IWE project
Created by IWE
Published in iwe-org/iwe. Publisher page
1,821 GitHub stars
What it is
Markdown knowledge graph — LSP for your editor, CLI + MCP memory for your AI agents
AutoGineer overview, from the brain’s own files
IWE provides a shared workspace for humans and AI agents to collaborate on project documentation, specs, and decision logs. By treating a folder of Markdown files as a structured knowledge graph, it allows agents to read, write, and organize information that persists across sessions. It functions as a memory server via the Model Context Protocol (MCP), enabling compatibility with various AI agents while remaining accessible to users through a native Mac app, CLI, or standard text editors like Neovim and VS Code.
How it works
Memory model: Not stated
AutoGineer overview, from the brain’s own files
IWE organizes notes as a collection of Markdown files within a project folder. It uses a CLI and an MCP server to expose these files to AI agents, allowing them to perform operations like searching, creating, and updating notes. The system supports features such as backlinks, link autocomplete, and graph visualization, ensuring that both the user and the AI agent interact with the same underlying document structure.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 4 |
| docs | docs | 70 |
| .githooks | folder | 1 |
| crates | folder | 381 |
| npm | folder | 15 |
Requirements
Runtimes: Rust
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)
Set it up
This brain runs code automatically: 1 script. Review .githooks/pre-commit before opening the folder in Claude Code. No step below turns a hook on for you.
.githooks/pre-commit:runs on git pre-commit
- Not scanned by AutoGineerAutoGineer could not scan everything it runs. https://www.npmjs.com/package/@iwe-org/mcp
Created by IWE. Published in iwe-org/iwe. Licence: Apache License 2.0.
Usage
AutoGineer overview, from the brain’s own files
- Connect an AI agent to your project notes using the MCP server.
- Use the CLI to search, create, or reorganize notes from the terminal.
- Write and browse notes in the native Mac app while an agent works alongside you.
- Integrate note navigation and autocomplete into your preferred text editor.
- Maintain a persistent record of project decisions and lessons learned that both you and your agent can access.
- “Explore my IWE notes and summarize what's here.”
- The agent reads the Markdown files in the designated folder and provides a summary of the project context, decisions, or documentation found.
- “Save the decision we just made about the database schema.”
- The agent creates or updates a Markdown note in the IWE folder containing the details of the decision for future reference.
Documentation by IWE
IWE: a Markdown knowledge base you and your AI agent work on together
Your notes are your agent’s memory. IWE is where you work on them together.
iwe.md · Download for Mac · Docs · Reddit
Image: Crates.io Image: License Image: Documentation
Too many AI conversations start from zero. You explain your project, your decisions, your reasoning — then find yourself explaining it all again next session. Your own notes live somewhere else, out of the agent's reach.
Or worse, the agent “remembers” something in its own internal memory, but you can't easily see what it saved or correct what it got wrong. And that memory doesn't travel with you to the other agents you work with.
IWE gives you and your AI agents one shared place to work, right inside your project: a folder of connected Markdown documents — specs, plans, decisions, and more. Keep your own ideas there, ask your agent to save what you learn together, and return to that context as your work grows. You can read, edit, and organize those documents yourself — and they stay yours.
<br/> <p align="center"> <a href="https://www.youtube.com/watch?v=D58bPkOvbxE"> <img src="https://iwe.md/images/video-thumbnail.jpg" alt="Watch the IWE intro video on YouTube" width="600"> </a> </p> <br/>
Choose how you work
There are four ways to work with IWE. Mix and match them to fit your day:
| Tool | How you'll use it |
|---|---|
| iWe for Mac | Write and browse in a native app, and connect your existing Claude/Codex agent. |
| Your own editor | Stay in Neovim, Helix, VS Code, or Zed, with note navigation, backlinks, and autocomplete. |
| CLI | Search and manage your notes from the terminal or scripts. |
| Claude/Codex | Let your agent read, write, and organize memory while you work through conversation. |
All four work with the same Markdown documents. Draft a spec in your editor, develop it with Claude/Codex, browse it in the iWe app, or search it from the CLI. Use any combination you like; each tool also works independently.
Bring your own AI. Neither the IWE CLI nor the iWe Mac app includes an AI model. Both work on their own as tools for your notes. When you want AI help, use your existing Claude/Codex agent — in terminal or directly in the Mac app.
<a href="https://iwe.md/?ref=readme-shot"><img src="https://iwe.md/images/app/GH-screen-1.1.png" alt="iWe for Mac showing project plans and connected documents" width="820"></a>
<p> <a href="https://iwe.md/?ref=readme-shot"><img src="https://iwe.md/images/app/GH-screen-2.png" alt="Bug tracking with charts" width="32%"></a> <a href="https://iwe.md/?ref=readme-shot"><img src="https://iwe.md/images/app/GH-screen-3.png" alt="Technical documents with code" width="32%"></a> <a href="https://iwe.md/?ref=readme-shot"><img src="https://iwe.md/images/app/GH-screen-4.png" alt="Release documents" width="32%"></a> </p>
Plans · Charts · Technical documents · Releases — click a screenshot to see the iWe app in action on iwe.md.
Why IWE
Shared context. Your agent can use the same notes you write for yourself. Notes link to each other, and one note can belong to several topics, so you can follow an idea wherever it connects.
Memory you can read. Decisions and lessons saved by your agent are ordinary notes you can browse, correct, or delete.
Your notes stay yours. Everything is Markdown in a folder on your machine. Back it up, sync it, or keep it in git. You don't need an IWE cloud account to keep your notes; connecting an AI agent involves that agent's own setup and account requirements.
iWe for Mac
If you'd like a dedicated space for your notes, use the native Mac app. Open a folder of notes and you get a fast, keyboard-friendly space to write and browse. You can also connect your existing Claude/Codex agent to work alongside you.
Works with your Claude/Codex agent. Connect the agent you already use, ask questions about your notes, and have it draft or reorganize them. Watch its edits appear in the document as it works.
Room to experiment. Each agent run is one undo step — try an idea, and roll it back if you don't like it.
Follow your ideas. Jump between related notes, search in a few keystrokes, and view Mermaid diagrams right in your documents. Your editor and other tools can keep working on the same files.
Open a notes folder and start with a note about something you're working on. Once Claude/Codex is connected, try asking it to summarize that note or help you develop an idea.
Your Own Editor
Keep writing in Neovim, Helix, VS Code, or Zed. IWE adds link autocomplete, backlinks, search, and safe renaming across your notes.
Follow the guide for your editor, open your notes folder, and try linking two notes with autocomplete. You can use IWE for your own writing without connecting an AI agent.
CLI
Prefer the terminal? Use IWE to search, create, and reorganize notes, or work it into your scripts. The CLI has no AI built in: these commands work on their own. Your existing Claude/Codex agent can use IWE's tools too.
Install with Homebrew, or choose another option from the installation guide:
brew install iwe-org/iwe/iweThen run these commands inside your notes folder:
iwe init
iwe find
iwe find --lexical "project decisions"iwe find lists your notes; --lexical searches their content. Explore more in the CLI reference and workflow examples.
Claude/Codex
You can use IWE entirely through your agent. Ask Claude/Codex to save decisions, look up past work, and organize what you've learned. The agent works with your notes through IWE, and you can open those files yourself whenever you want.
IWE isn't tied to one AI. The same notes work with Claude Code, Claude Desktop, Codex, Gemini, Cursor, and any tool that supports the Model Context Protocol.
Give Claude/Codex a memory — for Claude Code, install the plugin, then run /iwe:init in any project you want remembered. For Codex, follow the agent connection steps below.
/plugin marketplace add iwe-org/skills
/plugin install iwe@iwe-org
/iwe:initThen ask it to save a decision from your current work, and open the note it creates in your project.
Connect another agent — with Homebrew installed, install IWE:
brew install iwe-org/iwe/iweRun iwe init in your notes folder, then follow the agent connection guide to add the iwec MCP server with that folder as its working directory. For other installation options, see the installation guide.
Once connected, ask your agent: “Explore my IWE notes and summarize what's here.”
Or let the agent set itself up — paste this into any agent that can run commands:
Set up IWE for my notes: install it (brew install iwe-org/iwe/iwe,
npm install -g @iwe-org/iwe, or cargo install iwe iwes iwec), run `iwe init`
in my notes directory, then add the `iwec` MCP server with its working
directory set to that folder.
Docs: https://iwe.md/docs/agentic/Learn More
Getting Started — install and set up
Working with AI — connect your agents
Usage Guide — everyday workflows
Examples — how people use IWE
CLI Reference and MCP Server — for the technically curious
Ready-made workspaces: dev-workspace — project memory for a coding agent · marketing-workspace — campaign memory for a marketing agent.
Get Involved
Trying IWE with your own notes? Tell us what felt useful and where you got stuck. Questions, rough edges, and examples of how you use it are all welcome in Discussions.
IWE is open source. You can also report a bug or help improve the documentation.
Community: Twitter/X · Reddit · Discussions
Building on IWE? The CLI and MCP server are the supported ways to integrate today. Tell us what you depend on so we know what not to break.
License
docs/cli-retrieve.md
IWE Retrieve
Retrieves document content with graph expansion and relationship context. Designed for AI agents to navigate and understand the knowledge graph.
retrieve assembles reading context around a set of documents in a single call. It has two moving parts: seeds — the documents to read, given directly by -k / --filter / anchors, or found by a --lexical / --fuzzy search — and expansion — the graph directions to follow out from each seed, given by the --expand-* flags.
Usage
iwe retrieve [OPTIONS]
iwe retrieve -k KEY --expand-includes 1 --expand-included-by 1
iwe retrieve --lexical "QUESTION" --limit 5 --expand-references 1 --expand-included-by 1Without -k (and without a search flag), reads the document key from stdin (for piping).
Options
| Flag | Description | Default |
|---|---|---|
-k, --key <KEY> | Document key(s) to retrieve, or the candidate set searched within when a search flag is present (repeatable). 1 key = $eq, 2+ = $in. Unknown keys are an error unless searching — see Named Keys vs Filters. | stdin |
--expand-includes [N] | Follow inclusion edges downward, pulling child (sub-)documents to depth N. Bare = 1; 0 = unbounded; omitted = not followed. | not followed |
--expand-included-by [N] | Follow inclusion edges upward, pulling parent documents to depth N. Bare = 1; 0 = unbounded; omitted = not followed. | not followed |
--expand-references [N] | Follow outbound reference links, pulling documents this seed links to within N hops. Bare = 1; 0 = unbounded; omitted = not followed. | not followed |
--expand-referenced-by [N] | Follow inbound reference links, pulling documents that link to this seed within N hops. Bare = 1; 0 = unbounded; omitted = not followed. | not followed |
--lexical <Q> | Seed search: BM25 full-text query on title and body. Runs a seed query and switches to the search-indexed loader. | none |
--fuzzy <Q> | Seed search: fuzzy query on title and key. Combine with --lexical to fuse (RRF). | none |
-e, --exclude <KEY> | Exclude document key(s) from results (repeatable). | none |
-b, --backlinks | Populate the referencedBy edge list in output (does not add documents). | true |
--children | Populate the includes edge list in output (does not add documents). | false |
-f, --format <FMT> | Output format: markdown, keys, json, yaml. | markdown |
--filter <EXPR> | Inline YAML filter expression restricting the candidate set. See Query Language. | none |
--includes <KEY[:DEPTH]> | $includes anchor restricting the candidate set. Repeatable; anchors are ANDed. | none |
--included-by <KEY[:DEPTH]> | $includedBy anchor restricting the candidate set. Repeatable; anchors are ANDed. | none |
--references <KEY[:DIST]> | $references anchor restricting the candidate set. Repeatable; anchors are ANDed. | none |
--referenced-by <KEY[:DIST]> | $referencedBy anchor restricting the candidate set. Repeatable; anchors are ANDed. | none |
--max-depth <N> | Session default for inclusion anchor flags without a colon-suffix. 0 = unbounded. | 1 |
--max-distance <N> | Session default for reference anchor flags without a colon-suffix. 0 = unbounded. | 1 |
--limit <N> | Cap the number of seed documents kept before expansion — top-N by relevance when searching, the first N of the selection otherwise. 0 = unlimited. | unlimited |
--max-documents <N> | Cap the number of documents returned after expansion, trimming periphery documents first. 0 = unlimited. | unlimited |
--max-tokens <N> | Cap total content tokens across all documents (whole documents are dropped). 0 = unlimited. | unlimited |
--max-document-tokens <N> | Cap content tokens per document (body is head-truncated with a marker). 0 = unlimited. | unlimited |
Note. The colon-suffix (
KEY:DEPTH) on the anchor selection flags above and the depth values on the--expand-*flags are unrelated: the anchor flags restrict which documents are seeds, the--expand-*flags follow edges out from the seeds.
Expansion (--expand-*)
Expansion pulls related documents into the result set. Each direction is its own flag; the value is a depth (bare flag = 1, 0 = unbounded, omitted = not followed):
| Flag | Follows | Adds |
|---|---|---|
--expand-includes [N] | inclusion edges downward | child (sub-)documents |
--expand-included-by [N] | inclusion edges upward | parent documents |
--expand-references [N] | outbound reference (inline) links | documents this seed links to |
--expand-referenced-by [N] | inbound reference links | documents that link to this seed |
--expand-references 1 --expand-included-by 1 # one hop of outbound refs + one level of parents
--expand-includes 2 # children two levels deep
--expand-included-by 0 # every ancestor (0 = unbounded)
--expand-includes # bare flag = one levelA non-integer or negative value is an error.
Expansion is doc-only by default. With no --expand-* flag (and no deprecated -d / -c / -l), retrieve returns exactly the requested document(s) with no expansion. The old implicit default is now written explicitly as --expand-includes 1 --expand-included-by 1.
includedBy is always listed in the output frontmatter regardless of expansion; -b and --children toggle the referencedBy and includes edge lists; references is listed when a --expand-references expansion is requested. Edge-list toggles never add documents.
Search seeds
When --lexical or --fuzzy is present, retrieve first runs a seed query — a find with that search over the candidate set (-k / --filter / anchors) — then reads and expands the ordered seeds. Seeds come out first, in relevance order, followed by their expansion; seeds survive token-budget trimming first. --limit caps the seeds kept (top-N by relevance) before expansion.
Because search restricts, -k a -k b -k c --lexical Q searches within those three keys: any that do not match the query drop from the output. -k is candidate restriction here, not a guaranteed read.
The standing/hub pages an agent needs are reached structurally rather than pinned: search finds the episode pages, and one expansion direction brings the hubs in — includedBy when hubs include their episodes, referencedBy when a hub timeline links to them, references when episodes link back to the hub.
Output limits
--max-documents, --max-tokens, and --max-document-tokens bound output for context-limited callers and are off by default. (--limit is not an output budget — it caps the seeds before expansion.)
What is counted. Each document's body plus its serialized edge lists. JSON/YAML structural overhead (field names, escaping) is not counted, and the counts are an approximate (OpenAI-BPE) proxy — so treat the budget as a soft bound with headroom, not an exact byte cap. The
⋯ truncatedmarker appended to a clipped body is itself uncounted, so a clipped document lands slightly over--max-document-tokens.What survives. The requested document(s) are collected first, so they always survive;
--max-documentsand--max-tokenstrim from the periphery (deepest expansion and parent context) inward. A clipped result set is therefore not relationally closed — a kept child may lose the parent-context document it appeared under.Signal. When any limit trims the output, a
warning:line is printed to stderr while stdout stays a clean array/markdown. Page through a large result set by combining--excludewith the truncation signal: fetch, note the returned keys, re-run excluding them.
Filter and structural anchors
When filter or anchor flags are provided, retrieve reads the documents that match. With both -k and a filter expression, the result is the intersection — -k clauses AND with the filter at the top level.
# Retrieve every doc under projects/alpha (unbounded), no expansion
iwe retrieve --included-by projects/alpha:0
# Sub-documents of two anchors (intersection)
iwe retrieve --included-by projects/alpha --included-by people/dmytro
# Restrict explicit keys to those inside an anchor's subtree
iwe retrieve -k x -k y -k z --included-by projects/alpha
# Filter by frontmatter
iwe retrieve --filter 'status: draft'See Query Language for the full filter syntax.
How It Works
The retrieve command collects documents in a specific order:
Seeds - the requested documents (
-k/--filter/ anchors, or the ordered results of a--lexical/--fuzzyseed query)Children (
--expand-includes N) - Documents included via Inclusion Links, expanded N levels deepContext (
--expand-included-by N) - Parent documents of each seed, up N levelsSub-document parents - Parents of direct sub-documents (only when both
--expand-includesand--expand-included-byare set)References (
--expand-references N) - Documents referenced inline, within N hopsReferenced by (
--expand-referenced-by N) - Documents that reference the seed, within N hops
Documents are deduplicated - each document appears only once in the output.
Depth Expansion (--expand-includes)
Controls how deep to follow children (sub-documents):
omitted: Only the seed, no downward expansion (the default)
--expand-includes 1: Seed + direct sub-documents--expand-includes 2: Seed + sub-documents + their sub-documents--expand-includes 0: Every descendant (unbounded)
Context Expansion (--expand-included-by)
Controls how many levels of parent documents to include:
omitted: No parent context documents included (the default)
--expand-included-by 1: Direct parents of the seed and of its immediate sub-documents--expand-included-by 0: Every ancestor (unbounded)
Sub-document Parent Context
When you retrieve a document with both --expand-includes and --expand-included-by set, the command also fetches parent documents of any sub-documents. This provides important context: the parent document often defines what type of thing the sub-document is.
Example: A component used in multiple projects
Consider a button component embedded in two different projects. When you retrieve mobile-app:
iwe retrieve -k mobile-app --expand-includes 1 --expand-included-by 1The output for the button sub-document shows its other parents:
# Button
[Button](button) <- [Web Dashboard](web-dashboard)
A reusable button component.The <- notation lists other documents where button is embedded. Since we're already viewing button from within mobile-app, only web-dashboard is shown — revealing that this component is shared across projects.
Result includes:
mobile-app— the seed documentbutton— sub-document (viaincludes: 1)web-dashboard— another parent ofbutton(viaincludedBy: 1)
The web-dashboard document is fetched because it's a parent of button. This context helps understand what the component is and where else it's used.
Note: Only parents of direct sub-documents are included.
References (references)
When expanded, includes documents that are referenced inline (not as inclusion links):
# Main Document
See [Related Topic](related-topic) for more details.With --expand-references 1, related-topic would be included in the output. Distances greater than 1 follow the reference chain transitively.
Document Relationships
Parent Documents vs Back Links
Parent Documents - Inclusion links (document embedded in another):
# Parent Document
## Overview
[child](child) <- Inclusion link creates parent-child relationshipThe child document shows: **Parent documents:** [Parent Document](parent) > Overview
Back Links - Inline references (links within text):
# Some Document
See [target](target) for more details. <- Inline reference creates backlinkThe target document shows: **Back links:** [Some Document](some-document)
Output Format
Markdown Format (default)
Documents are rendered with YAML frontmatter containing metadata, followed by the document content:
---
document:
key: my-document
title: My Document
includedBy:
- key: index
title: Index
referencedBy:
- key: related-doc
title: Related Doc
---
# My Document
Original document content preserved exactly as written.Each document in the result set includes:
YAML frontmatter with
key,title,includedBy, andreferencedByDocument content with original headers preserved
Two empty lines after each document for easy parsing
Multiple documents are separated by their frontmatter delimiters (---), no horizontal rules.
Keys Format (-f keys)
my-document
child-document
parent-documentOne key per line, suitable for piping to other commands or building exclude lists.
JSON Format (-f json)
[
{
"key": "my-document",
"title": "My Document",
"content": "# My Document\n\nContent here...",
"includedBy": [
{
"key": "index",
"title": "Index",
"sectionPath": ["Topics", "My Topic"]
}
],
"includes": [],
"referencedBy": [
{
"key": "related-doc",
"title": "Related Doc",
"sectionPath": []
}
]
}
]The top-level value is a bare array of document objects. Each carries key, title, content, and three edge arrays — includedBy, includes, referencedBy — using the same EdgeRef { key, title, sectionPath } shape. Empty arrays are emitted explicitly.
includes is populated only when --children is passed.
Examples
# Retrieve a single document (doc only, no expansion)
iwe retrieve -k my-document
# Retrieve multiple documents at once
iwe retrieve -k doc1 -k doc2 -k doc3
# Immediate context: direct children + direct parents
iwe retrieve -k my-document --expand-includes 1 --expand-included-by 1
# Deep expansion (3 levels of sub-documents)
iwe retrieve -k my-document --expand-includes 3
# More parent context
iwe retrieve -k my-document --expand-included-by 2
# Include inline referenced documents
iwe retrieve -k my-document --expand-references 1
# One-shot search + expand: find seeds, then pull structure
iwe retrieve --lexical "auth token rotation" --limit 5 \
--expand-references 1 --expand-included-by 1 -f json
# Exclude documents which you don't need
iwe retrieve -k my-document -e already-loaded -e another-loaded
# Populate the `includes` edge list with child document edges
iwe retrieve -k my-document --children
# Get JSON output for programmatic processing
iwe retrieve -k my-document -f json
# Or YAML
iwe retrieve -k my-document -f yaml
# Pipe keys from stdin (one per line)
echo -e "doc1\ndoc2\ndoc3" | iwe retrieve
# Without backlinks (cleaner output)
iwe retrieve -k my-document -b falseUse Cases
AI Agent Context Building
Build rich context for AI agents navigating the knowledge base:
# Get a document with immediate context
iwe retrieve -k authentication --expand-includes 1 --expand-included-by 1
# Assemble a dossier from a question in one call
iwe retrieve --lexical "how does session expiry work" --limit 5 \
--expand-references 1 --expand-included-by 1Understanding Document Relationships
# See where a document is used (parent documents in output)
iwe retrieve -k my-topic
# See the full context including inline references
iwe retrieve -k my-topic --expand-references 1Exploring Knowledge Base Structure
# Start from an entry point and expand
iwe retrieve -k index --expand-includes 2
# Get JSON for analysis
iwe retrieve -k project-overview --expand-includes 1 -f jsonChaining Retrievals
Use the keys format to chain retrieval operations and exclude already-fetched documents:
# Get keys from first retrieval
KEYS_A=$(iwe retrieve -k topic-a -f keys)
# Retrieve for topic-b, excluding keys from topic-a
iwe retrieve -k topic-b -e $KEYS_A
# Or using command substitution with xargs
iwe retrieve -k topic-b $(iwe retrieve -k topic-a -f keys | xargs -I {} echo "-e {}")Deprecated aliases
The following flags pre-date the query language and remain accepted as hidden aliases for backward compatibility.
| Deprecated | Use instead |
|---|---|
-d, --depth N | --expand-includes N (legacy 0 = off, not unbounded) |
-c, --context N | --expand-included-by N (legacy 0 = off) |
-l, --links | --expand-references 1 |
--in KEY[:N] | --included-by KEY[:N] |
--in-any K1 K2 | --filter '$or: [{ $includedBy: K1 }, { $includedBy: K2 }]' |
--not-in KEY | --filter '$nor: [{ $includedBy: KEY }]' |
--refs-to KEY | --references KEY (legacy semantics: ORs $includes and $references) |
--refs-from KEY | --referenced-by KEY (legacy semantics: ORs $includedBy and $referencedBy) |
-d / -c / -l keep their legacy 0 = off meaning — they never expressed unbounded, whereas the --expand-* flags treat 0 as the unbounded sentinel. Passing a legacy alias together with the --expand-* flag for the same direction (e.g. -d and --expand-includes) is an error.
Technical Notes
Documents use YAML frontmatter for metadata, content follows with original formatting
Empty
includedByorreferencedByfields are omitted from markdown frontmatter (JSON/YAML output always emits them as[])Original document headers are preserved (no level shifting)
Two empty lines separate documents for easier parsing
Duplicate documents are automatically filtered out
Sub-document parent context only includes parents of direct (first-level) sub-documents, not nested ones
485 files · 414 not served here
- .gitattributes (not served here)
- .githooks/pre-commit (not served here)
- .github/dependabot.yaml (not served here)
- .github/workflows/release-plz.yaml (not served here)
- .github/workflows/release.yaml (not served here)
- .github/workflows/rust.yml (not served here)
- .gitignore (not served here)
- .release-plz.toml (not served here)
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CONTRIBUTING.md
- Cargo.lock (not served here)
- Cargo.toml (not served here)
- LICENSE-APACHE
- README.ko.md
- README.md
- README.zh-CN.md
- crates/diwe/CHANGELOG.md (not served here)
- crates/diwe/Cargo.toml (not served here)
- crates/diwe/src/config.rs (not served here)
- crates/diwe/src/file.rs (not served here)
- crates/diwe/src/find.rs (not served here)
- crates/diwe/src/fs.rs (not served here)
- crates/diwe/src/keys.rs (not served here)
- crates/diwe/src/lib.rs (not served here)
- crates/diwe/src/loader.rs (not served here)
- crates/diwe/src/retrieve.rs (not served here)
- crates/diwe/src/schema.rs (not served here)
- crates/diwe/src/search.rs (not served here)
- crates/diwe/src/search_query.rs (not served here)
- crates/diwe/src/stats.rs (not served here)
- crates/diwe/src/tokens.rs (not served here)
- crates/diwe/src/watcher.rs (not served here)
- crates/diwe/tests/config_migration_test.rs (not served here)
- crates/diwe/tests/djot_fs_test.rs (not served here)
- crates/diwe/tests/gitignore_test.rs (not served here)
- crates/diwe/tests/nested_keys_test.rs (not served here)
- crates/diwe/tests/query_search.rs (not served here)
- crates/diwe/tests/search_test.rs (not served here)
- crates/diwe/tests/stats_test.rs (not served here)
- crates/diwe/tests/stats_warnings_test.rs (not served here)
- crates/diwe/tests/windows_paths_test.rs (not served here)
- crates/iwe/CHANGELOG.md (not served here)
- crates/iwe/Cargo.toml (not served here)
- crates/iwe/LICENSE-APACHE
- crates/iwe/README.md (not served here)
- crates/iwe/benches/common.rs (not served here)
- crates/iwe/benches/load.rs (not served here)
- crates/iwe/benches/query.rs (not served here)
- crates/iwe/benches/similarity.rs (not served here)
- crates/iwe/docs/agent.md (not served here)
- crates/iwe/docs/config.md (not served here)
- crates/iwe/docs/index.txt (not served here)
- crates/iwe/docs/query.md (not served here)
- crates/iwe/docs/schema.md (not served here)
- crates/iwe/help/attach/about.txt (not served here)
- crates/iwe/help/attach/after_help.txt (not served here)
- crates/iwe/help/attach/long_about.txt (not served here)
- crates/iwe/help/completions/about.txt (not served here)
- crates/iwe/help/completions/after_help.txt (not served here)
- crates/iwe/help/completions/long_about.txt (not served here)
- crates/iwe/help/count/about.txt (not served here)
- crates/iwe/help/count/after_help.txt (not served here)
- crates/iwe/help/count/long_about.txt (not served here)
- crates/iwe/help/create/about.txt (not served here)
- crates/iwe/help/create/after_help.txt (not served here)
- crates/iwe/help/create/long_about.txt (not served here)
- crates/iwe/help/delete/about.txt (not served here)
- crates/iwe/help/delete/after_help.txt (not served here)
- crates/iwe/help/delete/long_about.txt (not served here)
- crates/iwe/help/docs/about.txt (not served here)
- crates/iwe/help/docs/after_help.txt (not served here)
- crates/iwe/help/docs/long_about.txt (not served here)
- crates/iwe/help/export/about.txt (not served here)
- crates/iwe/help/export/after_help.txt (not served here)
- crates/iwe/help/export/long_about.txt (not served here)
- crates/iwe/help/extract/about.txt (not served here)
- crates/iwe/help/extract/after_help.txt (not served here)
- crates/iwe/help/extract/long_about.txt (not served here)
- crates/iwe/help/find/about.txt (not served here)
- crates/iwe/help/find/after_help.txt (not served here)
- crates/iwe/help/find/long_about.txt (not served here)
- crates/iwe/help/init/about.txt (not served here)
- crates/iwe/help/init/after_help.txt (not served here)
- crates/iwe/help/init/long_about.txt (not served here)
- crates/iwe/help/inline/about.txt (not served here)
- crates/iwe/help/inline/after_help.txt (not served here)
- crates/iwe/help/inline/long_about.txt (not served here)
- crates/iwe/help/new/about.txt (not served here)
- crates/iwe/help/new/after_help.txt (not served here)
- crates/iwe/help/new/long_about.txt (not served here)
- crates/iwe/help/normalize/about.txt (not served here)
- crates/iwe/help/normalize/after_help.txt (not served here)
- crates/iwe/help/normalize/long_about.txt (not served here)
- crates/iwe/help/rename/about.txt (not served here)
- crates/iwe/help/rename/after_help.txt (not served here)
- crates/iwe/help/rename/long_about.txt (not served here)
- crates/iwe/help/retrieve/about.txt (not served here)
- crates/iwe/help/retrieve/after_help.txt (not served here)
- crates/iwe/help/retrieve/long_about.txt (not served here)
- crates/iwe/help/schema/about.txt (not served here)
- crates/iwe/help/schema/after_help.txt (not served here)
- crates/iwe/help/schema/long_about.txt (not served here)
- crates/iwe/help/squash/about.txt (not served here)
- crates/iwe/help/squash/after_help.txt (not served here)
- crates/iwe/help/squash/long_about.txt (not served here)
- crates/iwe/help/stats/about.txt (not served here)
- crates/iwe/help/stats/after_help.txt (not served here)
- crates/iwe/help/stats/long_about.txt (not served here)
- crates/iwe/help/tree/about.txt (not served here)
- crates/iwe/help/tree/after_help.txt (not served here)
- crates/iwe/help/tree/long_about.txt (not served here)
- crates/iwe/help/update/about.txt (not served here)
- crates/iwe/help/update/after_help.txt (not served here)
- crates/iwe/help/update/long_about.txt (not served here)
- crates/iwe/src/export.rs (not served here)
- crates/iwe/src/export/dot_details_exporter.rs (not served here)
- crates/iwe/src/export/dot_exporter.rs (not served here)
- crates/iwe/src/export/graph_colors.rs (not served here)
- crates/iwe/src/export/graph_data.rs (not served here)
- crates/iwe/src/filter_args.rs (not served here)
- crates/iwe/src/help.rs (not served here)
- crates/iwe/src/init.rs (not served here)
- crates/iwe/src/init/agents.rs (not served here)
- crates/iwe/src/init/fit.rs (not served here)
- crates/iwe/src/init/okf.rs (not served here)
- crates/iwe/src/init/report.rs (not served here)
- crates/iwe/src/init/schemas/okf-index.yaml (not served here)
- crates/iwe/src/init/schemas/okf-log.yaml (not served here)
- crates/iwe/src/init/schemas/okf.yaml (not served here)
- crates/iwe/src/init/screen.rs (not served here)
- crates/iwe/src/init/writer.rs (not served here)
- crates/iwe/src/internal.rs (not served here)
- crates/iwe/src/internal/claude.rs (not served here)
- crates/iwe/src/internal/claude/digest.rs (not served here)
- crates/iwe/src/internal/claude/enable.rs (not served here)
- crates/iwe/src/internal/claude/hook.rs (not served here)
- crates/iwe/src/internal/claude/hook/index.rs (not served here)
- crates/iwe/src/internal/claude/hook/post_tool.rs (not served here)
- crates/iwe/src/internal/claude/hook/store.rs (not served here)
- crates/iwe/src/internal/claude/policy.rs (not served here)
- crates/iwe/src/internal/claude/prompt.rs (not served here)
- crates/iwe/src/internal/claude/record.rs (not served here)
- crates/iwe/src/internal/claude/session.rs (not served here)
- crates/iwe/src/lib.rs (not served here)
- crates/iwe/src/main.rs (not served here)
- crates/iwe/src/new.rs (not served here)
- crates/iwe/src/projection_args.rs (not served here)
- crates/iwe/src/render.rs (not served here)
- crates/iwe/src/schema.rs (not served here)
- crates/iwe/src/stats.rs (not served here)
- crates/iwe/templates/claude/enable/queries.md (not served here)
- crates/iwe/templates/claude/enable/schemas/decision.yaml (not served here)
- crates/iwe/templates/claude/enable/schemas/gotcha.yaml (not served here)
- crates/iwe/templates/claude/enable/schemas/learning.yaml (not served here)
- crates/iwe/templates/claude/enable/schemas/memory.yaml (not served here)
- crates/iwe/templates/claude/enable/schemas/topic.yaml (not served here)
- crates/iwe/templates/claude/enable/starter.md (not served here)
- crates/iwe/templates/claude/enable/starter.toml (not served here)
- crates/iwe/templates/claude/enable/typed.md (not served here)
- crates/iwe/templates/claude/enable/typed.toml (not served here)
- crates/iwe/templates/claude/memory_index.md.jinja (not served here)
- crates/iwe/templates/claude/policy.schema.yaml (not served here)
- crates/iwe/templates/claude/prompts/distill.md (not served here)
- crates/iwe/templates/claude/prompts/init.md (not served here)
- crates/iwe/templates/claude/prompts/reflect.md (not served here)
- crates/iwe/templates/stats.md.jinja (not served here)
- crates/iwe/tests/attach_test.rs (not served here)
- crates/iwe/tests/cli_filter_test.rs (not served here)
- crates/iwe/tests/common.rs (not served here)
- crates/iwe/tests/completions_test.rs (not served here)
- crates/iwe/tests/config_test.rs (not served here)
- crates/iwe/tests/create_test.rs (not served here)
- crates/iwe/tests/delete_test.rs (not served here)
- crates/iwe/tests/docs_test.rs (not served here)
- crates/iwe/tests/export_dot_test.rs (not served here)
- crates/iwe/tests/extract_test.rs (not served here)
- crates/iwe/tests/find_test.rs (not served here)
- crates/iwe/tests/init_test.rs (not served here)
- crates/iwe/tests/inline_test.rs (not served here)
- crates/iwe/tests/internal_test.rs (not served here)
- crates/iwe/tests/main.rs (not served here)
- crates/iwe/tests/new_test.rs (not served here)
- crates/iwe/tests/normalize_test.rs (not served here)
- crates/iwe/tests/prompt_test.rs (not served here)
- crates/iwe/tests/query_schema_test.rs (not served here)
- crates/iwe/tests/rename_test.rs (not served here)
- crates/iwe/tests/retrieve_test.rs (not served here)
- crates/iwe/tests/schema_strict_test.rs (not served here)
- crates/iwe/tests/schema_test.rs (not served here)
- crates/iwe/tests/schema_validate_test.rs (not served here)
- crates/iwe/tests/squash_test.rs (not served here)
- crates/iwe/tests/stats_test.rs (not served here)
- crates/iwe/tests/stats_warnings_test.rs (not served here)
- crates/iwe/tests/tree_test.rs (not served here)
- crates/iwe/tests/update_test.rs (not served here)
- crates/iwec/CHANGELOG.md (not served here)
- crates/iwec/Cargo.toml (not served here)
- crates/iwec/README.md (not served here)
- crates/iwec/src/lib.rs (not served here)
- crates/iwec/src/main.rs (not served here)
- crates/iwec/src/watcher.rs (not served here)
- crates/iwec/tests/attach_test.rs (not served here)
- crates/iwec/tests/extract_test.rs (not served here)
- crates/iwec/tests/find_test.rs (not served here)
- crates/iwec/tests/fixture.rs (not served here)
- crates/iwec/tests/http_transport_test.rs (not served here)
- crates/iwec/tests/inline_test.rs (not served here)
- crates/iwec/tests/main.rs (not served here)
- crates/iwec/tests/normalize_test.rs (not served here)
- crates/iwec/tests/prompt_test.rs (not served here)
- crates/iwec/tests/query_test.rs (not served here)
- crates/iwec/tests/resource_test.rs (not served here)
- crates/iwec/tests/retrieve_test.rs (not served here)
- crates/iwec/tests/schema_test.rs (not served here)
- crates/iwec/tests/server_info_test.rs (not served here)
- crates/iwec/tests/squash_test.rs (not served here)
- crates/iwec/tests/stats_test.rs (not served here)
- crates/iwec/tests/stats_warnings_test.rs (not served here)
- crates/iwec/tests/tree_test.rs (not served here)
- crates/iwec/tests/watcher_test.rs (not served here)
- crates/iwec/tests/write_test.rs (not served here)
- crates/iwes/CHANGELOG.md (not served here)
- crates/iwes/Cargo.toml (not served here)
- crates/iwes/LICENSE-APACHE
- crates/iwes/README.md (not served here)
- crates/iwes/src/lib.rs (not served here)
- crates/iwes/src/main.rs (not served here)
- crates/iwes/src/router.rs (not served here)
- crates/iwes/src/router/server.rs (not served here)
- crates/iwes/src/router/server/actions.rs (not served here)
- crates/iwes/src/router/server/actions/attach.rs (not served here)
- crates/iwes/src/router/server/actions/delete.rs (not served here)
- crates/iwes/src/router/server/actions/extract.rs (not served here)
- crates/iwes/src/router/server/actions/extract_all.rs (not served here)
- crates/iwes/src/router/server/actions/inline.rs (not served here)
- crates/iwes/src/router/server/actions/link.rs (not served here)
- crates/iwes/src/router/server/actions/list.rs (not served here)
- crates/iwes/src/router/server/actions/section.rs (not served here)
- crates/iwes/src/router/server/actions/sort.rs (not served here)
- crates/iwes/src/router/server/actions/templates.rs (not served here)
- crates/iwes/src/router/server/actions/transform.rs (not served here)
- crates/iwes/src/router/server/base_path.rs (not served here)
- crates/iwes/src/router/server/extensions.rs (not served here)
- crates/iwes/src/router/server/query.rs (not served here)
- crates/iwes/src/router/server/search.rs (not served here)
- crates/iwes/tests/attach_test.rs (not served here)
- crates/iwes/tests/change_list_type_test.rs (not served here)
- crates/iwes/tests/completion_test.rs (not served here)
- crates/iwes/tests/custom_actions_test.rs (not served here)
- crates/iwes/tests/delete_test.rs (not served here)
- crates/iwes/tests/did_change_test.rs (not served here)
- crates/iwes/tests/did_save_test.rs (not served here)
- crates/iwes/tests/extract_all_test.rs (not served here)
- crates/iwes/tests/extract_test.rs (not served here)
- crates/iwes/tests/fixture.rs (not served here)
- crates/iwes/tests/folding_range_test.rs (not served here)
- crates/iwes/tests/format_document_test.rs (not served here)
- crates/iwes/tests/go_to_definition_test.rs (not served here)
- crates/iwes/tests/handler_panic_test.rs (not served here)
- crates/iwes/tests/hover_test.rs (not served here)
- crates/iwes/tests/inlay_hints_test.rs (not served here)
- crates/iwes/tests/inline_quote_test.rs (not served here)
- crates/iwes/tests/inline_section_test.rs (not served here)
- crates/iwes/tests/link_test.rs (not served here)
- crates/iwes/tests/list_to_sections_test.rs (not served here)
- crates/iwes/tests/main.rs (not served here)
- crates/iwes/tests/reconcile_test.rs (not served here)
- crates/iwes/tests/references_test.rs (not served here)
- crates/iwes/tests/rename_test.rs (not served here)
- crates/iwes/tests/sections_to_list_test.rs (not served here)
- crates/iwes/tests/sort_test.rs (not served here)
- crates/iwes/tests/transform_test.rs (not served here)
- crates/iwes/tests/unknown_method_test.rs (not served here)
- crates/iwes/tests/watched_files_test.rs (not served here)
- crates/iwes/tests/watcher_test.rs (not served here)
- crates/iwes/tests/workspace_symbols_test.rs (not served here)
- crates/liwe/CHANGELOG.md (not served here)
- crates/liwe/Cargo.toml (not served here)
- crates/liwe/LICENSE-APACHE
- crates/liwe/README.md (not served here)
- crates/liwe/src/collation.rs (not served here)
- crates/liwe/src/djot.rs (not served here)
- crates/liwe/src/djot/reader.rs (not served here)
- crates/liwe/src/djot/writer.rs (not served here)
- crates/liwe/src/format.rs (not served here)
- crates/liwe/src/fs.rs (not served here)
- crates/liwe/src/graph.rs (not served here)
- crates/liwe/src/graph/arena.rs (not served here)
- crates/liwe/src/graph/basic_iter.rs (not served here)
- crates/liwe/src/graph/builder.rs (not served here)
- crates/liwe/src/graph/graph_line.rs (not served here)
- crates/liwe/src/graph/graph_node.rs (not served here)
- crates/liwe/src/graph/index.rs (not served here)
- crates/liwe/src/graph/path.rs (not served here)
- crates/liwe/src/graph/sections_builder.rs (not served here)
- crates/liwe/src/graph/squash_iter.rs (not served here)
- crates/liwe/src/graph/walk.rs (not served here)
- crates/liwe/src/init.rs (not served here)
- crates/liwe/src/init/detect.rs (not served here)
- crates/liwe/src/init/evidence.rs (not served here)
- crates/liwe/src/init/notes.rs (not served here)
- crates/liwe/src/init/notes/tests.rs (not served here)
- crates/liwe/src/init/probe.rs (not served here)
- crates/liwe/src/init/settings.rs (not served here)
- crates/liwe/src/lib.rs (not served here)
- crates/liwe/src/locale.rs (not served here)
- crates/liwe/src/markdown.rs (not served here)
- crates/liwe/src/markdown/reader.rs (not served here)
- crates/liwe/src/markdown/writer.rs (not served here)
- crates/liwe/src/model.rs (not served here)
- crates/liwe/src/model/config.rs (not served here)
- crates/liwe/src/model/document.rs (not served here)
- crates/liwe/src/model/frontmatter.rs (not served here)
- crates/liwe/src/model/ids.rs (not served here)
- crates/liwe/src/model/inline.rs (not served here)
- crates/liwe/src/model/key_index.rs (not served here)
- crates/liwe/src/model/node.rs (not served here)
- crates/liwe/src/model/node_iter.rs (not served here)
- crates/liwe/src/model/node_pointer.rs (not served here)
- crates/liwe/src/model/projector.rs (not served here)
- crates/liwe/src/model/reference.rs (not served here)
- crates/liwe/src/model/tree.rs (not served here)
- crates/liwe/src/model/tree_iter.rs (not served here)
- crates/liwe/src/model/writer.rs (not served here)
- crates/liwe/src/operations.rs (not served here)
- crates/liwe/src/operations/attach.rs (not served here)
- crates/liwe/src/operations/changes.rs (not served here)
- crates/liwe/src/operations/config.rs (not served here)
- crates/liwe/src/operations/delete.rs (not served here)
- crates/liwe/src/operations/extract.rs (not served here)
- crates/liwe/src/operations/inline.rs (not served here)
- crates/liwe/src/operations/rename.rs (not served here)
- crates/liwe/src/operations/select.rs (not served here)
- crates/liwe/src/operations/util.rs (not served here)
- crates/liwe/src/parser.rs (not served here)
- crates/liwe/src/query.rs (not served here)
- crates/liwe/src/query/block.rs (not served here)
- crates/liwe/src/query/block_eval.rs (not served here)
- crates/liwe/src/query/block_update.rs (not served here)
- crates/liwe/src/query/builder.rs (not served here)
- crates/liwe/src/query/cli.rs (not served here)
- crates/liwe/src/query/document.rs (not served here)
- crates/liwe/src/query/edges.rs (not served here)
- crates/liwe/src/query/eval.rs (not served here)
- crates/liwe/src/query/execute.rs (not served here)
- crates/liwe/src/query/filter.rs (not served here)
- crates/liwe/src/query/graph_match.rs (not served here)
- crates/liwe/src/query/project.rs (not served here)
- crates/liwe/src/query/schemas.rs (not served here)
- crates/liwe/src/query/schemas/draft-2026-08.json (not served here)
- crates/liwe/src/query/scores.rs (not served here)
- crates/liwe/src/query/search.rs (not served here)
- crates/liwe/src/query/sort.rs (not served here)
- crates/liwe/src/query/update.rs (not served here)
- crates/liwe/src/query/wire.rs (not served here)
- crates/liwe/src/schema.rs (not served here)
- crates/liwe/src/schema/document.rs (not served here)
- crates/liwe/src/schema/infer.rs (not served here)
- crates/liwe/src/state.rs (not served here)
- crates/liwe/tests/blocks.rs (not served here)
- crates/liwe/tests/comments_test.rs (not served here)
- crates/liwe/tests/djot_roundtrip.rs (not served here)
- crates/liwe/tests/formatting_test.rs (not served here)
- crates/liwe/tests/frontmatter_title_test.rs (not served here)
- crates/liwe/tests/html_test.rs (not served here)
- crates/liwe/tests/links_test.rs (not served here)
- crates/liwe/tests/live_resolution_test.rs (not served here)
- crates/liwe/tests/main.rs (not served here)
- crates/liwe/tests/normalization_escapes.rs (not served here)
- crates/liwe/tests/normalization_headers.rs (not served here)
- crates/liwe/tests/normalization_html.rs (not served here)
- crates/liwe/tests/normalization_lists.rs (not served here)
- crates/liwe/tests/normalization_metadata.rs (not served here)
- crates/liwe/tests/normalization_misc.rs (not served here)
- crates/liwe/tests/normalization_raw.rs (not served here)
- crates/liwe/tests/operations_inline_test.rs (not served here)
- crates/liwe/tests/operations_rename_test.rs (not served here)
- crates/liwe/tests/queries.rs (not served here)
- crates/liwe/tests/query_block_update.rs (not served here)
- crates/liwe/tests/query_blocks.rs (not served here)
- crates/liwe/tests/query_content_filter.rs (not served here)
- crates/liwe/tests/query_count.rs (not served here)
- crates/liwe/tests/query_delete.rs (not served here)
- crates/liwe/tests/query_deserialize.rs (not served here)
- crates/liwe/tests/query_filter_expression.rs (not served here)
- crates/liwe/tests/query_find.rs (not served here)
- crates/liwe/tests/query_frontmatter_prefixes.rs (not served here)
- crates/liwe/tests/query_graph.rs (not served here)
- crates/liwe/tests/query_scores.rs (not served here)
- crates/liwe/tests/query_update.rs (not served here)
- crates/liwe/tests/root_keys_test.rs (not served here)
- crates/liwe/tests/roundtrip_test.rs (not served here)
- crates/liwe/tests/squash_test.rs (not served here)
- crates/liwe/tests/task_items_test.rs (not served here)
- crates/liwe/tests/toc_test.rs (not served here)
- crates/liwe/tests/wide_document_test.rs (not served here)
- crates/liwe/tests/writer_escaping_test.rs (not served here)
- docs/Makefile (not served here)
- docs/architecture.md
- docs/benchmark.md
- docs/book.pdf (not served here)
- docs/book.typ (not served here)
- docs/cli-attach.md
- docs/cli-count.md
- docs/cli-create.md
- docs/cli-delete.md
- docs/cli-export.md
- docs/cli-extract.md
- docs/cli-find.md
- docs/cli-init.md
- docs/cli-inline.md
- docs/cli-new.md
- docs/cli-normalize.md
- docs/cli-rename.md
- docs/cli-retrieve.md
- docs/cli-schema.md
- docs/cli-squash.md
- docs/cli-stats.md
- docs/cli-tree.md
- docs/cli-troubleshooting.md
- docs/cli-update.md
- docs/cli-workflows.md
- docs/cli.md
- docs/comparison.md
- docs/configuration.md
- docs/data-model.md
- docs/debug-mode.md
- docs/design-principles.md
- docs/docs-basic.dot (not served here)
- docs/docs-basic.svg (not served here)
- docs/docs-detailed.dot (not served here)
- docs/docs-detailed.svg (not served here)
- docs/document-schema.md
- docs/documents-as-binary-tree.png (not served here)
- docs/feature-ai-commands.md
- docs/feature-attach.md
- docs/feature-auto-format.md
- docs/feature-autocomplete.md
- docs/feature-delete.md
- docs/feature-extract.md
- docs/feature-hover-preview.md
- docs/feature-inlay-hints.md
- docs/feature-inline.md
- docs/feature-link.md
- docs/feature-navigation.md
- docs/feature-normalization.md
- docs/feature-overview.md
- docs/feature-renaming.md
- docs/feature-search.md
- docs/feature-subdirectories.md
- docs/feature-text-manipulation.md
- docs/feature-visualization.md
- docs/helix.md
- docs/how-to-install.md
- docs/how-to-use.md
- docs/inclusion-links.md
- docs/index.md
- docs/keys.md
- docs/mcp.md
- docs/neovim.md
- docs/okf.md
- docs/query-language.md
- docs/search-ranking.md
- docs/spec.md
- docs/vscode.md
- docs/why-it-exists.md (not served here)
- docs/zed.md (not served here)
- glama.json (not served here)
- npm/cli-darwin-arm64/package.json (not served here)
- npm/cli-darwin-x64/package.json (not served here)
- npm/cli-linux-arm64/package.json (not served here)
- npm/cli-linux-x64/package.json (not served here)
- npm/cli-win32-x64/package.json (not served here)
- npm/iwe/README.md (not served here)
- npm/iwe/bin/iwe.js (not served here)
- npm/iwe/bin/iwec.js (not served here)
- npm/iwe/bin/iwes.js (not served here)
- npm/iwe/lib/run.js (not served here)
- npm/iwe/package.json (not served here)
- npm/mcp/README.md (not served here)
- npm/mcp/bin/iwe-mcp.js (not served here)
- npm/mcp/package.json (not served here)
- npm/stamp.js (not served here)
- server.json
Advantages
- Shared context allows agents to access and build upon the same notes written by the user. evidence: README.md
- Memory is stored as human-readable Markdown files that can be easily browsed, corrected, or deleted. evidence: README.md
- Data remains under user control in local folders, avoiding dependency on proprietary cloud storage. evidence: README.md
Limitations
- Requires manual setup of the MCP server or CLI tools to enable agent connectivity. evidence: README.md
- The system does not include an AI model, requiring the user to bring their own agent. evidence: README.md
Security
Risk level: Low risk
This brain runs
Git hooks (1)
.githooks/pre-commit(pre-commit):runs on git pre-commit
- Low risk: scripts-present (.githooks/pre-commit)
Attribution and licence
- Created by
- IWE
- Publisher
- IWE (Official IWE project)
- Source
- iwe-org/iwe · commit b733afe
- Licence
- Apache License 2.0 (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by IWE.
Install from source
414 of its files are not served here, so there is no ZIP. iwe-org/iwe at b733afe