Thank you for your interest in contributing! This guide will help you get started.
- Node.js >= 18
- npm >= 9
git clone https://github.com/mnemebrain/mnemebrain-ts.git
cd mnemebrain-ts
npm installnpm run build# Unit tests
npm test
# With coverage
npm run test:coverage
# Integration tests (requires running backend)
npm run test:integration
# E2E tests (requires running backend)
npm run test:e2enpm run typecheckThis project uses Conventional Commits. All commits must follow this format:
type(scope): description
Types: feat, fix, docs, test, refactor, chore, ci, perf
Examples:
feat(client): add batch believe operation
fix(sandbox): handle timeout on fork
docs: update README quickstart
test(e2e): add working memory workflow test
Commit messages are enforced via commitlint + husky.
- Fork the repo and create a feature branch from
main - Make your changes with tests
- Ensure all tests pass:
npm test - Ensure types check:
npm run typecheck - Ensure build succeeds:
npm run build - Open a PR with a clear description of the change
- TypeScript strict mode is enabled
- All public functions and classes need JSDoc comments
- Export types explicitly via
src/index.ts - Use
snake_casefor API payloads,camelCasefor TypeScript interfaces
For integration/E2E tests, start the MnemeBrain backend:
cd ../backend
uv sync --extra dev
MNEMEBRAIN_API_TOKEN=test-token uv run python -m mnemebrainThen in another terminal:
MNEMEBRAIN_E2E=1 npm run test:e2e
MNEMEBRAIN_INTEGRATION=1 npm run test:integrationUse GitHub Issues with the provided templates. Include:
- SDK version
- Node.js version
- Minimal reproduction steps
- Expected vs actual behavior
By contributing, you agree that your contributions will be licensed under the MIT License.