Thanks for your interest! Here's how to contribute.
git clone https://github.com/naimkatiman/OpenMemory.git
cd OpenMemory
npm install
npm run devnpm run dev # Start dev server (tsx watch)
npm run build # TypeScript compile
npm run test # Run tests
npm run cli # Run CLI commands- Fork the repo and create a branch from
main - Make your changes with clear commit messages
- Add tests if you're adding new features
- Ensure
npm run buildpasses - Open a PR with a description of what you changed and why
- Bug reports: Include steps to reproduce, expected vs actual behavior
- Feature requests: Describe the use case and proposed solution
- Questions: Use GitHub Discussions if available, otherwise open an issue
- TypeScript strict mode
- Use Zod for input validation
- Keep functions focused and small
- Add JSDoc comments for public APIs
src/
├── server.ts # Entry point
├── api.ts # Fastify routes
├── mcp.ts # MCP server
├── service.ts # Business logic
├── storage.ts # SQLite layer
├── schemas.ts # Zod schemas
├── config.ts # Env config
└── cli.ts # CLI
By contributing, you agree that your contributions will be licensed under the MIT License.