C# WPF desktop application that extracts source code, feeding structured tokens into a vector database pipeline for intelligent documentation indexing.
This desktop app is the ingestion layer of the CodeIndex Hub platform. Developers point it at a codebase, and it handles extraction, and submission to the API, so that functions and classes become searchable via the web app.
| Component | Tech | Role |
|---|---|---|
| Desktop App ← you are here | C# WPF | Extracts source code |
| Web App | Astro + React | Displays documentation, handles search |
| API | Python Flask | Manages vector storage, Tokenisation and search queries |
- 📂 Project Import — Point the app at any local codebase directory
- 🔬 Code Extraction — Parses source files and isolates function definitions, signatures, and metadata
- 📡 API Submission — Sends data to the CodeIndex Hub API for vector storage
- 🗂️ Multi-language Support (planned) — Initially targeting C# and Python, with expansion planned
- C# / .NET — Core application logic
- WPF (Windows Presentation Foundation) — Desktop UI framework
- Python AST — Code parsing and extraction
- HttpClient — Communicates with the CodeIndex Hub API
- Windows 10 or later
- .NET 8 SDK or later
- CodeIndexHub API running locally
/
├── CodeIndex.App/ # WPF application (UI, ViewModels)
│ ├── Views/ # XAML pages and windows
│ ├── ViewModels/ # MVVM ViewModels
│ └── App.xaml
├── CodeIndex.Core/ # Business logic
│ ├── Extraction/ # Code parsing & function extraction
│ └── ApiClient/ # HTTP client for API communication
├── CodeIndex.Tests/ # Unit tests
└── CodeIndex.sln
Local Codebase
↓
File Scanner Discovers .cs (and other) source files
↓
Code Extractor Parses functions, signatures, docstrings, metadata
↓
API Client POSTs tokens to CodeIndex API
↓
Vector DB Stored and indexed for semantic search
FProject-Web— Web App both frontend and backend
This project is part of a university dissertation. All rights reserved.
If it wasn't obvious this file is AI generated by Claude Code using sonnet 4.6 and manually fact checked to ensure accuracy.