How It Works
Kasava uses a sophisticated indexing pipeline to process your code: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
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
Indexing a Repository
Initial Indexing
Select a Branch
Use the branch dropdown in the header to select which branch to index (default is
main)Re-indexing
When your code changes significantly, re-index to update the AI’s knowledge:Re-indexing replaces the existing index. The previous index data is removed when the new index completes successfully.
Indexing Performance
| Repository Size | Expected 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:- Use the branch dropdown in the repository header
- Select up to 3 branches to index simultaneously
- Click the refresh button next to the dropdown to sync branch list from GitHub
Syncing Branches from GitHub
If you’ve created new branches on GitHub:- Click the refresh icon next to the branch selector
- Wait for Kasava to fetch the latest branch list
- Your new branches will appear in the dropdown
Repository Actions
The repository detail page header provides several actions through the menu:| Action | Description |
|---|---|
| Sync | Fetch latest metadata (issues, PRs, commits) from GitHub |
| Re-sync | Full synchronization of all repository data |
| Re-index | Rebuild the code index for AI features |
| Cancel Indexing | Stop an in-progress indexing operation |
| Export Cursor Rules | Generate coding guidelines based on your codebase |
| Delete | Remove the repository from Kasava |
Sync Status
The repository header displays real-time status information:Status Indicators
| Status | Meaning |
|---|---|
| Synced | Repository data is up to date |
| Syncing | Sync operation is in progress |
| Indexed | Code index is ready for AI features |
| Indexing | Index operation is in progress |
| Not Indexed | Repository has not been indexed yet |
| Sync Off | Automatic 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
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:| Section | What It Shows |
|---|---|
| Risk Assessment | Overall severity (Low/Medium/High/Critical) with specific risk factors |
| File Dependencies | Files that import from the changed code |
| Call Graph | Functions that call into modified code |
| Structural Impact | Types that extend or implement changed interfaces |
| Related Issues | Open GitHub issues that may be affected |
| Affected Components | High-level view of impacted services/modules |
- 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
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:- Web
- Backend
- Mobile
- Systems
- JavaScript
- TypeScript
- HTML
- CSS
- Vue
- Svelte
Best Practices
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

