# yeamimhossainsajid/codemonk architecture

> Architecture diagram of the GitHub repository yeamimhossainsajid/codemonk, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yeamimhossainsajid/codemonk
- Repository: https://github.com/yeamimhossainsajid/codemonk

## Overview

CodeMonk is an AI-powered codebase-understanding platform. Its intended workflow takes a repository through structural analysis and knowledge building, retrieves code and relationships as context, then uses AI to produce architectural answers for developers. The README describes several pipeline stages as in progress or planned; the tree and sampled sources show a service skeleton and shared graph/cache utilities, not evidence that the full pipeline is wired. Uncertain runtime connections are therefore omitted.

Main entry points: [`services/api-gateway/src/main/java/com/codemonk/gateway/ApiGatewayApplication.java`](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/api-gateway/src/main/java/com/codemonk/gateway/ApiGatewayApplication.java) (API gateway), [`services/repository-service/src/main/java/com/codemonk/repository/RepositoryApplication.java`](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/repository-service/src/main/java/com/codemonk/repository/RepositoryApplication.java) (Repository service), [`services/code-analysis-service/src/main/java/com/codemonk/analysis/CodeAnalysisApplication.java`](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/code-analysis-service/src/main/java/com/codemonk/analysis/CodeAnalysisApplication.java) (Code analysis), [`services/search-service/src/main/java/com/codemonk/search/SearchApplication.java`](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/search-service/src/main/java/com/codemonk/search/SearchApplication.java) (Hybrid search)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ingestion["Repository ingestion"]
  node_repository_service["Repository service"]
  node_analysis_service["Code analysis"]
  node_ast_parser["AST parsing"]
  node_extractor["Relation extraction"]
  node_documentation_store[("Documentation records")]
end

subgraph group_knowledge["Knowledge and retrieval"]
  node_kafka["Event bus"]
  node_graph_store[("Knowledge graph")]
  node_graph_service["Graph operations"]
  node_graph_queries["Graph traversal"]
  node_vector_store[("Vector index")]
  node_search_service["Hybrid search"]
  node_impact_analysis["Impact analysis"]
end

subgraph group_intelligence["AI and developer experience"]
  node_context_engine["Context assembly"]
  node_ai_service["AI service<br/>[AIService.java]"]
  node_llm["Code LLM"]
end

subgraph group_platform["Service platform"]
  node_gateway["API gateway"]
  node_discovery["Service discovery"]
  node_config["Configuration service"]
end

node_repository(("Git repository"))
node_developer(("Developer"))

node_repository -->|"ingests"| node_repository_service
node_repository_service -->|"stores records"| node_documentation_store
node_repository_service -.->|"submits for analysis"| node_analysis_service
node_analysis_service -.->|"parses structure"| node_ast_parser
node_ast_parser -.->|"provides syntax"| node_extractor
node_extractor -.->|"publishes events"| node_kafka
node_kafka -.->|"dispatches events"| node_graph_service
node_kafka -.->|"dispatches indexing"| node_vector_store
node_graph_service -.->|"reads and writes"| node_graph_store
node_graph_queries -.->|"reads neighbors"| node_graph_store
node_search_service -.->|"retrieves matches"| node_vector_store
node_search_service -.->|"traverses relations"| node_graph_queries
node_graph_store -.->|"supplies relations"| node_context_engine
node_vector_store -.->|"supplies code"| node_context_engine
node_developer -.->|"asks questions"| node_gateway
node_gateway -.->|"routes search"| node_search_service
node_gateway -.->|"routes prompts"| node_ai_service
node_context_engine -.->|"provides context"| node_ai_service
node_ai_service -.->|"requests reasoning"| node_llm
node_llm -.->|"returns insights"| node_gateway
node_analysis_service -.->|"supports analysis"| node_impact_analysis

click node_repository_service "https://github.com/yeamimhossainsajid/codemonk/blob/main/services/repository-service/src/main/java/com/codemonk/repository/RepositoryApplication.java"
click node_analysis_service "https://github.com/yeamimhossainsajid/codemonk/blob/main/services/code-analysis-service/src/main/java/com/codemonk/analysis/CodeAnalysisApplication.java"
click node_ast_parser "https://github.com/yeamimhossainsajid/codemonk/tree/main/services/code-analysis-service"
click node_extractor "https://github.com/yeamimhossainsajid/codemonk/tree/main/services/code-analysis-service"
click node_graph_service "https://github.com/yeamimhossainsajid/codemonk/blob/main/services/knowledge-service/src/main/java/com/codemonk/knowledge/KnowledgeApplication.java"
click node_graph_queries "https://github.com/yeamimhossainsajid/codemonk/blob/main/libs/common-core/src/main/java/com/codemonk/common/service/GraphQueryService.java"
click node_search_service "https://github.com/yeamimhossainsajid/codemonk/blob/main/services/search-service/src/main/java/com/codemonk/search/SearchApplication.java"
click node_ai_service "https://github.com/yeamimhossainsajid/codemonk/blob/main/services/ai-service/src/main/java/com/codemonk/ai/service/AIService.java"
click node_gateway "https://github.com/yeamimhossainsajid/codemonk/blob/main/services/api-gateway/src/main/java/com/codemonk/gateway/ApiGatewayApplication.java"
click node_discovery "https://github.com/yeamimhossainsajid/codemonk/blob/main/services/discovery-server/src/main/java/com/codemonk/discovery/DiscoveryServerApplication.java"
click node_config "https://github.com/yeamimhossainsajid/codemonk/blob/main/services/config-server/src/main/java/com/codemonk/config/ConfigServerApplication.java"
click node_documentation_store "https://github.com/yeamimhossainsajid/codemonk/blob/main/services/repository-service/src/main/java/com/codemonk/repository/service/DocumentationRepository.java"
click node_impact_analysis "https://github.com/yeamimhossainsajid/codemonk/tree/main/services/code-analysis-service"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_repository_service,node_analysis_service,node_ast_parser,node_extractor,node_documentation_store toneBlue
class node_kafka,node_graph_store,node_graph_service,node_graph_queries,node_vector_store,node_search_service,node_impact_analysis toneAmber
class node_context_engine,node_ai_service,node_llm toneMint
class node_gateway,node_discovery,node_config toneRose
class node_repository,node_developer toneIndigo
```

## Components

### Repository ingestion

- [Repository service](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/repository-service/src/main/java/com/codemonk/repository/RepositoryApplication.java): `services/repository-service/src/main/java/com/codemonk/repository/RepositoryApplication.java`
- [Code analysis](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/code-analysis-service/src/main/java/com/codemonk/analysis/CodeAnalysisApplication.java): `services/code-analysis-service/src/main/java/com/codemonk/analysis/CodeAnalysisApplication.java`
- [AST parsing](https://github.com/yeamimhossainsajid/codemonk/tree/main/services/code-analysis-service): `services/code-analysis-service`
- [Relation extraction](https://github.com/yeamimhossainsajid/codemonk/tree/main/services/code-analysis-service): `services/code-analysis-service`
- [Documentation records](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/repository-service/src/main/java/com/codemonk/repository/service/DocumentationRepository.java): `services/repository-service/src/main/java/com/codemonk/repository/service/DocumentationRepository.java`

### Knowledge and retrieval

- **Event bus**
- **Knowledge graph**
- [Graph operations](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/knowledge-service/src/main/java/com/codemonk/knowledge/KnowledgeApplication.java): `services/knowledge-service/src/main/java/com/codemonk/knowledge/KnowledgeApplication.java`
- [Graph traversal](https://github.com/yeamimhossainsajid/codemonk/blob/main/libs/common-core/src/main/java/com/codemonk/common/service/GraphQueryService.java): `libs/common-core/src/main/java/com/codemonk/common/service/GraphQueryService.java`
- **Vector index**
- [Hybrid search](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/search-service/src/main/java/com/codemonk/search/SearchApplication.java): `services/search-service/src/main/java/com/codemonk/search/SearchApplication.java`
- [Impact analysis](https://github.com/yeamimhossainsajid/codemonk/tree/main/services/code-analysis-service): `services/code-analysis-service`

### AI and developer experience

- **Context assembly**
- [AI service](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/ai-service/src/main/java/com/codemonk/ai/service/AIService.java): `services/ai-service/src/main/java/com/codemonk/ai/service/AIService.java`
- **Code LLM**

### Service platform

- [API gateway](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/api-gateway/src/main/java/com/codemonk/gateway/ApiGatewayApplication.java): `services/api-gateway/src/main/java/com/codemonk/gateway/ApiGatewayApplication.java`
- [Service discovery](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/discovery-server/src/main/java/com/codemonk/discovery/DiscoveryServerApplication.java): `services/discovery-server/src/main/java/com/codemonk/discovery/DiscoveryServerApplication.java`
- [Configuration service](https://github.com/yeamimhossainsajid/codemonk/blob/main/services/config-server/src/main/java/com/codemonk/config/ConfigServerApplication.java): `services/config-server/src/main/java/com/codemonk/config/ConfigServerApplication.java`

### Other components

- **Git repository**
- **Developer**

## Connections

- Git repository → Repository service: ingests
- Repository service → Documentation records: stores records
- Repository service → Code analysis: submits for analysis
- Code analysis → AST parsing: parses structure
- AST parsing → Relation extraction: provides syntax
- Relation extraction → Event bus: publishes events
- Event bus → Graph operations: dispatches events
- Event bus → Vector index: dispatches indexing
- Graph operations → Knowledge graph: reads and writes
- Graph traversal → Knowledge graph: reads neighbors
- Hybrid search → Vector index: retrieves matches
- Hybrid search → Graph traversal: traverses relations
- Knowledge graph → Context assembly: supplies relations
- Vector index → Context assembly: supplies code
- Developer → API gateway: asks questions
- API gateway → Hybrid search: routes search
- API gateway → AI service: routes prompts
- Context assembly → AI service: provides context
- AI service → Code LLM: requests reasoning
- Code LLM → API gateway: returns insights
- Code analysis → Impact analysis: supports analysis
