@gettymade/roux 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,106 @@
1
+ ---
2
+ title: Readme
3
+ ---
4
+ # Roux
5
+
6
+ A Graph Programming Interface (GPI) for knowledge bases. Query your markdown files with semantic search and graph traversal via MCP.
7
+
8
+ ## Quick Start
9
+
10
+ ```bash
11
+ # Install
12
+ npm install -g @gettymade/roux
13
+
14
+ # Initialize on your markdown directory
15
+ cd ~/my-notes
16
+ roux init
17
+
18
+ # Start the MCP server
19
+ roux serve
20
+ ```
21
+
22
+ ## What It Does
23
+
24
+ Roux turns a folder of interconnected markdown files into a queryable knowledge graph:
25
+
26
+ - **Semantic search** — Find notes by meaning, not just keywords
27
+ - **Graph traversal** — Follow links, find paths between concepts, identify central nodes
28
+ - **AI co-authoring** — Let Claude (or any MCP client) read, create, and update notes
29
+ - **Human-editable** — Files stay as plain markdown, no lock-in
30
+
31
+ ## Requirements
32
+
33
+ - Node.js 20+
34
+ - Markdown files with optional wiki-links (`[[like this]]`)
35
+
36
+ ## CLI Commands
37
+
38
+ ```bash
39
+ roux init [directory] # Initialize Roux (creates roux.yaml, .roux/, .mcp.json)
40
+ roux serve [directory] # Start MCP server with file watching
41
+ roux serve --no-watch # Start without watching for file changes
42
+ roux status [directory] # Show node/edge/embedding counts
43
+ roux viz [directory] # Generate interactive graph visualization
44
+ roux viz --open # Generate and open in browser
45
+ ```
46
+
47
+ ## MCP Tools
48
+
49
+ When running via `roux serve`, these tools are available to MCP clients:
50
+
51
+ | Tool | Description |
52
+ |------|-------------|
53
+ | `search` | Semantic similarity search |
54
+ | `get_node` | Get node with optional neighbor context |
55
+ | `get_neighbors` | Get linked nodes (in/out/both) |
56
+ | `find_path` | Shortest path between nodes |
57
+ | `get_hubs` | Most central nodes by in-degree |
58
+ | `search_by_tags` | Filter by frontmatter tags |
59
+ | `random_node` | Random discovery |
60
+ | `create_node` | Create new markdown file |
61
+ | `update_node` | Update existing file |
62
+ | `delete_node` | Delete file |
63
+
64
+ ## Configuration
65
+
66
+ Minimal `roux.yaml` (created by `roux init`):
67
+
68
+ ```yaml
69
+ providers:
70
+ store:
71
+ type: docstore
72
+ ```
73
+
74
+ Embeddings use local transformers.js by default. No external services required.
75
+
76
+ ## MCP Client Integration
77
+
78
+ `roux init` automatically creates `.mcp.json` in your project directory. MCP clients will detect and offer to enable the server.
79
+
80
+ No manual configuration needed — just:
81
+
82
+ ```bash
83
+ cd ~/my-notes
84
+ roux init
85
+ # Open the directory in your MCP client
86
+ # It will detect .mcp.json and offer to enable the roux server
87
+ ```
88
+
89
+ Then ask your AI things like:
90
+ - "Search my notes for distributed systems concepts"
91
+ - "What links to my note on consensus algorithms?"
92
+ - "Create a new note summarizing what I learned today"
93
+
94
+ ## How It Works
95
+
96
+ 1. **Parsing** — Reads markdown files, extracts frontmatter and wiki-links
97
+ 2. **Caching** — Stores parsed nodes in SQLite for fast access
98
+ 3. **Embedding** — Generates semantic vectors using local transformers.js
99
+ 4. **Graph** — Builds in-memory graph from wiki-link relationships
100
+ 5. **Serving** — Exposes all operations via MCP protocol
101
+
102
+ File changes sync automatically when running `roux serve`.
103
+
104
+ ## License
105
+
106
+ MIT
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node