@hyperlynq/synaptic 0.7.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 (98) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +427 -0
  3. package/build/scripts/rebuild-index.d.ts +5 -0
  4. package/build/scripts/rebuild-index.js +33 -0
  5. package/build/src/cli/init.d.ts +13 -0
  6. package/build/src/cli/init.js +222 -0
  7. package/build/src/cli/init.js.map +1 -0
  8. package/build/src/cli/pre-commit.d.ts +6 -0
  9. package/build/src/cli/pre-commit.js +159 -0
  10. package/build/src/cli/pre-commit.js.map +1 -0
  11. package/build/src/cli.d.ts +2 -0
  12. package/build/src/cli.js +36 -0
  13. package/build/src/cli.js.map +1 -0
  14. package/build/src/hooks/pre-compact.d.ts +6 -0
  15. package/build/src/hooks/pre-compact.js +64 -0
  16. package/build/src/hooks/pre-compact.js.map +1 -0
  17. package/build/src/hooks/session-start.d.ts +13 -0
  18. package/build/src/hooks/session-start.js +277 -0
  19. package/build/src/hooks/session-start.js.map +1 -0
  20. package/build/src/hooks/stop.d.ts +7 -0
  21. package/build/src/hooks/stop.js +248 -0
  22. package/build/src/hooks/stop.js.map +1 -0
  23. package/build/src/index.d.ts +1 -0
  24. package/build/src/index.js +8 -0
  25. package/build/src/index.js.map +1 -0
  26. package/build/src/server.d.ts +6 -0
  27. package/build/src/server.js +133 -0
  28. package/build/src/server.js.map +1 -0
  29. package/build/src/storage/embedder.d.ts +27 -0
  30. package/build/src/storage/embedder.js +126 -0
  31. package/build/src/storage/embedder.js.map +1 -0
  32. package/build/src/storage/git.d.ts +20 -0
  33. package/build/src/storage/git.js +98 -0
  34. package/build/src/storage/git.js.map +1 -0
  35. package/build/src/storage/maintenance.d.ts +9 -0
  36. package/build/src/storage/maintenance.js +46 -0
  37. package/build/src/storage/maintenance.js.map +1 -0
  38. package/build/src/storage/markdown.d.ts +21 -0
  39. package/build/src/storage/markdown.js +79 -0
  40. package/build/src/storage/markdown.js.map +1 -0
  41. package/build/src/storage/paths.d.ts +6 -0
  42. package/build/src/storage/paths.js +17 -0
  43. package/build/src/storage/paths.js.map +1 -0
  44. package/build/src/storage/project.d.ts +2 -0
  45. package/build/src/storage/project.js +35 -0
  46. package/build/src/storage/project.js.map +1 -0
  47. package/build/src/storage/session.d.ts +1 -0
  48. package/build/src/storage/session.js +17 -0
  49. package/build/src/storage/session.js.map +1 -0
  50. package/build/src/storage/sqlite.d.ts +102 -0
  51. package/build/src/storage/sqlite.js +830 -0
  52. package/build/src/storage/sqlite.js.map +1 -0
  53. package/build/src/storage/watcher.d.ts +22 -0
  54. package/build/src/storage/watcher.js +126 -0
  55. package/build/src/storage/watcher.js.map +1 -0
  56. package/build/src/tools/context-archive.d.ts +11 -0
  57. package/build/src/tools/context-archive.js +13 -0
  58. package/build/src/tools/context-archive.js.map +1 -0
  59. package/build/src/tools/context-chain.d.ts +12 -0
  60. package/build/src/tools/context-chain.js +26 -0
  61. package/build/src/tools/context-chain.js.map +1 -0
  62. package/build/src/tools/context-cochanges.d.ts +20 -0
  63. package/build/src/tools/context-cochanges.js +25 -0
  64. package/build/src/tools/context-cochanges.js.map +1 -0
  65. package/build/src/tools/context-delete-rule.d.ts +11 -0
  66. package/build/src/tools/context-delete-rule.js +12 -0
  67. package/build/src/tools/context-delete-rule.js.map +1 -0
  68. package/build/src/tools/context-dna.d.ts +18 -0
  69. package/build/src/tools/context-dna.js +197 -0
  70. package/build/src/tools/context-dna.js.map +1 -0
  71. package/build/src/tools/context-git-index.d.ts +17 -0
  72. package/build/src/tools/context-git-index.js +59 -0
  73. package/build/src/tools/context-git-index.js.map +1 -0
  74. package/build/src/tools/context-list-rules.d.ts +8 -0
  75. package/build/src/tools/context-list-rules.js +11 -0
  76. package/build/src/tools/context-list-rules.js.map +1 -0
  77. package/build/src/tools/context-list.d.ts +26 -0
  78. package/build/src/tools/context-list.js +42 -0
  79. package/build/src/tools/context-list.js.map +1 -0
  80. package/build/src/tools/context-resolve-pattern.d.ts +11 -0
  81. package/build/src/tools/context-resolve-pattern.js +9 -0
  82. package/build/src/tools/context-resolve-pattern.js.map +1 -0
  83. package/build/src/tools/context-save-rule.d.ts +14 -0
  84. package/build/src/tools/context-save-rule.js +15 -0
  85. package/build/src/tools/context-save-rule.js.map +1 -0
  86. package/build/src/tools/context-save.d.ts +26 -0
  87. package/build/src/tools/context-save.js +68 -0
  88. package/build/src/tools/context-save.js.map +1 -0
  89. package/build/src/tools/context-search.d.ts +31 -0
  90. package/build/src/tools/context-search.js +99 -0
  91. package/build/src/tools/context-search.js.map +1 -0
  92. package/build/src/tools/context-session.d.ts +13 -0
  93. package/build/src/tools/context-session.js +29 -0
  94. package/build/src/tools/context-session.js.map +1 -0
  95. package/build/src/tools/context-status.d.ts +13 -0
  96. package/build/src/tools/context-status.js +15 -0
  97. package/build/src/tools/context-status.js.map +1 -0
  98. package/package.json +57 -0
package/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2026 HYPERLYNQ. All rights reserved.
2
+
3
+ Permission is hereby granted to any person to use this software for personal
4
+ or internal purposes, subject to the following conditions:
5
+
6
+ 1. You MAY use this software as-is for your own projects.
7
+ 2. You may NOT copy, modify, merge, publish, distribute, sublicense, or sell
8
+ copies of the source code or substantial portions of it.
9
+ 3. You may NOT create derivative works based on this software.
10
+ 4. This copyright notice and permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,427 @@
1
+ <div align="center">
2
+
3
+ ```
4
+ ███████╗██╗ ██╗███╗ ██╗ █████╗ ██████╗ ████████╗██╗ ██████╗
5
+ ██╔════╝╚██╗ ██╔╝████╗ ██║██╔══██╗██╔══██╗╚══██╔══╝██║██╔════╝
6
+ ███████╗ ╚████╔╝ ██╔██╗ ██║███████║██████╔╝ ██║ ██║██║
7
+ ╚════██║ ╚██╔╝ ██║╚██╗██║██╔══██║██╔═══╝ ██║ ██║██║
8
+ ███████║ ██║ ██║ ╚████║██║ ██║██║ ██║ ██║╚██████╗
9
+ ╚══════╝ ╚═╝ ╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝
10
+ ```
11
+
12
+ ### Persistent memory for Claude Code
13
+
14
+ **Claude forgets everything between sessions. Synaptic fixes that.**
15
+
16
+ [![Version](https://img.shields.io/badge/version-0.7.0-blue)](https://github.com/HYPERLYNQ/synaptic)
17
+ [![Tests](https://img.shields.io/badge/tests-147%20passing-brightgreen)](https://github.com/HYPERLYNQ/synaptic)
18
+ [![Node](https://img.shields.io/badge/node-22%2B-339933)](https://nodejs.org)
19
+ [![License](https://img.shields.io/badge/license-source--available-orange)](LICENSE)
20
+
21
+ [Getting Started](#getting-started) · [Features](#features) · [How It Works](#how-it-works) · [Enterprise](#enterprise)
22
+
23
+ </div>
24
+
25
+ <br>
26
+
27
+ Every time you start a new Claude Code session, Claude doesn't remember what you worked on yesterday, what decisions you made, or what bugs you hit.
28
+
29
+ Synaptic gives Claude a **persistent memory** that carries across sessions. Decisions, insights, bug fixes, project patterns — saved locally and surfaced automatically when Claude starts up.
30
+
31
+ No cloud. No API keys. Everything stays on your machine.
32
+
33
+ <br>
34
+
35
+ ---
36
+
37
+ <br>
38
+
39
+ ## Why Not Just Use Claude's Built-In Memory?
40
+
41
+ Claude Code already has a few memory features. Here's how Synaptic is different.
42
+
43
+ <br>
44
+
45
+ ### CLAUDE.md
46
+
47
+ `CLAUDE.md` is a file you write by hand with project instructions. Claude reads it at the start of each session. It's great for static rules like "use tabs" or "run pytest."
48
+
49
+ But it doesn't capture anything that happens *during* a session — the bugs you found, the decisions you made, the dead ends you explored. When you close the terminal, all of that is gone.
50
+
51
+ <br>
52
+
53
+ ### Auto-Compacting
54
+
55
+ When Claude runs out of context window, it compresses the conversation to make room. This loses detail and nuance.
56
+
57
+ Synaptic's **PreCompact hook** runs *before* compression happens. It saves the important parts to permanent storage. After compacting, Claude still has access to what mattered.
58
+
59
+ <br>
60
+
61
+ ### Auto-Memory
62
+
63
+ Claude's auto-memory (`~/.claude/memory/`) saves short notes to files. But there's no real search, no semantic understanding, no awareness of which notes are related, and no way for old notes to expire naturally. It's a flat list that grows forever.
64
+
65
+ <br>
66
+
67
+ ### The Comparison
68
+
69
+ | | CLAUDE.md | Auto Memory | **Synaptic** |
70
+ |:---|:---|:---|:---|
71
+ | What it stores | Static instructions | Short notes | Typed, tagged, tiered entries |
72
+ | Search | None | Filename only | Keyword + semantic similarity |
73
+ | Cross-session | Only what you manually write | Basic notes | Handoffs, chains, failure history |
74
+ | Git awareness | None | None | Commits, co-changes, codebase DNA |
75
+ | Memory cleanup | Manual | Grows forever | Auto-decay by tier |
76
+ | Pattern detection | None | None | Tracks recurring failures |
77
+ | Auto-capture | None | None | Detects declarations, preferences, corrections |
78
+ | Predictive context | None | None | Surfaces relevant history at session start |
79
+
80
+ <br>
81
+
82
+ **Synaptic doesn't replace `CLAUDE.md`** — it complements it. Use `CLAUDE.md` for static project instructions. Use Synaptic for the living, evolving knowledge that builds up as you work.
83
+
84
+ <br>
85
+
86
+ ---
87
+
88
+ <br>
89
+
90
+ ## Getting Started
91
+
92
+ ### What You Need
93
+
94
+ - **Node.js 22+** — uses Node's built-in SQLite
95
+ - **Claude Code** — Anthropic's CLI tool
96
+
97
+ <br>
98
+
99
+ ### Install
100
+
101
+ ```bash
102
+ npx @hyperlynq/synaptic init
103
+ ```
104
+
105
+ That's it. The `init` command auto-detects your environment (Linux, macOS, WSL) and configures everything:
106
+
107
+ - **MCP server** — so Claude can use Synaptic's tools
108
+ - **3 lifecycle hooks** — auto-load on start, preserve on compress, save on stop
109
+ - **Git pre-commit hook** — captures test/lint failures into memory
110
+ - **Project directory** — `.synaptic/` for local config
111
+
112
+ > Skip git hook and project dir with `npx synaptic init --global`
113
+
114
+ <br>
115
+
116
+ <details>
117
+ <summary><strong>Install from source</strong></summary>
118
+
119
+ <br>
120
+
121
+ ```bash
122
+ git clone https://github.com/HYPERLYNQ/synaptic.git
123
+ cd synaptic
124
+ npm install
125
+ npm run build
126
+ npx synaptic init
127
+ ```
128
+
129
+ </details>
130
+
131
+ <br>
132
+
133
+ <details>
134
+ <summary><strong>Manual MCP setup</strong></summary>
135
+
136
+ <br>
137
+
138
+ Add to `~/.claude/settings.json`:
139
+
140
+ ```json
141
+ {
142
+ "mcpServers": {
143
+ "synaptic": {
144
+ "command": "node",
145
+ "args": ["--no-warnings", "/path/to/synaptic/build/src/index.js"],
146
+ "type": "stdio"
147
+ }
148
+ }
149
+ }
150
+ ```
151
+
152
+ </details>
153
+
154
+ <br>
155
+
156
+ ---
157
+
158
+ <br>
159
+
160
+ ## Features
161
+
162
+ ### 14 Tools for Claude
163
+
164
+ <table>
165
+ <tr>
166
+ <td width="50%">
167
+
168
+ **Memory**
169
+ | Tool | Purpose |
170
+ |:-----|:--------|
171
+ | `context_save` | Save decisions, bugs, insights |
172
+ | `context_search` | Keyword + semantic search |
173
+ | `context_list` | Browse by date or type |
174
+ | `context_status` | Storage stats |
175
+
176
+ </td>
177
+ <td width="50%">
178
+
179
+ **Organization**
180
+ | Tool | Purpose |
181
+ |:-----|:--------|
182
+ | `context_archive` | Hide old entries |
183
+ | `context_save_rule` | Create permanent rules |
184
+ | `context_delete_rule` | Remove rules |
185
+ | `context_list_rules` | List active rules |
186
+
187
+ </td>
188
+ </tr>
189
+ <tr>
190
+ <td>
191
+
192
+ **Git Intelligence**
193
+ | Tool | Purpose |
194
+ |:-----|:--------|
195
+ | `context_git_index` | Index commits into memory |
196
+ | `context_cochanges` | Files that change together |
197
+ | `context_dna` | Profile your codebase |
198
+
199
+ </td>
200
+ <td>
201
+
202
+ **Threads & Sessions**
203
+ | Tool | Purpose |
204
+ |:-----|:--------|
205
+ | `context_session` | View session history |
206
+ | `context_chain` | Trace decision threads |
207
+ | `context_resolve_pattern` | Dismiss recurring alerts |
208
+
209
+ </td>
210
+ </tr>
211
+ </table>
212
+
213
+ <br>
214
+
215
+ ### Smart Search
216
+
217
+ Every entry gets a 384-dimensional embedding generated **locally** using a Hugging Face model.
218
+
219
+ Search combines keyword matching with semantic similarity — searching for "auth problems" also finds entries about "login failures" and "JWT expiry," even if those exact words were never used.
220
+
221
+ Nothing is sent to the internet. Ever.
222
+
223
+ <br>
224
+
225
+ ### Codebase DNA
226
+
227
+ One command analyzes your git history and builds a profile:
228
+
229
+ ```
230
+ Codebase DNA (myapp, 100 commits analyzed):
231
+ Hotspots: sqlite.ts (45%), session-start.ts (30%)
232
+ Layers: tools/ (35%), storage/ (30%), hooks/ (25%), cli/ (10%)
233
+ Patterns: 60% feat, 25% fix, 15% chore. Avg 3.2 files/commit.
234
+ Clusters: [sqlite.ts + embedder.ts + server.ts]
235
+ ```
236
+
237
+ - **Hotspots** — Your most-changed files
238
+ - **Layers** — Where work concentrates
239
+ - **Patterns** — Your commit habits
240
+ - **Clusters** — Files that always change together
241
+
242
+ Saved permanently so Claude can reference it during architectural decisions.
243
+
244
+ <br>
245
+
246
+ ### Pre-Commit Guardian
247
+
248
+ Runs your lint, typecheck, and test scripts before each commit.
249
+
250
+ **When something fails** — the error is saved with file tags and a chain ID. Claude knows about it next session.
251
+
252
+ **When everything passes** — if those files recently failed, a resolution entry is saved. Over time, this builds traceable **failure → fix** narratives.
253
+
254
+ <br>
255
+
256
+ ### Decision Chains
257
+
258
+ Track how decisions evolve:
259
+
260
+ ```
261
+ Decision: "Use SQLite for persistence"
262
+
263
+ Issue: "SQLite WAL mode conflicts with WSL file locking"
264
+
265
+ Decision: "Switch to journal_mode=DELETE for WSL compatibility"
266
+ ```
267
+
268
+ Every entry in a chain shares a tag. Pull up the full story anytime with `context_chain`.
269
+
270
+ <br>
271
+
272
+ ### Rules
273
+
274
+ Permanent instructions injected every session. Tell Claude how to behave, forever:
275
+
276
+ ```
277
+ context_save_rule(
278
+ label: "preserve-bug-fixes",
279
+ content: "Bug fixes and debugging techniques should be saved
280
+ as longterm entries. They have cross-project value and
281
+ should never auto-decay."
282
+ )
283
+ ```
284
+
285
+ More examples: `"never auto-commit"` · `"use bun instead of npm"` · `"always write tests first"`
286
+
287
+ <br>
288
+
289
+ ### Memory Tiers
290
+
291
+ Not everything lasts forever. Synaptic manages it for you:
292
+
293
+ | Tier | Lifespan | Best For |
294
+ |:-----|:---------|:---------|
295
+ | **Ephemeral** | ~4 days | Progress updates, handoffs |
296
+ | **Working** | ~14 days | Decisions, bugs, insights |
297
+ | **Longterm** | Forever | Rules, references, conventions |
298
+
299
+ Entries that get searched often survive longer automatically.
300
+
301
+ <br>
302
+
303
+ ### Proactive Intelligence
304
+
305
+ Synaptic doesn't just store what Claude explicitly saves — it **captures what Claude misses**.
306
+
307
+ **Intent Classification** — The stop hook scans each session for declarations, preferences, identities, and frustrations using semantic similarity against intent templates. If you say "X is my project" or "I prefer bun over npm," Synaptic auto-captures it as a longterm reference without you asking.
308
+
309
+ **Predicted Focus** — At session start, Synaptic analyzes your current git branch, uncommitted files, and last session's handoff to predict what you're about to work on. It surfaces the 2-3 most relevant past entries automatically.
310
+
311
+ **Consolidation Engine** — Duplicate entries about the same topic are automatically merged during maintenance. The highest-access entry survives with merged tags; the rest are archived. Keeps your memory clean without losing information.
312
+
313
+ **Handoff Access Bumps** — Entries important enough to appear in session handoffs get their access counts incremented, making them survive longer in the decay system. Important memories are self-reinforcing.
314
+
315
+ <br>
316
+
317
+ ### Watch Mode
318
+
319
+ A background watcher observes your `.git/` directory for branch switches and new commits. Changes are auto-indexed after a 2-second debounce. Starts and stops with the MCP server — nothing extra to manage.
320
+
321
+ <br>
322
+
323
+ ---
324
+
325
+ <br>
326
+
327
+ ## How It Works
328
+
329
+ Synaptic runs as an **MCP server** — the standard way to extend Claude with new capabilities.
330
+
331
+ Three hooks handle the lifecycle automatically:
332
+
333
+ ```
334
+ ┌─────────────────────────────────────────────────────┐
335
+ │ │
336
+ │ START ──→ Injects rules, predicted focus, │
337
+ │ recent context, last handoff │
338
+ │ │
339
+ │ WORK ───→ Claude saves and searches context │
340
+ │ Git watcher auto-indexes in background │
341
+ │ │
342
+ │ COMPRESS → Preserves important context before │
343
+ │ conversation is compressed │
344
+ │ │
345
+ │ END ────→ Saves handoff, detects corrections, │
346
+ │ auto-captures declarations/preferences │
347
+ │ │
348
+ └─────────────────────────────────────────────────────┘
349
+ ```
350
+
351
+ Data is stored in SQLite with full-text search and vector similarity search. All local.
352
+
353
+ <br>
354
+
355
+ ---
356
+
357
+ <br>
358
+
359
+ ## Enterprise
360
+
361
+ <table>
362
+ <tr>
363
+ <td width="50%">
364
+
365
+ ### Personal
366
+ **Free — always**
367
+
368
+ - All 14 tools
369
+ - Unlimited entries
370
+ - Local-only storage
371
+ - Full search
372
+ - Git intelligence
373
+ - Pre-commit guardian
374
+
375
+ </td>
376
+ <td width="50%">
377
+
378
+ ### Team & Enterprise
379
+ **Coming soon**
380
+
381
+ - Shared context across team members
382
+ - Cloud sync between machines
383
+ - Team rules and conventions
384
+ - Analytics dashboard
385
+ - Priority support
386
+ - Custom integrations
387
+
388
+ </td>
389
+ </tr>
390
+ </table>
391
+
392
+ <br>
393
+
394
+ Interested in Synaptic for your team? **[Get in touch →](mailto:hyperlynq@outlook.com)**
395
+
396
+ <br>
397
+
398
+ ---
399
+
400
+ <br>
401
+
402
+ ## Development
403
+
404
+ ```bash
405
+ npm run build # Compile TypeScript
406
+ npm run smoke-test # Build + run all 147 tests
407
+ ```
408
+
409
+ <br>
410
+
411
+ ## License
412
+
413
+ Copyright (c) 2026 HYPERLYNQ. All rights reserved.
414
+
415
+ Synaptic is **source-available**. You can use it freely for personal and internal purposes. You may not copy, modify, redistribute, or create derivative works from the source code. See [LICENSE](LICENSE) for details.
416
+
417
+ For commercial licensing, contact **[hyperlynq@outlook.com](mailto:hyperlynq@outlook.com)**.
418
+
419
+ <br>
420
+
421
+ ---
422
+
423
+ <div align="center">
424
+
425
+ **Built by [HYPERLYNQ](https://github.com/HYPERLYNQ)**
426
+
427
+ </div>
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CLI script to rebuild the SQLite FTS + vector index from markdown source files.
3
+ * Usage: node build/scripts/rebuild-index.js
4
+ */
5
+ export {};
@@ -0,0 +1,33 @@
1
+ /**
2
+ * CLI script to rebuild the SQLite FTS + vector index from markdown source files.
3
+ * Usage: node build/scripts/rebuild-index.js
4
+ */
5
+ import { ContextIndex } from "../src/storage/sqlite.js";
6
+ import { listMarkdownFiles, parseMarkdownFile, } from "../src/storage/markdown.js";
7
+ import { ensureDirs } from "../src/storage/paths.js";
8
+ import { Embedder } from "../src/storage/embedder.js";
9
+ async function main() {
10
+ ensureDirs();
11
+ const index = new ContextIndex();
12
+ const embedder = new Embedder();
13
+ console.log("Rebuilding SQLite index from markdown files...");
14
+ // Clear existing index
15
+ index.clearAll();
16
+ const files = listMarkdownFiles();
17
+ console.log(`Found ${files.length} markdown files.`);
18
+ let totalEntries = 0;
19
+ for (const file of files) {
20
+ const entries = parseMarkdownFile(file);
21
+ for (const entry of entries) {
22
+ const rowid = index.insert(entry);
23
+ const embedding = await embedder.embed(entry.content);
24
+ index.insertVec(rowid, embedding);
25
+ }
26
+ totalEntries += entries.length;
27
+ console.log(` ${file}: ${entries.length} entries`);
28
+ }
29
+ console.log(`Done. Indexed ${totalEntries} entries with vectors.`);
30
+ index.close();
31
+ }
32
+ main();
33
+ //# sourceMappingURL=rebuild-index.js.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Init command: Detects environment, configures MCP server, hooks, git hook,
3
+ * and project directory for synaptic.
4
+ */
5
+ export interface Environment {
6
+ isWSL: boolean;
7
+ settingsPath: string;
8
+ buildDir: string;
9
+ nodeCommand: string;
10
+ nodeArgs: string[];
11
+ }
12
+ export declare function detectEnvironment(): Environment;
13
+ export declare function initCommand(args: string[]): Promise<void>;