-
-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested
Description
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
-
Set up root structure, move SDK folders in.
-
Update CI workflows to build/test Python and TS independently.
-
Modify package definitions:
setup.py/pyproject.tomlinpython/package.jsonintypescript/
-
Create shared docs/utilities folder.
-
Retire old repos (archive or redirect).
-
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?
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested