AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Create visualization graph for any github repo and analyze it.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
See how a codebase thinks.
Paste a public GitHub repository and gitplex turns it into an interactive graph
of its files, imports, functions and calls. Explore the architecture, trace what
a change touches, find the path between two pieces of code, and export the whole
map as Markdown for your AI agent.
No API key, no account and no LLM call in the loop. Every relationship is parsed
from the syntax tree and carries the evidence that produced it, so the same
commit always gives the same map.檢視完整 README ↗See how a codebase thinks.
Paste a public GitHub repository and gitplex turns it into an interactive graph of its files, imports, functions and calls. Explore the architecture, trace what a change touches, find the path between two pieces of code, and export the whole map as Markdown for your AI agent.
No API key, no account and no LLM call in the loop. Every relationship is parsed from the syntax tree and carries the evidence that produced it, so the same commit always gives the same map.
Live demo · Docs · Architecture
| Landing page | Blast radius: everything a change can reach |
| Shortest path between two nodes | Hybrid search with score breakdowns |
| Markdown export for agents | Light theme |
⌘K opens the
palette; file:, function:, class:, route: and test: prefixes narrow it.| Tier | Languages | What you get |
|---|---|---|
| Full code graph | Python, JavaScript, TypeScript (including JSX and TSX), Go, Java | Files, imports, functions, classes, calls, inheritance, routes |
| Files and imports | Rust, Kotlin, Swift, C, C++, C#, Ruby, PHP, Scala, Dart, Elixir, Erlang, Haskell, OCaml, Clojure, Julia, Lua, Perl, R, Bash, PowerShell, Groovy, Objective-C, Fortran, Solidity, Zig, Vim script | Files and the import graph between them |
Adding symbol extraction for another language means implementing one interface
(backend/app/core/symbol_extractors/base.py); the graph builder doesn't change.
You need Docker with Compose and nothing else.
git clone https://github.com/yadavdevv/gitplex.git
cd gitplex
cp .env.example .env
docker compose up --build # or: docker-compose up --build
| Service | URL |
|---|---|
| App | http://localhost:3200 |
| API docs (OpenAPI) | http://localhost:8420/docs |
| API health | http://localhost:8420/api/v1/health |
| FalkorDB browser | http://localhost:3390 |
| FalkorDB (Redis protocol) | localhost:6390 |
Paste a repository and watch it map. https://github.com/psf/requests is a good
first one: a few seconds as an Architecture Map, still quick as a Full Code Graph.
The ports are deliberately non-default (6390 rather than 6379, and so on) so the
stack doesn't collide with databases you already run. Change them in .env.
Locally, FalkorDB also acts as the plain Redis store; it is a Redis module.
A GITHUB_TOKEN in .env is optional. It raises GitHub API limits, which helps
Architecture Maps of large repositories.
Backend (use a virtualenv, not your system Python; Python 3.11+):
docker compose up -d falkordb # datastore only
cd backend
python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
FALKORDB_HOST=localhost FALKORDB_INTERNAL_PORT=6390 \
REDIS_HOST=localhost REDIS_INTERNAL_PORT=6390 \
.venv/bin/uvicorn app.main:app --reload --port 8420
The analysis worker runs inside the API process by default
(RUN_WORKER_INPROCESS=true). To run it separately, set that to false and
start arq app.workers.tasks.WorkerSettings.
Frontend (Node 20+):
cd frontend
npm install
echo "NEXT_PUBLIC_API_BASE_URL=http://localhost:8420/api/v1" > .env.local
npm run dev # http://localhost:3000
CORS_ORIGINS in .env.example allows ports 3000, 3200 and 3201. Hot-reloading
containers for both services: docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build.
# Backend (integration tests skip themselves when FalkorDB is unreachable)
cd backend
.venv/bin/ruff check app tests
.venv/bin/mypy app
FALKORDB_HOST=localhost FALKORDB_INTERNAL_PORT=6390 \
REDIS_HOST=localhost REDIS_INTERNAL_PORT=6390 REDIS_DB=9 .venv/bin/python -m pytest
# Frontend
cd frontend
npm run lint && npm run typecheck && npm test
npx playwright install chromium
npm run test:e2e # mocked API, no backend required
CI runs all of this on every push (ci.yml).
Next.js (App Router) ──HTTP──► FastAPI ──► FalkorDB typed code graph
Sigma.js / WebGL │ ──► Redis jobs, search corpus, insights
│
ARQ worker ──► fetch or clone → tree-sitter → graph
Each analysed commit and detail level is its own FalkorDB graph, so queries need
no tenancy filters and eviction is one GRAPH.DELETE. Reads are label-routed,
indexed Cypher with per-process caches; path search is a breadth-first search
over a cached edge list. Details, trade-offs and failure behaviour are in
docs/ARCHITECTURE.md.
The reference deployment is a Vercel frontend, a Render backend (API and worker
in one container), FalkorDB Cloud and Upstash Redis, all on free tiers. Step by
step, including the keep-alive setup, is in DEPLOY.md. Kubernetes
manifests are in infra/k8s. Put the backend in the same region as
its databases; cross-region hops dominate latency.
These are deliberate boundaries, not bugs:
stats.unresolved_calls.app.get(...), Next.js file conventions.node_modules, .venv, dist, .next,
…) and files over MAX_FILE_SIZE_KB are skipped.Issues and pull requests are welcome.
confidence honestly.backend/tests/unit/; graph schema changes
need one in backend/tests/integration/ and an update to
docs/GRAPH_SCHEMA.md.MIT. See LICENSE.