agentsclimarketplace

Understand codebase

Skill vibeeval/vibecosystem/skills/understand-codebase

Codebase'i derinlemesine anla. Onboarding, architecture discovery, dependency mapping.From its SKILL.md

Install
npx -y skills add vibeeval/vibecosystem --skill understand-codebase

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

11.4 KB, ~3.3k tokens by cl100k_base, as published. Nobody here has run it

Understand Codebase

Onboarding Workflow (Yeni Developer)

Hizli Baslangic (5 Dakika)

1. Tech stack tespit:
   ls package.json go.mod pyproject.toml tsconfig.json Cargo.toml manage.py

2. Proje yapisi:
   tldr tree . --depth 2

3. Entry point'leri bul:
   tldr structure . --lang <detected-lang>

4. README/docs oku:
   cat README.md CONTRIBUTING.md docs/

5. CI/CD kontrol:
   ls .github/workflows/ .gitlab-ci.yml Jenkinsfile Dockerfile

Detayli Kesif (30 Dakika)

1. Architecture overview:
   tldr arch src/

2. Import/dependency graph:
   tldr calls src/

3. Test yapisi:
   tldr tree . --ext .test.ts,.spec.ts,.test.py,_test.go

4. Config dosyalari:
   ls *.config.* .env.example docker-compose.yml

5. Data modelleri:
   Grep "interface|type|class|struct|model" --type ts/py/go

Codebase Overview Olusturma

Otomatik Overview

# 1. Dosya dagilimi
tldr tree . | wc -l  # toplam dosya
tldr tree . --ext .ts,.tsx  # TypeScript dosyalari
tldr tree . --ext .test.ts  # Test dosyalari

# 2. Kod yapisi
tldr structure src/ --lang typescript
# Fonksiyonlar, class'lar, export'lar

# 3. Mimari katmanlar
tldr arch src/
# Entry (controller/handler) > Middle (service) > Leaf (util)

# 4. Dead code
tldr dead src/ --entry main,test_

Overview Template

# Project: <name>

## Tech Stack
- Language: <lang> <version>
- Framework: <framework> <version>
- Database: <db>
- CI/CD: <tool>

## Architecture
- Pattern: <MVC|Clean|Hexagonal|Monolith|Microservice>
- Entry points: <files>
- Layers: <controller → service → repository → model>

## Key Directories
- src/         → Kaynak kod
- tests/       → Test dosyalari
- config/      → Konfigürasyon
- scripts/     → Yardimci scriptler
- docs/        → Dokumantasyon

## Key Files
- <entry-file>  → Uygulama entry point
- <config-file> → Ana konfigürasyon
- <schema-file> → Data modelleri
- <route-file>  → API routing

## Data Flow
<request → middleware → controller → service → repository → database>

## External Dependencies
- <key-dep-1>: <purpose>
- <key-dep-2>: <purpose>

Architecture Dokumentasyonu

Katman Tespiti

# tldr arch ile otomatik tespit
tldr arch src/
# Cikti: entry_layer, middle_layer, leaf_layer, circular_deps

# Manuel tespit: import yonlerini takip et
tldr calls src/ --depth 3

Mimari Patern Tespiti

IpucuPatern
controllers/, routes/, handlers/MVC / REST API
domain/, application/, infrastructure/Clean Architecture
ports/, adapters/Hexagonal
services/, modules/Modular Monolith
packages/, apps/Monorepo
pages/, app/ (Next.js)File-based routing
resolvers/, schema/GraphQL
commands/, queries/, events/CQRS
aggregates/, entities/, value-objects/DDD

Architectural Decision Records (ADR)

# codebase-memory MCP ile ADR yonetimi
mcp_codebase_memory.manage_adr({
  action: "create",
  title: "Use PostgreSQL for primary database",
  status: "accepted",
  context: "Need ACID transactions, complex queries",
  decision: "PostgreSQL 16 with pgvector extension",
  consequences: "Need DBA expertise, managed service cost"
})

# ADR listele
mcp_codebase_memory.manage_adr({ action: "list" })

Key File Identification

Otomatik Tespit

# Entry point'ler
tldr structure . --lang typescript | grep -i "main\|index\|app\|server"

# Konfigürasyon
ls -la *.config.* .env* tsconfig.json package.json

# Schema/Model
tldr search "schema\|model\|entity\|interface" src/ --lang typescript

# Routing
tldr search "router\|route\|endpoint\|controller" src/

Kritik Dosya Kategorileri

KategoriNasil BulNeden Onemli
Entry pointmain.ts, index.ts, app.tsUygulamanin baslangici
Config.config., .envOrtam ayarlari
Schema/Modelmodels/, schema/, types/Data yapisi
Routesroutes/, controllers/API surface
Middlewaremiddleware/Cross-cutting concerns
Databasemigrations/, seeds/DB yapisi
Tests.test., .spec.Test coverage
CI/CD.github/workflows/Build/deploy
DockerDockerfile, docker-composeContainer config

Dependency Mapping

Package Dependency Analizi

# Node.js
cat package.json | jq '.dependencies, .devDependencies'

# Python
cat requirements.txt  # veya pyproject.toml
pip list --outdated

# Go
cat go.mod
go list -m all

# Rust
cat Cargo.toml

Internal Dependency Graph

# Dosyalar arasi import iliskileri
tldr calls src/ --depth 2

# Spesifik dosyanin import'lari
tldr imports src/services/auth.ts

# Kim bu modulu import ediyor?
tldr importers auth src/

# Impact analizi (refactoring oncesi)
tldr impact processOrder src/ --depth 3

Dependency Risk Analizi

RiskKontrolArac
CVE/vulnerabilitynpm audit / pip auditsnyk, dependabot
Outdatedmajor version farkinpm outdated
UnmaintainedSon commit 1+ yilGitHub API
License riskGPL in commerciallicense-checker
Size bloatBundle sizebundlephobia

Data Flow Tracing

Request-Response Flow

# Fonksiyon cagri zinciri
tldr calls src/ --depth 4

# Spesifik fonksiyonun cagri yolu
tldr trace_call_path src/ fromFunction toFunction

# Data flow analizi
tldr dfg src/services/order.ts processOrder

# Program slice (spesifik satiri etkileyen her sey)
tldr slice src/services/order.ts processOrder 42

Data Flow Mapping Template

USER INPUT
  → Validation (middleware/schema)
  → Controller (routing, request parse)
  → Service (business logic)
  → Repository (data access)
  → Database (persistence)
  → Response (serialization)
  → USER OUTPUT

Side effects:
  → Queue (async processing)
  → Cache (read optimization)
  → External API (3rd party)
  → Event bus (pub/sub)

State Management Flow (Frontend)

User Action
  → Event Handler (onClick, onChange)
  → State Update (useState, dispatch, store.set)
  → Re-render (component tree)
  → Side Effect (useEffect, subscription)
  → API Call (fetch, axios)
  → State Update (response)
  → Re-render

API Surface Discovery

REST API Endpoints

# Route tanimlarini bul
Grep "router\.(get|post|put|patch|delete)\|app\.(get|post|put|patch|delete)" src/

# Express/Fastify route'lar
tldr search "route\|endpoint" src/ --lang typescript

# OpenAPI spec varsa
cat openapi.yaml  # veya swagger.json

GraphQL Schema

# Schema tanimlarini bul
Grep "type Query|type Mutation|type Subscription" src/

# Resolver'lari bul
tldr search "resolver\|Resolver" src/

API Dokumantasyonu

Her endpoint icin:
  - Method + Path: GET /api/users/:id
  - Auth: Bearer token / API key / Public
  - Request: Query params, body schema
  - Response: Success (200), Error (4xx, 5xx)
  - Rate limit: X req/min

Test Coverage Mapping

Test Yapisi Analizi

# Test dosyalarini bul
tldr tree . --ext .test.ts,.spec.ts,.test.py,_test.go

# Test/source orani
echo "Source files:" && tldr tree src/ --ext .ts,.tsx | wc -l
echo "Test files:" && tldr tree . --ext .test.ts,.spec.ts | wc -l

# Hangi dosyalarin testi YOK
tldr dead src/ --entry test_  # test'lerden cagrilmayan fonksiyonlar

Coverage Raporu

# Node.js
npx jest --coverage --coverageReporters=text-summary

# Python
pytest --cov=src --cov-report=term-missing

# Go
go test -coverprofile=coverage.out ./...
go tool cover -func=coverage.out

Test Gap Analizi

Dosya/ModulUnit TestIntegrationE2ERisk
Auth servicevarvaryokHIGH
PaymentvarvarvarLOW
User CRUDvaryokyokMEDIUM
ConfigyokyokyokLOW

Tech Debt Identification

Otomatik Tespit

# Dead code
tldr dead src/ --entry main,test_,handle,route

# Buyuk dosyalar (800+ satir)
find src/ -name "*.ts" -exec wc -l {} + | sort -rn | head -20

# TODO/FIXME/HACK
Grep "TODO|FIXME|HACK|XXX|TEMP|WORKAROUND" src/

# Complexity (control flow)
tldr cfg src/services/complex.ts processData
# Cok fazla branch = refactoring gerekli

# Diagnostics (type error + lint)
tldr diagnostics src/ --project

Tech Debt Kategorileri

KategoriGostergelerOncelik
Dead codeKullanilmayan fonksiyon/importLOW
God file800+ satir dosyaMEDIUM
Missing testsCoverage <50%HIGH
Outdated depsMajor version farkiMEDIUM
SecurityCVE, hardcoded secretCRITICAL
DuplicationBenzer kod bloklariMEDIUM
ComplexityCyclomatic >10HIGH

Knowledge Graph (codebase-memory MCP)

Repository Indexleme

mcp_codebase_memory.index_repository({
  path: "/path/to/project",
  name: "my-project"
})

Graph Sorgulama

// Mimari overview
mcp_codebase_memory.get_architecture({
  project: "my-project"
})

// Kod arama
mcp_codebase_memory.search_code({
  project: "my-project",
  query: "authentication flow"
})

// Graph schema
mcp_codebase_memory.get_graph_schema({
  project: "my-project"
})

// Degisiklik tespiti
mcp_codebase_memory.detect_changes({
  project: "my-project"
})

Entegrasyon: tldr CLI + codebase-memory MCP

Tam Analiz Workflow

# 1. Yapi (tldr)
tldr tree . --depth 2
tldr structure src/ --lang typescript

# 2. Mimari (tldr)
tldr arch src/
tldr calls src/ --depth 3

# 3. Indexle (codebase-memory MCP)
mcp_codebase_memory.index_repository({ path: ".", name: "project" })

# 4. Graph sorgu (codebase-memory MCP)
mcp_codebase_memory.get_architecture({ project: "project" })

# 5. Impact analizi (tldr)
tldr impact targetFunction src/ --depth 3

# 6. Dead code (tldr)
tldr dead src/ --entry main

# 7. Diagnostics (tldr)
tldr diagnostics src/ --project

# 8. Test impact (tldr)
tldr change-impact --git

Surekli Guncelleme

Her onemli degisiklikte:
1. tldr change-impact → etkilenen testleri bul
2. mcp_codebase_memory.detect_changes → graph'i guncelle
3. tldr dead src/ → yeni dead code kontrol
4. tldr diagnostics src/ → type/lint hata kontrolu

Anti-Patterns

Anti-PatternDogru Yol
Hemen koda dalOnce overview al, sonra oku
Tek dosya oku, anladim sanCagri zincirini takip et
grep ile yetiniyortldr structure + arch kullan
Mimariyi varsaytldr arch ile dogrula
Dead code'u gormezden geltldr dead ile periyodik temizlik
Test coverage bilmeCoverage raporu al, gap analiz yap
Dependency'leri kontrol etmenpm audit / pip audit periyodik calistir

Quick Reference

HIZLI: "Bu proje ne yapar?"
  → tldr tree . && cat README.md

ORTA: "Nasil calisir?"
  → tldr arch src/ && tldr calls src/

DERIN: "Bu fonksiyon neyi etkiler?"
  → tldr impact <func> src/ && tldr dfg <file> <func>

TAM: "Her seyi anlamam lazim"
  → Yukaridaki Tam Analiz Workflow'u takip et

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.