repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
public Clawd ADK gateway launch mirror
stars
latest
clone command
git clone gitlawb://did:key:z6Mkq5mY...iFZ5/my-project-publ...git clone gitlawb://did:key:z6Mkq5mY.../my-project-publ...2fa351d6docs: add automaton and perps launch sources16d ago| #1 | --- |
| #2 | title: Development |
| #3 | icon: "code" |
| #4 | --- |
| #5 | |
| #6 | # Development Contributions |
| #7 | |
| #8 | We strive to make contributions **easy, collaborative, and enjoyable**. Follow the steps below to ensure a smooth contribution process. |
| #9 | |
| #10 | ## Submitting Your Contribution through PR |
| #11 | |
| #12 | To contribute, follow these steps: |
| #13 | |
| #14 | 1. **Fork & Clone** the repository: [Mem0 on GitHub](https://github.com/mem0ai/mem0) |
| #15 | 2. **Create a Feature Branch**: Use a dedicated branch for your changes, e.g., `feature/my-new-feature` |
| #16 | 3. **Implement Changes**: If adding a feature or fixing a bug, ensure to: |
| #17 | - Write necessary **tests** |
| #18 | - Add **documentation, docstrings, and runnable examples** |
| #19 | 4. **Code Quality Checks**: |
| #20 | - Run **linting** to catch style issues |
| #21 | - Ensure **all tests pass** |
| #22 | 5. **Submit a Pull Request** |
| #23 | |
| #24 | For detailed guidance on pull requests, refer to [GitHub's documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request). |
| #25 | |
| #26 | --- |
| #27 | |
| #28 | ## Dependency Management |
| #29 | |
| #30 | We use `hatch` as our package manager. Install it by following the [official instructions](https://hatch.pypa.io/latest/install/). |
| #31 | |
| #32 | **Do NOT use `pip` or `conda` for dependency management.** Instead, follow these steps in order: |
| #33 | |
| #34 | ```bash |
| #35 | # 1. Install base dependencies |
| #36 | make install |
| #37 | |
| #38 | # 2. Activate virtual environment (this will install dependencies) |
| #39 | hatch shell # For default environment |
| #40 | hatch -e dev_py_3_11 shell # For dev_py_3_11 (differences are mentioned in pyproject.toml) |
| #41 | |
| #42 | # 3. Install all optional dependencies |
| #43 | make install_all |
| #44 | ``` |
| #45 | |
| #46 | --- |
| #47 | |
| #48 | ## Development Standards |
| #49 | |
| #50 | ### Pre-commit Hooks |
| #51 | |
| #52 | Ensure `pre-commit` is installed before contributing: |
| #53 | |
| #54 | ```bash |
| #55 | pre-commit install |
| #56 | ``` |
| #57 | |
| #58 | ### Linting with `ruff` |
| #59 | |
| #60 | Run the linter and fix any reported issues before submitting your PR: |
| #61 | |
| #62 | ```bash |
| #63 | make lint |
| #64 | ``` |
| #65 | |
| #66 | ### Code Formatting |
| #67 | |
| #68 | To maintain a consistent code style, format your code: |
| #69 | |
| #70 | ```bash |
| #71 | make format |
| #72 | ``` |
| #73 | |
| #74 | ### Testing with `pytest` |
| #75 | |
| #76 | Run tests to verify functionality before submitting your PR: |
| #77 | |
| #78 | ```bash |
| #79 | make test |
| #80 | ``` |
| #81 | |
| #82 | **Note:** Some dependencies have been removed from the main dependencies to reduce package size. Run `make install_all` to install necessary dependencies before running tests. |
| #83 | |
| #84 | --- |
| #85 | |
| #86 | ## Release Process |
| #87 | |
| #88 | Currently, releases are handled manually. We aim for frequent releases, typically when new features or bug fixes are introduced. |
| #89 | |
| #90 | --- |
| #91 | |
| #92 | Thank you for contributing to Mem0! |