| Crates.io | iwe |
| lib.rs | iwe |
| version | 0.0.47 |
| created_at | 2025-01-18 14:11:13.340978+00 |
| updated_at | 2025-09-23 00:27:57.416751+00 |
| description | IWE CLI utility |
| homepage | |
| repository | https://github.com/iwe-org/iwe |
| max_upload_size | |
| id | 1521666 |
| size | 139,096 |
Command-line interface for IWE (IDE for Writing) - a local-first, markdown-based knowledge management tool designed for developers.
Install from source:
cargo install --path .
Or build locally:
cargo build --release
# Initialize a new workspace
mkdir my-notes && cd my-notes
iwe init
# Add some markdown files
echo "# Project Overview" > overview.md
echo "# Meeting Notes\n## Daily Standup" > meetings.md
# Normalize formatting
iwe normalize
# Generate table of contents
iwe contents
# Explore knowledge graph paths
iwe paths
# Export for visualization
iwe export dot > graph.dot
initInitialize a new IWE workspace with configuration.
iwe init
Creates .iwe/config.toml with default settings for markdown processing.
normalizeFormat and normalize all markdown files in the workspace.
iwe normalize
Applies consistent formatting to headers, lists, links, and spacing according to configuration.
pathsList knowledge graph paths through document structure.
iwe paths # Default depth: 4
iwe paths --depth 2 # Limit traversal depth
Shows navigation paths through your content hierarchy.
squashCombine content for a specific document key.
iwe squash --key document-name # Default depth: 2
iwe squash --key project --depth 3 # Custom depth
Flattens hierarchical content into a single markdown document.
contentsGenerate a table of contents for the workspace.
iwe contents
Creates markdown links to all top-level documents.
exportExport knowledge graph in various formats.
iwe export json # JSON format
iwe export dot # DOT format
iwe export json --key project # Filter by key
iwe export dot --depth 3 # Limit depth
IWE uses .iwe/config.toml for workspace configuration:
[library]
path = "" # Relative path to markdown files
[markdown]
normalize_headers = true
normalize_lists = true
# Set up workspace
iwe init
# Process and format files
iwe normalize
# Understand structure
iwe paths --depth 3
iwe contents
# Generate reports
iwe squash --key meetings > all-meetings.md
# Visualize with Graphviz
iwe export dot | dot -Tpng > knowledge-graph.png
# Process with jq
iwe export json | jq '.[] | select(.title | contains("project"))'
# Batch processing
for file in *.md; do
key=$(basename "$file" .md)
iwe squash --key "$key" > "compiled-$key.md"
done
All commands support:
-v, --verbose <LEVEL>: Set verbosity (0-2)-h, --help: Show help information-V, --version: Show versionIWE is optimized for large document collections:
Works well with:
Apache-2.0
For more information, visit iwe.md.