ai-mind-map 1.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.
Files changed (154) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +554 -0
  3. package/dist/change-tracker/change-log.d.ts +160 -0
  4. package/dist/change-tracker/change-log.d.ts.map +1 -0
  5. package/dist/change-tracker/change-log.js +507 -0
  6. package/dist/change-tracker/change-log.js.map +1 -0
  7. package/dist/change-tracker/diff-engine.d.ts +149 -0
  8. package/dist/change-tracker/diff-engine.d.ts.map +1 -0
  9. package/dist/change-tracker/diff-engine.js +530 -0
  10. package/dist/change-tracker/diff-engine.js.map +1 -0
  11. package/dist/change-tracker/watcher.d.ts +137 -0
  12. package/dist/change-tracker/watcher.d.ts.map +1 -0
  13. package/dist/change-tracker/watcher.js +300 -0
  14. package/dist/change-tracker/watcher.js.map +1 -0
  15. package/dist/cli.d.ts +20 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +937 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/config.d.ts +38 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/config.js +222 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/context/compressor.d.ts +49 -0
  24. package/dist/context/compressor.d.ts.map +1 -0
  25. package/dist/context/compressor.js +769 -0
  26. package/dist/context/compressor.js.map +1 -0
  27. package/dist/context/progressive-disclosure.d.ts +71 -0
  28. package/dist/context/progressive-disclosure.d.ts.map +1 -0
  29. package/dist/context/progressive-disclosure.js +470 -0
  30. package/dist/context/progressive-disclosure.js.map +1 -0
  31. package/dist/context/token-budget.d.ts +121 -0
  32. package/dist/context/token-budget.d.ts.map +1 -0
  33. package/dist/context/token-budget.js +282 -0
  34. package/dist/context/token-budget.js.map +1 -0
  35. package/dist/index.d.ts +13 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +944 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/install.d.ts +66 -0
  40. package/dist/install.d.ts.map +1 -0
  41. package/dist/install.js +946 -0
  42. package/dist/install.js.map +1 -0
  43. package/dist/knowledge-graph/architecture.d.ts +213 -0
  44. package/dist/knowledge-graph/architecture.d.ts.map +1 -0
  45. package/dist/knowledge-graph/architecture.js +585 -0
  46. package/dist/knowledge-graph/architecture.js.map +1 -0
  47. package/dist/knowledge-graph/cypher.d.ts +113 -0
  48. package/dist/knowledge-graph/cypher.d.ts.map +1 -0
  49. package/dist/knowledge-graph/cypher.js +1051 -0
  50. package/dist/knowledge-graph/cypher.js.map +1 -0
  51. package/dist/knowledge-graph/dead-code.d.ts +121 -0
  52. package/dist/knowledge-graph/dead-code.d.ts.map +1 -0
  53. package/dist/knowledge-graph/dead-code.js +331 -0
  54. package/dist/knowledge-graph/dead-code.js.map +1 -0
  55. package/dist/knowledge-graph/flow-analyzer.d.ts +167 -0
  56. package/dist/knowledge-graph/flow-analyzer.d.ts.map +1 -0
  57. package/dist/knowledge-graph/flow-analyzer.js +739 -0
  58. package/dist/knowledge-graph/flow-analyzer.js.map +1 -0
  59. package/dist/knowledge-graph/graph.d.ts +291 -0
  60. package/dist/knowledge-graph/graph.d.ts.map +1 -0
  61. package/dist/knowledge-graph/graph.js +978 -0
  62. package/dist/knowledge-graph/graph.js.map +1 -0
  63. package/dist/knowledge-graph/index.d.ts +17 -0
  64. package/dist/knowledge-graph/index.d.ts.map +1 -0
  65. package/dist/knowledge-graph/index.js +14 -0
  66. package/dist/knowledge-graph/index.js.map +1 -0
  67. package/dist/knowledge-graph/indexer.d.ts +112 -0
  68. package/dist/knowledge-graph/indexer.d.ts.map +1 -0
  69. package/dist/knowledge-graph/indexer.js +506 -0
  70. package/dist/knowledge-graph/indexer.js.map +1 -0
  71. package/dist/knowledge-graph/pagerank.d.ts +141 -0
  72. package/dist/knowledge-graph/pagerank.d.ts.map +1 -0
  73. package/dist/knowledge-graph/pagerank.js +493 -0
  74. package/dist/knowledge-graph/pagerank.js.map +1 -0
  75. package/dist/knowledge-graph/parser.d.ts +55 -0
  76. package/dist/knowledge-graph/parser.d.ts.map +1 -0
  77. package/dist/knowledge-graph/parser.js +1090 -0
  78. package/dist/knowledge-graph/parser.js.map +1 -0
  79. package/dist/knowledge-graph/snapshot.d.ts +107 -0
  80. package/dist/knowledge-graph/snapshot.d.ts.map +1 -0
  81. package/dist/knowledge-graph/snapshot.js +435 -0
  82. package/dist/knowledge-graph/snapshot.js.map +1 -0
  83. package/dist/memory/decision-log.d.ts +151 -0
  84. package/dist/memory/decision-log.d.ts.map +1 -0
  85. package/dist/memory/decision-log.js +482 -0
  86. package/dist/memory/decision-log.js.map +1 -0
  87. package/dist/memory/persistent-memory.d.ts +182 -0
  88. package/dist/memory/persistent-memory.d.ts.map +1 -0
  89. package/dist/memory/persistent-memory.js +579 -0
  90. package/dist/memory/persistent-memory.js.map +1 -0
  91. package/dist/memory/session-memory.d.ts +165 -0
  92. package/dist/memory/session-memory.d.ts.map +1 -0
  93. package/dist/memory/session-memory.js +382 -0
  94. package/dist/memory/session-memory.js.map +1 -0
  95. package/dist/stress-test.d.ts +10 -0
  96. package/dist/stress-test.d.ts.map +1 -0
  97. package/dist/stress-test.js +258 -0
  98. package/dist/stress-test.js.map +1 -0
  99. package/dist/tools/advanced-tools.d.ts +32 -0
  100. package/dist/tools/advanced-tools.d.ts.map +1 -0
  101. package/dist/tools/advanced-tools.js +480 -0
  102. package/dist/tools/advanced-tools.js.map +1 -0
  103. package/dist/tools/change-tools.d.ts +76 -0
  104. package/dist/tools/change-tools.d.ts.map +1 -0
  105. package/dist/tools/change-tools.js +93 -0
  106. package/dist/tools/change-tools.js.map +1 -0
  107. package/dist/tools/context-tools.d.ts +68 -0
  108. package/dist/tools/context-tools.d.ts.map +1 -0
  109. package/dist/tools/context-tools.js +141 -0
  110. package/dist/tools/context-tools.js.map +1 -0
  111. package/dist/tools/debug-tools.d.ts +25 -0
  112. package/dist/tools/debug-tools.d.ts.map +1 -0
  113. package/dist/tools/debug-tools.js +286 -0
  114. package/dist/tools/debug-tools.js.map +1 -0
  115. package/dist/tools/evolving-tools.d.ts +23 -0
  116. package/dist/tools/evolving-tools.d.ts.map +1 -0
  117. package/dist/tools/evolving-tools.js +207 -0
  118. package/dist/tools/evolving-tools.js.map +1 -0
  119. package/dist/tools/flow-tools.d.ts +24 -0
  120. package/dist/tools/flow-tools.d.ts.map +1 -0
  121. package/dist/tools/flow-tools.js +265 -0
  122. package/dist/tools/flow-tools.js.map +1 -0
  123. package/dist/tools/graph-tools.d.ts +71 -0
  124. package/dist/tools/graph-tools.d.ts.map +1 -0
  125. package/dist/tools/graph-tools.js +165 -0
  126. package/dist/tools/graph-tools.js.map +1 -0
  127. package/dist/tools/memory-tools.d.ts +62 -0
  128. package/dist/tools/memory-tools.d.ts.map +1 -0
  129. package/dist/tools/memory-tools.js +195 -0
  130. package/dist/tools/memory-tools.js.map +1 -0
  131. package/dist/tools/smart-tools.d.ts +23 -0
  132. package/dist/tools/smart-tools.d.ts.map +1 -0
  133. package/dist/tools/smart-tools.js +482 -0
  134. package/dist/tools/smart-tools.js.map +1 -0
  135. package/dist/tools/snapshot-tools.d.ts +19 -0
  136. package/dist/tools/snapshot-tools.d.ts.map +1 -0
  137. package/dist/tools/snapshot-tools.js +149 -0
  138. package/dist/tools/snapshot-tools.js.map +1 -0
  139. package/dist/types.d.ts +181 -0
  140. package/dist/types.d.ts.map +1 -0
  141. package/dist/types.js +45 -0
  142. package/dist/types.js.map +1 -0
  143. package/dist/utils/logger.d.ts +59 -0
  144. package/dist/utils/logger.d.ts.map +1 -0
  145. package/dist/utils/logger.js +142 -0
  146. package/dist/utils/logger.js.map +1 -0
  147. package/dist/utils/token-counter.d.ts +51 -0
  148. package/dist/utils/token-counter.d.ts.map +1 -0
  149. package/dist/utils/token-counter.js +181 -0
  150. package/dist/utils/token-counter.js.map +1 -0
  151. package/install.ps1 +321 -0
  152. package/install.sh +345 -0
  153. package/package.json +94 -0
  154. package/setup.bat +62 -0
package/install.sh ADDED
@@ -0,0 +1,345 @@
1
+ #!/usr/bin/env bash
2
+ # ──────────────────────────────────────────────────────────────────────────────
3
+ # AI Mind Map — One-line installer for macOS / Linux
4
+ #
5
+ # Usage:
6
+ # curl -fsSL https://raw.githubusercontent.com/shdra06/ai-mind-map/main/install.sh | bash
7
+ #
8
+ # Or with options:
9
+ # bash install.sh --install-dir ~/my-tools/ai-mind-map --skip-config
10
+ #
11
+ # Flags:
12
+ # --install-dir <path> Custom install directory (default: ~/.ai-mind-map)
13
+ # --skip-config Skip AI agent auto-configuration
14
+ # --update Force update mode (git pull + rebuild)
15
+ # --help Show this help message
16
+ # ──────────────────────────────────────────────────────────────────────────────
17
+ set -euo pipefail
18
+
19
+ # ── Constants ────────────────────────────────────────────────────────────────
20
+ REPO_URL="https://github.com/shdra06/ai-mind-map.git"
21
+ MIN_NODE_MAJOR=18
22
+ ENTRY_POINT="dist/index.js"
23
+ INSTALL_DIR="${HOME}/.ai-mind-map"
24
+ SKIP_CONFIG=false
25
+ FORCE_UPDATE=false
26
+
27
+ # ── Colors ───────────────────────────────────────────────────────────────────
28
+ if [[ -t 1 ]]; then
29
+ RED='\033[0;31m'
30
+ GREEN='\033[0;32m'
31
+ YELLOW='\033[0;33m'
32
+ BLUE='\033[0;34m'
33
+ CYAN='\033[0;36m'
34
+ WHITE='\033[1;37m'
35
+ GRAY='\033[0;90m'
36
+ NC='\033[0m'
37
+ else
38
+ RED='' GREEN='' YELLOW='' BLUE='' CYAN='' WHITE='' GRAY='' NC=''
39
+ fi
40
+
41
+ # ── Banner ───────────────────────────────────────────────────────────────────
42
+ show_banner() {
43
+ echo -e "${CYAN}"
44
+ cat << 'EOF'
45
+
46
+ █████╗ ██╗ ███╗ ███╗██╗███╗ ██╗██████╗ ███╗ ███╗ █████╗ ██████╗
47
+ ██╔══██╗██║ ████╗ ████║██║████╗ ██║██╔══██╗ ████╗ ████║██╔══██╗██╔══██╗
48
+ ███████║██║ ██╔████╔██║██║██╔██╗ ██║██║ ██║ ██╔████╔██║███████║██████╔╝
49
+ ██╔══██║██║ ██║╚██╔╝██║██║██║╚██╗██║██║ ██║ ██║╚██╔╝██║██╔══██║██╔═══╝
50
+ ██║ ██║██║ ██║ ╚═╝ ██║██║██║ ╚████║██████╔╝ ██║ ╚═╝ ██║██║ ██║██║
51
+ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝
52
+
53
+ MCP Server — Reduce AI token usage by 80-99%
54
+ https://github.com/shdra06/ai-mind-map
55
+
56
+ EOF
57
+ echo -e "${NC}"
58
+ }
59
+
60
+ # ── Helpers ──────────────────────────────────────────────────────────────────
61
+ step() { echo -e " ${BLUE}[*]${NC} $1"; }
62
+ ok() { echo -e " ${GREEN}[✓]${NC} $1"; }
63
+ warn() { echo -e " ${YELLOW}[!]${NC} $1"; }
64
+ err() { echo -e " ${RED}[✗]${NC} $1"; }
65
+ die() { err "$1"; exit 1; }
66
+
67
+ command_exists() { command -v "$1" &>/dev/null; }
68
+
69
+ # ── Parse Arguments ─────────────────────────────────────────────────────────
70
+ parse_args() {
71
+ while [[ $# -gt 0 ]]; do
72
+ case "$1" in
73
+ --install-dir)
74
+ INSTALL_DIR="$2"
75
+ shift 2
76
+ ;;
77
+ --skip-config)
78
+ SKIP_CONFIG=true
79
+ shift
80
+ ;;
81
+ --update)
82
+ FORCE_UPDATE=true
83
+ shift
84
+ ;;
85
+ --help|-h)
86
+ echo "Usage: install.sh [--install-dir <path>] [--skip-config] [--update]"
87
+ echo ""
88
+ echo "Options:"
89
+ echo " --install-dir <path> Custom install directory (default: ~/.ai-mind-map)"
90
+ echo " --skip-config Skip AI agent auto-configuration"
91
+ echo " --update Force update mode"
92
+ echo " --help Show this help message"
93
+ exit 0
94
+ ;;
95
+ *)
96
+ die "Unknown option: $1 (use --help for usage)"
97
+ ;;
98
+ esac
99
+ done
100
+ }
101
+
102
+ # ── Pre-flight Checks ───────────────────────────────────────────────────────
103
+ assert_prerequisites() {
104
+ echo -e "\n ${WHITE}Checking prerequisites...${NC}"
105
+
106
+ # Node.js
107
+ if ! command_exists node; then
108
+ die "Node.js is not installed.\n Install via: https://nodejs.org or use nvm:\n curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash\n nvm install ${MIN_NODE_MAJOR}"
109
+ fi
110
+
111
+ local node_version
112
+ node_version=$(node --version 2>/dev/null || echo "")
113
+ local node_major
114
+ node_major=$(echo "$node_version" | sed -n 's/^v\([0-9]*\)\..*/\1/p')
115
+
116
+ if [[ -z "$node_major" ]]; then
117
+ die "Could not determine Node.js version from: ${node_version}"
118
+ fi
119
+
120
+ if [[ "$node_major" -lt "$MIN_NODE_MAJOR" ]]; then
121
+ die "Node.js v${MIN_NODE_MAJOR}+ is required. Found: ${node_version}\n Update: https://nodejs.org or nvm install ${MIN_NODE_MAJOR}"
122
+ fi
123
+ ok "Node.js ${node_version}"
124
+
125
+ # npm
126
+ if ! command_exists npm; then
127
+ die "npm is not installed. It should come with Node.js — try reinstalling Node."
128
+ fi
129
+ local npm_version
130
+ npm_version=$(npm --version 2>/dev/null)
131
+ ok "npm v${npm_version}"
132
+
133
+ # Git
134
+ if ! command_exists git; then
135
+ die "Git is not installed.\n Install via your package manager:\n macOS: brew install git\n Ubuntu: sudo apt install git\n Fedora: sudo dnf install git"
136
+ fi
137
+ local git_version
138
+ git_version=$(git --version 2>/dev/null)
139
+ ok "${git_version}"
140
+ }
141
+
142
+ # ── Install / Update ────────────────────────────────────────────────────────
143
+ install_ai_mind_map() {
144
+ local is_existing=false
145
+ [[ -d "${INSTALL_DIR}/.git" ]] && is_existing=true
146
+
147
+ # Decide: fresh install or update
148
+ if $is_existing && ! $FORCE_UPDATE; then
149
+ warn "AI Mind Map is already installed at: ${INSTALL_DIR}"
150
+ read -rp " Update to latest version? (Y/n) " choice
151
+ if [[ "$choice" =~ ^[Nn] ]]; then
152
+ echo -e "\n ${GRAY}Installation cancelled.${NC}"
153
+ exit 0
154
+ fi
155
+ FORCE_UPDATE=true
156
+ fi
157
+
158
+ if $FORCE_UPDATE && $is_existing; then
159
+ # ── Update ───────────────────────────────────────────────────────
160
+ echo -e "\n ${WHITE}Updating AI Mind Map...${NC}"
161
+ step "Pulling latest changes..."
162
+ if ! git -C "${INSTALL_DIR}" pull --ff-only 2>/dev/null; then
163
+ warn "Fast-forward pull failed. Trying git pull --rebase..."
164
+ if ! git -C "${INSTALL_DIR}" pull --rebase; then
165
+ die "Git pull failed. You may have local changes.\n Resolve manually in: ${INSTALL_DIR}"
166
+ fi
167
+ fi
168
+ ok "Repository updated"
169
+ else
170
+ # ── Fresh install ────────────────────────────────────────────────
171
+ echo -e "\n ${WHITE}Installing AI Mind Map...${NC}"
172
+ step "Cloning repository to: ${INSTALL_DIR}"
173
+ if [[ -d "$INSTALL_DIR" ]]; then
174
+ warn "Directory exists but is not a git repo. Removing..."
175
+ rm -rf "$INSTALL_DIR"
176
+ fi
177
+ if ! git clone "$REPO_URL" "$INSTALL_DIR"; then
178
+ die "Failed to clone repository.\n Check your internet connection and try again."
179
+ fi
180
+ ok "Repository cloned"
181
+ fi
182
+
183
+ # ── Install dependencies ─────────────────────────────────────────────
184
+ step "Installing dependencies (this may take a minute)..."
185
+ if ! (cd "$INSTALL_DIR" && npm install --legacy-peer-deps); then
186
+ die "npm install failed. Check the output above for errors."
187
+ fi
188
+ ok "Dependencies installed"
189
+
190
+ # ── Build ────────────────────────────────────────────────────────────
191
+ step "Building TypeScript..."
192
+ if ! (cd "$INSTALL_DIR" && npx tsc); then
193
+ die "TypeScript build failed. Check the output above for errors."
194
+ fi
195
+ ok "Build complete"
196
+
197
+ # ── Verify build ─────────────────────────────────────────────────────
198
+ if [[ ! -f "${INSTALL_DIR}/${ENTRY_POINT}" ]]; then
199
+ die "Build verification failed: ${ENTRY_POINT} not found.\n Please report: https://github.com/shdra06/ai-mind-map/issues"
200
+ fi
201
+ ok "Build verified (${ENTRY_POINT} exists)"
202
+
203
+ # ── Symlink / PATH ───────────────────────────────────────────────────
204
+ create_symlink
205
+
206
+ # ── Agent configuration ──────────────────────────────────────────────
207
+ if ! $SKIP_CONFIG; then
208
+ configure_agents
209
+ fi
210
+
211
+ # ── Done ─────────────────────────────────────────────────────────────
212
+ show_success
213
+ }
214
+
215
+ # ── Symlink ──────────────────────────────────────────────────────────────────
216
+ create_symlink() {
217
+ local bin_dir=""
218
+ local link_path=""
219
+
220
+ # Prefer /usr/local/bin if writable, otherwise ~/bin or ~/.local/bin
221
+ if [[ -d "/usr/local/bin" && -w "/usr/local/bin" ]]; then
222
+ bin_dir="/usr/local/bin"
223
+ elif [[ -d "${HOME}/.local/bin" ]]; then
224
+ bin_dir="${HOME}/.local/bin"
225
+ elif [[ -d "${HOME}/bin" ]]; then
226
+ bin_dir="${HOME}/bin"
227
+ else
228
+ # Create ~/.local/bin
229
+ bin_dir="${HOME}/.local/bin"
230
+ mkdir -p "$bin_dir"
231
+ fi
232
+
233
+ link_path="${bin_dir}/ai-mind-map"
234
+
235
+ # Create a wrapper script instead of a direct symlink (more portable)
236
+ cat > "${link_path}" << WRAPPER
237
+ #!/usr/bin/env bash
238
+ exec node "${INSTALL_DIR}/${ENTRY_POINT}" "\$@"
239
+ WRAPPER
240
+ chmod +x "${link_path}"
241
+ ok "Created wrapper: ${link_path}"
242
+
243
+ # Check if bin_dir is in PATH
244
+ if [[ ":${PATH}:" != *":${bin_dir}:"* ]]; then
245
+ warn "${bin_dir} is not in your PATH."
246
+ local shell_rc=""
247
+ if [[ -f "${HOME}/.zshrc" ]]; then
248
+ shell_rc="${HOME}/.zshrc"
249
+ elif [[ -f "${HOME}/.bashrc" ]]; then
250
+ shell_rc="${HOME}/.bashrc"
251
+ elif [[ -f "${HOME}/.bash_profile" ]]; then
252
+ shell_rc="${HOME}/.bash_profile"
253
+ fi
254
+
255
+ if [[ -n "$shell_rc" ]]; then
256
+ local path_line="export PATH=\"${bin_dir}:\$PATH\""
257
+ if ! grep -qF "$bin_dir" "$shell_rc" 2>/dev/null; then
258
+ echo "" >> "$shell_rc"
259
+ echo "# AI Mind Map" >> "$shell_rc"
260
+ echo "$path_line" >> "$shell_rc"
261
+ ok "Added ${bin_dir} to PATH in ${shell_rc}"
262
+ warn "Run 'source ${shell_rc}' or restart your terminal."
263
+ fi
264
+ else
265
+ warn "Add this to your shell profile: export PATH=\"${bin_dir}:\$PATH\""
266
+ fi
267
+ fi
268
+ }
269
+
270
+ # ── Agent Auto-Configuration ────────────────────────────────────────────────
271
+ configure_agents() {
272
+ echo -e "\n ${WHITE}Detecting AI agents...${NC}"
273
+
274
+ local agents=()
275
+
276
+ # Claude Desktop
277
+ local claude_mac="${HOME}/Library/Application Support/Claude/claude_desktop_config.json"
278
+ local claude_linux="${HOME}/.config/Claude/claude_desktop_config.json"
279
+ [[ -f "$claude_mac" || -f "$claude_linux" ]] && agents+=("Claude Desktop")
280
+
281
+ # Claude Code
282
+ [[ -d "${HOME}/.claude" ]] && agents+=("Claude Code")
283
+
284
+ # Cursor
285
+ [[ -d "${HOME}/.cursor" ]] && agents+=("Cursor")
286
+
287
+ # VS Code
288
+ [[ -d "${HOME}/.config/Code/User" || -d "${HOME}/Library/Application Support/Code/User" ]] && agents+=("VS Code")
289
+
290
+ if [[ ${#agents[@]} -eq 0 ]]; then
291
+ warn "No AI agents detected. See README for manual setup."
292
+ return
293
+ fi
294
+
295
+ ok "Detected: $(IFS=', '; echo "${agents[*]}")"
296
+ echo ""
297
+ echo -e " ${WHITE}To configure an agent, add this to its MCP config:${NC}"
298
+ echo -e "${GRAY}"
299
+ cat << CONFEOF
300
+
301
+ {
302
+ "mcpServers": {
303
+ "ai-mind-map": {
304
+ "command": "node",
305
+ "args": [
306
+ "${INSTALL_DIR}/${ENTRY_POINT}",
307
+ "--project-root",
308
+ "<YOUR_PROJECT_PATH>"
309
+ ]
310
+ }
311
+ }
312
+ }
313
+
314
+ CONFEOF
315
+ echo -e "${NC}"
316
+ }
317
+
318
+ # ── Success ──────────────────────────────────────────────────────────────────
319
+ show_success() {
320
+ echo ""
321
+ echo -e " ${GREEN}────────────────────────────────────────────────────────────${NC}"
322
+ echo -e " ${GREEN}✅ AI Mind Map installed successfully!${NC}"
323
+ echo -e " ${GREEN}────────────────────────────────────────────────────────────${NC}"
324
+ echo ""
325
+ echo -e " ${WHITE}Location:${NC} ${INSTALL_DIR}"
326
+ echo ""
327
+ echo -e " ${WHITE}Next steps:${NC}"
328
+ echo -e " ${GRAY} 1. Configure your AI agent (see above or README)${NC}"
329
+ echo -e " ${GRAY} 2. Test with: node \"${INSTALL_DIR}/${ENTRY_POINT}\" --project-root .${NC}"
330
+ echo -e " ${GRAY} 3. Star the repo: https://github.com/shdra06/ai-mind-map${NC}"
331
+ echo ""
332
+ echo -e " ${YELLOW}To update later: bash install.sh --update${NC}"
333
+ echo -e " ${YELLOW}Full docs: https://github.com/shdra06/ai-mind-map#readme${NC}"
334
+ echo ""
335
+ }
336
+
337
+ # ── Main ─────────────────────────────────────────────────────────────────────
338
+ main() {
339
+ parse_args "$@"
340
+ show_banner
341
+ assert_prerequisites
342
+ install_ai_mind_map
343
+ }
344
+
345
+ main "$@"
package/package.json ADDED
@@ -0,0 +1,94 @@
1
+ {
2
+ "name": "ai-mind-map",
3
+ "version": "1.1.0",
4
+ "description": "AI Mind Map — MCP server that reduces AI coding agent token usage by 80-99% through persistent codebase memory, knowledge graphs, and intelligent context management",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "ai-mind-map": "dist/cli.js",
9
+ "ai-mind-map-server": "dist/index.js"
10
+ },
11
+ "files": [
12
+ "dist/",
13
+ "install.sh",
14
+ "install.ps1",
15
+ "setup.bat",
16
+ "README.md",
17
+ "LICENSE"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "start": "node dist/index.js",
22
+ "cli": "node dist/cli.js",
23
+ "dev": "tsc --watch",
24
+ "typecheck": "tsc --noEmit",
25
+ "inspect": "node --inspect dist/index.js",
26
+ "test": "npx tsx --test tests/*.test.ts",
27
+ "test:watch": "npx tsx --test --watch tests/*.test.ts",
28
+ "postinstall": "node dist/cli.js doctor 2>/dev/null || true",
29
+ "prepublishOnly": "npm run build && npm test"
30
+ },
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+https://github.com/shdra06/ai-mind-map.git"
34
+ },
35
+ "homepage": "https://github.com/shdra06/ai-mind-map#readme",
36
+ "bugs": {
37
+ "url": "https://github.com/shdra06/ai-mind-map/issues"
38
+ },
39
+ "author": "shdra06",
40
+ "engines": {
41
+ "node": ">=18.0.0"
42
+ },
43
+ "dependencies": {
44
+ "@anthropic-ai/sdk": "^0.39.0",
45
+ "@modelcontextprotocol/sdk": "^1.12.1",
46
+ "better-sqlite3": "^11.8.2",
47
+ "chokidar": "^4.0.3",
48
+ "glob": "^11.0.1",
49
+ "ignore": "^7.0.4",
50
+ "simple-git": "^3.27.0",
51
+ "tree-sitter": "^0.22.4",
52
+ "tree-sitter-bash": "*",
53
+ "tree-sitter-c": "*",
54
+ "tree-sitter-c-sharp": "*",
55
+ "tree-sitter-cpp": "*",
56
+ "tree-sitter-css": "*",
57
+ "tree-sitter-go": "*",
58
+ "tree-sitter-html": "*",
59
+ "tree-sitter-java": "*",
60
+ "tree-sitter-javascript": "*",
61
+ "tree-sitter-json": "*",
62
+ "tree-sitter-php": "*",
63
+ "tree-sitter-python": "*",
64
+ "tree-sitter-ruby": "*",
65
+ "tree-sitter-rust": "*",
66
+ "tree-sitter-typescript": "*",
67
+ "zod": "^3.24.4"
68
+ },
69
+ "devDependencies": {
70
+ "@types/better-sqlite3": "^7.6.13",
71
+ "@types/node": "^22.15.0",
72
+ "tsx": "^4.22.4",
73
+ "typescript": "^5.8.3"
74
+ },
75
+ "keywords": [
76
+ "ai",
77
+ "mcp",
78
+ "mcp-server",
79
+ "token-optimization",
80
+ "knowledge-graph",
81
+ "tree-sitter",
82
+ "codebase-memory",
83
+ "context-management",
84
+ "llm",
85
+ "claude",
86
+ "cursor",
87
+ "copilot",
88
+ "coding-assistant",
89
+ "persistent-memory",
90
+ "pagerank",
91
+ "ast-parser"
92
+ ],
93
+ "license": "MIT"
94
+ }
package/setup.bat ADDED
@@ -0,0 +1,62 @@
1
+ @echo off
2
+ echo.
3
+ echo ========================================
4
+ echo AI Mind Map - One-Click Setup
5
+ echo Token Optimization MCP Server
6
+ echo ========================================
7
+ echo.
8
+
9
+ :: Check Node.js
10
+ where node >nul 2>nul
11
+ if %ERRORLEVEL% neq 0 (
12
+ echo [ERROR] Node.js is not installed!
13
+ echo Please install Node.js from: https://nodejs.org
14
+ echo Minimum version: 18.0.0
15
+ pause
16
+ exit /b 1
17
+ )
18
+
19
+ :: Check Node version
20
+ for /f "tokens=1 delims=v" %%i in ('node -v') do set NODE_VER=%%i
21
+ echo [OK] Node.js found: v%NODE_VER%
22
+
23
+ :: Install dependencies
24
+ echo.
25
+ echo [1/3] Installing dependencies...
26
+ call npm install --legacy-peer-deps
27
+ if %ERRORLEVEL% neq 0 (
28
+ echo [ERROR] npm install failed!
29
+ pause
30
+ exit /b 1
31
+ )
32
+ echo [OK] Dependencies installed
33
+
34
+ :: Build TypeScript
35
+ echo.
36
+ echo [2/3] Building TypeScript...
37
+ call npx tsc
38
+ if %ERRORLEVEL% neq 0 (
39
+ echo [ERROR] Build failed!
40
+ pause
41
+ exit /b 1
42
+ )
43
+ echo [OK] Build complete
44
+
45
+ :: Get absolute path
46
+ set MINDMAP_PATH=%~dp0dist\index.js
47
+ echo.
48
+ echo [3/3] Setup complete!
49
+ echo.
50
+ echo ========================================
51
+ echo INSTALLATION SUCCESSFUL!
52
+ echo ========================================
53
+ echo.
54
+ echo Server path: %MINDMAP_PATH%
55
+ echo.
56
+ echo Next: Add this MCP server to your AI agent.
57
+ echo See README.md for configuration instructions.
58
+ echo.
59
+ echo Quick test:
60
+ echo node "%MINDMAP_PATH%" --project-root "YOUR_PROJECT_PATH"
61
+ echo.
62
+ pause