An intelligent backend system that scans any GitHub repository and automatically extracts API endpoints along with their request/response schemas.
-
π Automatic API Detection
- Scans repository files to find REST endpoints
-
π§ AI-powered Schema Extraction
- Uses LLM to infer request/response schemas from code
-
β‘ Concurrent Processing
- Multi-threaded schema generation for performance
-
π§Ή Duplicate Removal
- Ensures unique API endpoints
-
π Multi-language Ready (Extensible)
- Designed to support Java, Node.js, Go, etc.
GitHub Repo
β
Clone Service
β
File Scanner
β
Endpoint Extractor
β
Code Snippet Extractor
β
LLM (Schema Generator)
β
Structured Output
- Java (Spring Boot)
- LangChain4j / LLM Integration
- Multithreading (ExecutorService)
- File System Scanning
- REST API Parsing
service/
βββ ExtractionService.java
βββ SchemaGeneratorService.java
βββ CodeSnippetExtractorService.java
βββ EndpointExtractorService.java
βββ RepoScannerService.java
βββ GitService.java
agent/
βββ RepoAgent.java
βββ RepoTools.java
model/
βββ ApiEndpoint.java
βββ RepositoryStructure.java
- Provide a GitHub repository URL
- System clones the repo
- Scans files to detect API endpoints
- Extracts relevant code snippets
- Uses AI to generate schema
- Returns structured API data
{
"method": "POST",
"path": "/jobPost",
"requestSchema": { ... },
"responseSchema": { ... }
}- Schema accuracy depends on code clarity
- Dynamic languages (Node.js) may require heuristics
- LLM output may need post-processing
git clone https://github.com/your-username/repo-name.git
cd repo-nameIf using Maven:
mvn clean installmvn spring-boot:runOR run directly from your IDE (IntelliJ / Eclipse)
http://localhost:8080POST http://localhost:8080/extract{
"repoUrl": "https://github.com/your-username/sample-repo"
}