Quick start
Install IWE
Choose your preferred installation method:
Recommended: Install via editor extensions - they include the necessary binaries:
- VSCode: Search “IWE” in extensions or visit the marketplace
- Neovim: Use the official iwe.nvim plugin
- Zed: Search “IWE” in Zed Extensions menu
Install using Rust’s package manager (requires Rust):
cargo install iwe
cargo install iwes
The binaries will be installed to $HOME/.cargo/bin
. Add it to your $PATH
if needed.
Build from source:
git clone https://github.com/iwe-org/iwe.git
cd iwe
cargo build --release
Executables will be in target/release/
directory.
Check the releases page for pre-built binaries or see the installation wiki for package manager options.
Configure your editor
- Go to VSCode extensions
- Search for “IWE” and click install or to go the extension page
After this, the extension should be enabled for Markdown files. It will load the contents of the directory and build a documents graph.
How to use
- Code Actions menu (
⌘
+.
) to see available options for the current element - Go to Definition (
F12
) on a link to open the linked file - Format Document command (
Shift
+Option
+F
) to restructure/format the document - Rename command (
F2
) on a link will rename the file and update all the references - Global notes search (
⌘
+T
) using the headers text
Please provide your feedback in VSCode integration GitHub discussion.
Option 1: IWE Neovim Plugin (Recommended)
For the best experience, use the official iwe.nvim plugin:
{
'iwe-org/iwe.nvim',
dependencies = {
'nvim-telescope/telescope.nvim', -- Required
},
config = function()
require('iwe').setup({
lsp = {
cmd = { "iwes" },
name = "iwes",
debounce_text_changes = 500,
auto_format_on_save = true
},
mappings = {
enable_markdown_mappings = true,
enable_telescope_keybindings = false,
enable_lsp_keybindings = false,
leader = "<leader>",
localleader = "<localleader>"
},
telescope = {
enabled = true,
setup_config = true,
load_extensions = { "ui-select", "emoji" }
}
})
end
}
After installation:
- Run
:checkhealth iwe
to verify setup - Navigate to your notes directory and run
:IWE init
to initialize an IWE project - Open any
.md
file and enjoy enhanced IWE integration
Option 2: Manual LSP Setup
Download IWE binaries from GitHub or follow the installation instructions here to use a package manager.
To enable IWE LSP for markdown files manually, ensure that the
iwes
binary is in your path and add this to your config:
vim.api.nvim_create_autocmd('FileType', {
pattern = 'markdown',
callback = function(args)
vim.lsp.start({
name = 'iwes',
cmd = {'iwes'},
root_dir = vim.fs.root(args.buf, {'.iwe' }),
flags = {
debounce_text_changes = 500
}
})
end,
})
Recommended plugins:
- render-markdown.nvim - Enhanced markdown rendering
- nvim-telescope/telescope.nvim - Fuzzy finder integration
- Go to Zed - Extensions in the main menu
- Search for “IWE” and click install
After this, the extension should be enabled for Markdown files. It will load the contents of the current directory.
How to use
- Code Actions menu (
⌘
+.
) to see available options for the current element - Go to Definition (
F12
) on a link to open the linked file - Format Document command (
Shift
+Option
+F
) to restructure/format the document - Rename command (
F2
) on a link will rename the file and update all the references - Global notes search (
⌘
+T
) using the headers text
Please prorivide your feedback in Zed intregration discussion on GitHub.
- Download IWE binaries from GitHub or follow the installation instructions here to use a package manager.
- Add IWE to your
languages.toml
(usually in~/.config/helix
, create the file if needed):
[language-server.iwe]
command = "iwes"
[[language]]
name = "markdown"
language-servers = [ "iwe" ] # you might want more LSPs in here
auto-format = true # optional, enable format-on-save
(Optional, but highly recommended) Add this to your config to enable inlay hints:
[editor.lsp]
display-inlay-hints = true
Then run:
hx --health markdown
To see configured language servers.
Please prorivide your feedback in Helix intregration discussion on GitHub.
Initialize your workspace
Navigate to your notes directory and initialize an IWE workspace:
iwe init
This creates a .iwe/config.toml
file with default configuration. You can customize AI integrations, templates, and other settings in this file.
Enjoy!
Start writing markdown files and enjoy features like:
- Search: Global note search with fuzzy matching
- Auto-complete: Link suggestions as you type
- Go to definition: Navigate through links seamlessly
- Extract/Embed: Restructure your notes graph
- Auto-formatting: Keep your notes tidy automatically
Help us make it better with your feedback!
For comprehensive documentation, see our documentation section covering configuration, CLI features, and advanced usage.