@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 +106 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +2736 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +339 -0
- package/dist/index.js +1425 -0
- package/dist/index.js.map +1 -0
- package/package.json +67 -0
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
|