Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Refactor Cortex Monorepo #550

Closed
Tracked by #2781
louis-jan opened this issue Apr 24, 2024 · 2 comments
Closed
Tracked by #2781

feat: Refactor Cortex Monorepo #550

louis-jan opened this issue Apr 24, 2024 · 2 comments
Assignees
Labels

Comments

@louis-jan
Copy link
Contributor

louis-jan commented Apr 24, 2024

Problem

💡 We agreed that a single monorepo could offer the following benefits:
  1. Maintainability - Every Cortex engineer would be able to perform code reviews on every PR. Easy to test, cortex-cpp binaries are always being updated.
  2. Single submodule - Jan's users would only need to know one Cortex, reducing confusion caused by separate repositories. Even if we were to create two separate repositories, Jan's repository would simply add one CortexJS submodule. CortexJS would still exclusively reference Cortex CPP binaries.
janhq/cortex
│
├── cortex-js/               # Nest.js backend (NestJS)
│   ├── package.json         # Backend project dependencies
│   ├── README.md
│   ├── Dockerfile
│   ├── docker-compose.yml
│   ├── src/                 # Backend source code
│   │   ├── controllers/     # Nest.js controllers
│   │   ├── modules/         # Nest.js modules
│   │   ├── services/        # Nest.js services
│   │   └── ...              # Other Nest.js backend-related files
│   └── ...                  # Other Nest.js backend-related files
│
├── cortex-cpp/              # C++ backend with DrogonFramework
│   ├── app/                 # Backend source code
│   │   ├── controllers/     # Drogon controllers
│   │   ├── models/          # Data models
│   │   ├── services/        # Business logic services
│   │   ├── ?engines/        # Inference Engine submodules
│   │   |   ├──llama.cpp
│   │   |   ├──tensorrt-llm
│   │   |   └── ...
│   │   └── ...              # Other Drogon backend-related files
│   │
│   ├── CMakeLists.txt       # CMake build configuration
│   ├── config.json          # Drogon configuration
│   ├── Dockerfile
│   ├── docker-compose.yml
│   ├── README.md
│   └── ...                  # Other Drogon backend-related files
│
├── scripts/                     # Utility scripts
│   └── ...
├── README.md
├── package.json
├── Dockerfile					         # Dockerfile to deploy both
├── docker-compose.yml			     # Docker compose file
└── docs/                        # Documentation files
    └── ...

Success Criteria
A clear and concise description of what you want to happen.

Additional context
Add any other context or screenshots about the feature request here.

@louis-jan louis-jan added the type: feature request A new feature label Apr 24, 2024
@louis-jan louis-jan changed the title feat: [DESCRIPTION] feat: Refactor Cortex Monorepo Apr 24, 2024
@louis-jan
Copy link
Contributor Author

@namchuai added cortex-js here janhq/jan#530
@tikikun please proceed for the cortex-cpp
@hiento09 would help adding CI/scripts files

@Van-QA Van-QA transferred this issue from janhq/jan May 9, 2024
@louis-jan
Copy link
Contributor Author

It's completed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

4 participants