multimind-sdk icon indicating copy to clipboard operation
multimind-sdk copied to clipboard

Refactor into Monorepo for Python & JS SDKs

Open DarshanKumar89 opened this issue 7 months ago β€’ 0 comments

Title: πŸ› οΈ Refactor into Monorepo for Python & JS SDKs

Description:

Currently, MultiMind SDK maintains two separate repositories:

  • multimindlab/multimind-sdk (Python)
  • multimindlab/multimind-sdk-js (JavaScript/TypeScript)

I propose refactoring into a single monorepo structure to improve synchronization, reduce duplication, and streamline development:

multimindlab/multimind-sdk/
β”œβ”€ python/              ← existing Python SDK
β”œβ”€ typescript/          ← existing JS/TS SDK
β”œβ”€ shared/              ← shared docs/design utilities
β”œβ”€ .github/workflows/   ← centralized CI for both languages
└─ docs/                ← combined documentation

πŸ”„ Motivation & Benefits

  • Unified versioning: Common releases, consistent changelogs and tagging.
  • Reduced duplication: Shared docs, CI, shared utilities in one repo.
  • Cross-language refactoring: Easier to implement shared features or consistent APIs.
  • Simplified onboarding: One repo for discoverability and navigation.

βš™οΈ Proposed Migration Steps

  1. Set up root structure, move SDK folders in.

  2. Update CI workflows to build/test Python and TS independently.

  3. Modify package definitions:

    • setup.py/pyproject.toml in python/
    • package.json in typescript/
  4. Create shared docs/utilities folder.

  5. Retire old repos (archive or redirect).

  6. Announce deprecation, update references, set README redirects.


βœ… Risks & Considerations

  • Repo size growth; may need to use sparse checkout for language-specific contributors.
  • Complexity in CI management for multiple languages.
  • Access control and dependency isolationβ€”might need path or folder-based permissions.

πŸ“Œ Discussion Points

  • Do we prefer a monorepo with shared CI or keep language-specific workflow?
  • Are there blockers (e.g. toolchain or release cycles) that make separate repos better?
  • Timeline for merge and any feature freeze period before migration?

DarshanKumar89 avatar Jul 08 '25 10:07 DarshanKumar89