-
Add an updated architecture section describing the Feature-Based Layered Approach and its benefits.
-
Include a new project structure tree in the README, such as:
src/
├── api/
├── features/
│ ├── chat/
│ │ ├── api/
│ │ ├── services/
│ │ ├── repositories/
│ │ ├── models/
│ │ ├── agents/
│ │ ├── chains/
│ │ ├── tools/
│ │ ├── utils/
│ │ └── tests/
│ ├── rag/
│ │ ├── chains/
│ └── workflows/
│ ├── graphs/
├── core/
├── shared/
└── main.py
-
Document the purpose and responsibilities of each layer (API, services, repositories, models, etc.).
-
Describe each major feature/module (e.g., chat, rag, workflows, agents, chains, graphs, etc.).
-
Add a migration guide or note summarizing the move from the previous structure to the new one.
-
List planned or in-progress features to help contributors and users understand the project’s roadmap.
## 🚀 Feature-Based Layered Architecture
This project uses a vertical slice (feature-based) architecture, where each business domain (Chat, RAG, Workflows, etc.) encapsulates its own API, services, repositories, models, chains, agents, tools, and tests. Shared/core logic is isolated in dedicated layers.
### Key Directories
- `features/`: All business domains (e.g., chat, rag, documents, workflows)
- `chains/`: Reusable LangChain chain logic per feature
- `graphs/`: LangGraph workflow definitions
- `core/`: Shared infrastructure (database, config, langchain, cache)
- `shared/`: Common utilities, schemas, and constants
### Why this architecture?
- High cohesion and low coupling
- Scalable and easy to navigate
- Promotes team ownership and collaboration
### Planned Features
- Modular `chains` and `graphs` for advanced workflows
- More feature modules (e.g., crawl, mcp_agents)
- Improved documentation and migration guides
For more details, see the Architecture section below.
Let's use this issue to track and discuss improvements to the documentation, especially the README.md!
Type of Documentation Issue
Outdated Documentation
Location
README.md
Description
The README.md does not currently reflect the updated Feature-Based Layered Architecture adopted by the project. It is missing the following:
chains,graphs, improvedcoreandsharedlayers, and feature-specific modules.Suggested Changes
Add an updated architecture section describing the Feature-Based Layered Approach and its benefits.
Include a new project structure tree in the README, such as:
Document the purpose and responsibilities of each layer (API, services, repositories, models, etc.).
Describe each major feature/module (e.g., chat, rag, workflows, agents, chains, graphs, etc.).
Add a migration guide or note summarizing the move from the previous structure to the new one.
List planned or in-progress features to help contributors and users understand the project’s roadmap.
Example Section for New README.md
Let's use this issue to track and discuss improvements to the documentation, especially the README.md!