--- name: gitnexus-exploring description: Navigate unfamiliar code using GitNexus knowledge graph --- # Exploring Codebases with GitNexus ## When to Use - "How does authentication work?" - "What's the project structure?" - "Show me the main components" - "Where is the database logic?" - Understanding code you haven't seen before ## Workflow ``` 1. READ gitnexus://repos → Discover indexed repos 2. READ gitnexus://repo/{name}/context → Codebase overview, check staleness 3. gitnexus_query({query: ""}) → Find related execution flows 4. gitnexus_context({name: ""}) → Deep dive on specific symbol 5. READ gitnexus://repo/{name}/process/{name} → Trace full execution flow ``` > If step 2 says "Index is stale" → run `npx gitnexus analyze` in terminal. ## Checklist ``` - [ ] READ gitnexus://repo/{name}/context - [ ] gitnexus_query for the concept you want to understand - [ ] Review returned processes (execution flows) - [ ] gitnexus_context on key symbols for callers/callees - [ ] READ process resource for full execution traces - [ ] Read source files for implementation details ``` ## Resources | Resource | What you get | |----------|-------------| | `gitnexus://repo/{name}/context` | Stats, staleness warning (~150 tokens) | | `gitnexus://repo/{name}/clusters` | All functional areas with cohesion scores (~300 tokens) | | `gitnexus://repo/{name}/cluster/{name}` | Area members with file paths (~500 tokens) | | `gitnexus://repo/{name}/process/{name}` | Step-by-step execution trace (~200 tokens) | ## Tools **gitnexus_query** — find execution flows related to a concept: ``` gitnexus_query({query: "payment processing"}) → Processes: CheckoutFlow, RefundFlow, WebhookHandler → Symbols grouped by flow with file locations ``` **gitnexus_context** — 360-degree view of a symbol: ``` gitnexus_context({name: "validateUser"}) → Incoming calls: loginHandler, apiMiddleware → Outgoing calls: checkToken, getUserById → Processes: LoginFlow (step 2/5), TokenRefresh (step 1/3) ``` ## Example: "How does payment processing work?" ``` 1. READ gitnexus://repo/my-app/context → 918 symbols, 45 processes 2. gitnexus_query({query: "payment processing"}) → CheckoutFlow: processPayment → validateCard → chargeStripe → RefundFlow: initiateRefund → calculateRefund → processRefund 3. gitnexus_context({name: "processPayment"}) → Incoming: checkoutHandler, webhookHandler → Outgoing: validateCard, chargeStripe, saveTransaction 4. Read src/payments/processor.ts for implementation details ```