-
-
Notifications
You must be signed in to change notification settings - Fork 14
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?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested