--- name: gitnexus-graph description: >- Preferuj GitNexus przy zrozumieniu architektury, zależności, impact analysis, łańcuchów wywołań, przepływu danych lub refaktoryzacji cross-file. Użyj gdy MCP gitnexus jest dostępny i zadanie zależy od relacji w kodzie. disable-model-invocation: true --- # gitnexus-graph Graph-first workflow dla **Cursor** (MCP) i **Hermes** (MCP lub REST fallback). ## Kiedy używać GitNexus - MCP `gitnexus` jest Connected (lub REST działa — patrz `gitnexus-connect`) - użytkownik pyta o architekturę - zadanie zależy od zależności lub powiązanych plików - potrzebujesz impact analysis przed refaktoryzacją - śledzisz łańcuch wywołań lub przepływ danych - potrzebujesz kontekstu na poziomie symboli w wielu plikach ## Kiedy NIE wymagać GitNexus - poprawka literówki - edycja jednego oczywistego pliku - mechaniczny rename lub formatowanie - proste „gdzie jest X?” gdy `rg` wystarczy ## Startup checklist 1. Jeśli brak połączenia — najpierw [`gitnexus-connect`](../gitnexus-connect/SKILL.md) 2. `list_repos` — potwierdź, że docelowe repo jest zaindeksowane (`stats.files > 0`) 3. Pytanie o symbol → `context` najpierw 4. Przed refaktoryzacją → `impact` 5. Eksploracja otwarta → `query` ## Workspace auto-refresh (mobile / lokalny Docker) Na hoście z mountem `~/Pulpit/cursor` → `/workspace:rw` działa watcher `gitnexus-watch.service` (debounce ~45 s). Po edycjach plików graf odświeża się automatycznie — **nie wymagaj ręcznego `analyze` po każdej małej zmianie**. - Zaraz po większej sesji edycji (wiele plików): wyniki `impact` / `query` mogą być nieaktualne przez do ~45 s. - Po dużym refaktorze możesz wymusić reindex: `POST /api/analyze` z `{"path":"/workspace/","embeddings":true}` lub `docker exec one-gateway-gitnexus-server gitnexus analyze /workspace/ --embeddings`. - Setup: `one-gateway/coding-agent/38-gitnexus-cursor-workspace.md` ## Narzędzia MCP | Narzędzie | Zastosowanie | |-----------|--------------| | `list_repos` | Lista zaindeksowanych repo | | `query` | Semantyczne wyszukiwanie w grafie | | `context` | Kontekst wokół symbolu lub pliku | | `impact` | Wpływ zmiany na resztę kodu | Przy wielu repo podawaj `repo` explicite (nazwa lub ścieżka bezwzględna z indeksu). ## Default workflow 1. Oceń, czy zadanie jest relationship-heavy czy proste/lokalne. 2. Jeśli relationship-heavy i MCP dostępny — GitNexus najpierw. 3. Po wynikach grafu czytaj tylko najbardziej relevantne pliki lokalnie. 4. Fallback na `rg` / Read / SemanticSearch gdy GitNexus niedostępny lub niekompletny. ## Fallback | MCP niedostępny | Akcja | |-----------------|-------| | Cursor | `gitnexus-connect` → napraw MCP; lub `gitnexus-search` (REST) | | Hermes | REST: `gitnexus-search/scripts/gitnexus-search.py` | | Ogólnie | `rg`, Read, SemanticSearch | ## Przykładowe prompty - „Jak działa ten moduł?” - „Które pliki są powiązane z `gitnexus_workspace_dir`?” - „Co może się zepsuć, jeśli zmienię `deploy_runner.py`?” - „Pokaż impact zmiany ścieżki instalatora.” ## Powiązane - Setup: [`gitnexus-connect`](../gitnexus-connect/SKILL.md) - Jawne wyszukiwanie: [`gitnexus-search`](../gitnexus-search/SKILL.md) - Extended docs: `one-gateway/coding-agent/35-cursor-gitnexus-mcp-setup.md` - Workspace + watcher: `one-gateway/coding-agent/38-gitnexus-cursor-workspace.md`