github TypeScript analyzed a6fc0f7

ahmedtawfeeq1/loredex-desktop

github

Native desktop app for loredex vaults — macOS · Windows · Linux: reader with working wikilinks, handoff inbox/outbox board, zoomable atlas, contract timeline, live git sync, and an in-app MCP server. Part of the loredex agent-knowledge ecosystem.

maintainer
ahmedtawfeeq1
license
MIT
first seen
2026-07-13
last seen
2026-07-29
releases · 30d
39
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · streamable-http · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit a6fc0f7 · analyzer v28 · 18h ago

skills & prompt files 3

code evidence vv0.12.1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 485

filesystem 31

  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/electron.vite.config.ts :1 import { readFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/acp-spawn.ts :9 import { existsSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/acp.ts :12 import { statSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/atlas.ts :13 import { existsSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/auth.ts :20 import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/claude-plugins.ts :14 import { readFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/client-tokens.ts :18 import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/contracts.ts :11 import { readdirSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/db/index.ts :7 import { existsSync, renameSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/db/native-binding.ts :14 import { existsSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/discovery.ts :7 import { chmodSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/engine.ts :8 import { existsSync, mkdirSync, mkdtempSync, readFileSync, realpathSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/facets.ts :8 import { statSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/genudo-pull.ts :25 import { type Dirent, mkdirSync, readdirSync, rmSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/git.ts :15 import { chmodSync, mkdtempSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/kb-export.ts :13 import { existsSync, readFileSync, readdirSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/langsmith-trace.ts :15 import { mkdirSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/n8n-install.ts :20 import { existsSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/old-platform.ts :23 import { existsSync, readFileSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/session-media.ts :24 import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/settings.ts :11 import { existsSync, readFileSync, renameSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/staged-edits.ts :17 import { type Dirent, existsSync, readFileSync, readdirSync, statSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/terminals.ts :10 import { statSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/tree.ts :9 import { readdirSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/watcher.ts :7 import { realpathSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/win-spawn.ts :23 import { existsSync, readdirSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/wizard.ts :9 import { existsSync, mkdirSync, readdirSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/main/dialogs.ts :7 import { mkdirSync, readFileSync, writeFileSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/main/path-containment.ts :12 import { realpathSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/main/shell-open.ts :8 import { statSync } from 'node:fs'
  • fs ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/main/zoom.ts :20 import { existsSync, readFileSync, writeFileSync } from 'node:fs'

shell / exec 15

  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/acp-spawn.ts :8 import { spawn, type ChildProcessWithoutNullStreams } from 'node:child_process'
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/auth.ts :18 import { execFile } from 'node:child_process'
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/client-tokens.ts :17 import { execFile } from 'node:child_process'
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/contracts.ts :94 return new RegExp(`^${re}$`, 'i')
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/engine.ts :6 import { execFile } from 'node:child_process'
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/genudo-auth.ts :17 import { execFile } from 'node:child_process'
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/genudo-migrate.ts :18 // so it can't fire early at a blank line inside the block (unlike `$` with the `m`
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/git.ts :14 import { execFile, execFileSync, spawn } from 'node:child_process'
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/github.ts :16 import { execFile, execFileSync } from 'node:child_process'
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/handlers.ts :5 import { execFile } from 'node:child_process'
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/n8n-install.ts :19 import { execFile } from 'node:child_process'
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/terminals.ts :73 const pty = spawn(shell, process.platform === 'win32' ? [] : ['-l'], {
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/win-spawn.ts :9 * — so `execFile('npx', …)` fails with ENOENT even though Node is installed.
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/renderer/src/agent/slashCommands.ts :45 * `slashQuery` only matches while the draft is still one bare token (`^/(\S*)$`),
  • shell ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/renderer/src/stores/agentPanel.ts :272 /** open/close + persist — no session spawn (unlike the terminal toggle) */

network 9

  • net ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/genudo-auth.ts :18 import { createServer } from 'node:http'
  • net ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/genudo-http.ts :36 const res = await fetch(endpoint, {
  • net ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/langsmith-config.ts :121 const res = await fetch(`${base}/api/v1/sessions?limit=1`, {
  • net ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/langsmith-trace.ts :50 const res = await fetch(`${langsmithEndpoint()}/api/v1/runs/query`, {
  • net ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/mcp-server.ts :11 import { createServer, type IncomingMessage, type Server, type ServerResponse } from 'node:http'
  • net ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/n8n-config.ts :85 const res = await fetch(`${base}/api/v1/workflows?limit=1`, {
  • net ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/poller.ts :214 /** fetch (outside the lock) + parse remote events + cursor discipline. */
  • net ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/renderer/src/stores/updateCheck.ts :66 const res = await fetch(RELEASES_API, {
  • net ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/renderer/src/views/handoffs/InboxView.tsx :4 * company-wide fetch (lanes stay pure handoff-lanes derivations), a RowItem

database 1

  • db ahmedtawfeeq1-loredex-desktop-a6fc0f7/src/core/db/index.ts :9 import Database from 'better-sqlite3'

install hooks 1

  • postinstall ahmedtawfeeq1-loredex-desktop-a6fc0f7/package.json :15 node scripts/fix-pty-spawn-helper.mjs

declared dependencies 48

  • @modelcontextprotocol/sdk@1.29.0
  • @agentclientprotocol/claude-agent-acp@0.59.0
  • @agentclientprotocol/codex-acp@1.1.4
  • @agentclientprotocol/sdk@1.2.1
  • @codemirror/commands@6.10.4
  • @codemirror/lang-json@^6.0.2
  • @codemirror/lang-markdown@6.5.0
  • @codemirror/lang-yaml@^6.1.3
  • @codemirror/language@6.12.4
  • @codemirror/search@6.7.1
  • @codemirror/state@6.7.1
  • @codemirror/view@6.43.6
  • @lezer/highlight@1.2.3
  • @parcel/watcher@2.5.4
  • @xterm/addon-fit@0.11.0
  • @xterm/addon-search@0.16.0
  • @xterm/addon-web-links@0.12.0
  • @xterm/xterm@6.0.0
  • better-sqlite3@12.11.1
  • loredex@file:vendor/loredex-2.11.0-agentops.tgz
  • mermaid@11.16.0
  • node-pty@1.1.0
  • react@19.2.7
  • react-dom@19.2.7
  • rehype-highlight@7.0.2
  • rehype-react@8.0.0
  • rehype-sanitize@6.0.0
  • remark-gfm@4.0.1
  • remark-parse@11.0.0
  • remark-rehype@11.1.2
  • unified@11.0.5
  • unist-util-visit@5.0.0
  • zod@^4.4.3
  • zustand@5.0.8
  • @testing-library/dom@^10.4.1
  • @testing-library/react@^16.3.2
  • @types/better-sqlite3@7.6.13
  • @types/node@26.1.1
  • @types/react@19.2.17
  • @types/react-dom@19.2.3
  • @vitejs/plugin-react@5.2.0
  • electron@43.1.0
  • electron-builder@26.15.3
  • electron-vite@4.0.1
  • jsdom@^27.4.0
  • typescript@5.9.3
  • vite@7.3.6
  • vitest@4.1.10

cursor-plugin 1

  • opaque (low) ahmedtawfeeq1-loredex-desktop-a6fc0f7/.cursor/rules/loredex.mdc bundled .cursor/ plugin descriptor (ahmedtawfeeq1-loredex-desktop-a6fc0f7/.cursor/rules/loredex.mdc) — presence-detected; review the descriptor