Skip to content

[Docs]: Update README.md to Reflect New Architecture and Features #2

@Harmeet10000

Description

@Harmeet10000

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:

  • The new project folder structure, with clear separation for features, chains, graphs, shared, and core layers.
  • A description of the architectural philosophy (vertical slices + horizontal layers).
  • Updated diagrams and explanations for how features/modules interact.
  • Documentation on new and planned features, including chains, graphs, improved core and shared layers, 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:

    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.


Example Section for New README.md

## 🚀 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!

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions