Skip to main content
Kasava’s Code Intelligence features transform how you understand and navigate your codebase. By indexing your repositories with AI-powered semantic analysis, you can search by meaning, not just keywords, and give the AI chat deep knowledge of your code.

How It Works

Kasava uses a sophisticated indexing pipeline to process your code:
Repository → Fetch → Parse → Embed → Store

1. Fetch

Source files are downloaded from your GitHub repository. Kasava respects .gitignore patterns and skips binary files.

2. Parse

Code is parsed using tree-sitter, supporting 100+ programming languages. This extracts:
  • Functions and Methods
  • Classes and Types
  • Variables and Constants
  • Imports and Exports
  • Comments and Documentation

3. Embed

Extracted code is converted to semantic embeddings using Voyage AI, a specialized code embedding model. This captures the meaning and intent of code, not just syntax.

4. Store

Embeddings are stored in a PostgreSQL database with pgvector for fast similarity search using HNSW indexes.

Managing Repositories

Accessing Repository Settings

1

Navigate to Settings

Click “Settings” in the sidebar navigation at the bottom
2

Open Repositories

Select “Repositories” from the settings menu
3

View Your Repositories

See all repositories connected to your organization
Repository settings page showing connected repositories

Viewing Repository Details

Click on any repository to open its detail page, which includes:
  • Header with repository name, sync status, and action buttons
  • Branch selector to choose which branches to index
  • Tabs for different views (Overview, Activity, Logs, Documents, Settings)
  • Indexing progress when an index operation is running
Repository detail page with tabs and header

Indexing a Repository

Initial Indexing

1

Open Repository Details

Click on a repository from Settings > Repositories
2

Select a Branch

Use the branch dropdown in the header to select which branch to index (default is main)
3

Click Index

From the actions menu (three dots), select “Re-index” to start indexingActions menu showing re-index option
4

Monitor Progress

Watch the indexing progress indicator in the header area. It shows:
  • Current stage (fetching, parsing, embedding)
  • Percentage complete
  • File counts Indexing progress bar showing stages

Re-indexing

When your code changes significantly, re-index to update the AI’s knowledge:
1

Open the Repository

Navigate to the repository detail page
2

Trigger Re-index

Click the three-dot menu and select “Re-index”
3

Choose Index Type

  • Full Re-index - Re-processes all files with fresh embeddings
  • Symbols Only - Faster option that only updates code symbols (skips embedding regeneration)
Re-indexing replaces the existing index. The previous index data is removed when the new index completes successfully.

Indexing Performance

Repository SizeExpected Time
Small (<100 files)<10 seconds
Medium (100-1,000 files)10-60 seconds
Large (1,000-10,000 files)1-5 minutes
Very Large (10,000+ files)5-15 minutes
Indexing happens in the background. You can continue using Kasava while indexing completes.

Branch Management

Selecting Branches

You can index multiple branches of the same repository:
  1. Use the branch dropdown in the repository header
  2. Select up to 3 branches to index simultaneously
  3. Click the refresh button next to the dropdown to sync branch list from GitHub
Branch selector dropdown with multiple branches

Syncing Branches from GitHub

If you’ve created new branches on GitHub:
  1. Click the refresh icon next to the branch selector
  2. Wait for Kasava to fetch the latest branch list
  3. Your new branches will appear in the dropdown

Repository Actions

The repository detail page header provides several actions through the menu:
ActionDescription
SyncFetch latest metadata (issues, PRs, commits) from GitHub
Re-syncFull synchronization of all repository data
Re-indexRebuild the code index for AI features
Cancel IndexingStop an in-progress indexing operation
Export Cursor RulesGenerate coding guidelines based on your codebase
DeleteRemove the repository from Kasava

Sync Status

The repository header displays real-time status information:

Status Indicators

StatusMeaning
SyncedRepository data is up to date
SyncingSync operation is in progress
IndexedCode index is ready for AI features
IndexingIndex operation is in progress
Not IndexedRepository has not been indexed yet
Sync OffAutomatic syncing is disabled

Viewing Detailed Status

Click on any status indicator to open the Sync Status Dialog, which shows:
  • Last sync timestamp
  • Index status and statistics
  • Number of files indexed
  • Embedding count
  • Any errors or warnings
Sync status dialog with detailed information

Repository Tabs

Each repository has multiple tabs for different information:

Overview Tab

Quick summary of the repository including:
  • Description and metadata
  • Recent activity highlights
  • Quick stats (files, commits, contributors)

Activity Tab

View repository activity:
  • Recent commits with semantic analysis
  • Pull requests and their status
  • Issues linked to this repository
Commit and PR analysis automatically applies your AI Learning patterns. If you’ve corrected how the AI categorizes certain types of changes, those corrections will be reflected in future analysis.

Commit Impact Analysis

When you expand a commit in the Activity tab, the Impact Analysis section shows the “blast radius” of changes:
SectionWhat It Shows
Risk AssessmentOverall severity (Low/Medium/High/Critical) with specific risk factors
File DependenciesFiles that import from the changed code
Call GraphFunctions that call into modified code
Structural ImpactTypes that extend or implement changed interfaces
Related IssuesOpen GitHub issues that may be affected
Affected ComponentsHigh-level view of impacted services/modules
Risk Factors detected include:
  • Wide dependency spread (many files depend on changes)
  • Base type modifications (interface/class changes)
  • Cross-component impact (changes span multiple areas)
  • Critical data paths (auth, payments, etc.)
  • Insufficient test coverage
  • Breaking change signals
Hover over file paths and issues to see preview popovers with quick details. Hover over metrics for tooltip explanations.

Logs Tab

Monitor sync and index operations:
  • Operation history
  • Success and failure logs
  • Timing information

Documents Tab

Manage documentation configurations:
  • Auto-generated documentation settings
  • Documentation update history
  • Approval workflows

Settings Tab

Configure repository behavior:
  • Enable/disable automatic sync
  • Set sync intervals
  • Configure scope and filters

Language Support

Kasava supports 100+ programming languages through tree-sitter. Common languages include:
  • JavaScript
  • TypeScript
  • HTML
  • CSS
  • Vue
  • Svelte

Best Practices

Index your most important repositories first - Start with core business logic and frequently accessed code to get immediate value from AI features.
Use branch selection wisely - Index your main development branch for the most relevant AI context. Consider indexing feature branches temporarily when working on specific features.
Keep indexes fresh - Re-index after significant changes like major refactors or new feature branches.
Combine with AI Chat - Once indexed, use AI Chat to ask questions about your code and get contextual answers.
Monitor sync status - Keep an eye on sync indicators to ensure your data stays current with GitHub.

Troubleshooting

Indexing Takes Too Long

  • Check your repository size - large repos take longer
  • Consider using “Symbols Only” re-index for faster updates
  • Verify you’re not hitting rate limits

Index Fails

  • Check the Logs tab for error details
  • Ensure the branch exists and is accessible
  • Verify your GitHub App has proper permissions

Stale Data

  • Re-sync the repository to fetch latest metadata
  • Re-index if code changes aren’t reflected in AI features
  • Check if automatic sync is enabled in Settings