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 sources15d ago| #1 | # Contributing to Mnemosyne |
| #2 | |
| #3 | Mnemosyne is a personal project that grew into something useful. If you're here, you're already part of the community. There are no gatekeepers — bug reports, documentation fixes, feature ideas, and code contributions are all welcome. |
| #4 | |
| #5 | ## Getting Started |
| #6 | |
| #7 | ```bash |
| #8 | git clone https://github.com/AxDSan/mnemosyne.git |
| #9 | cd mnemosyne |
| #10 | pip install -e ".[all,dev]" |
| #11 | python -m pytest tests/ -v |
| #12 | ``` |
| #13 | |
| #14 | ## What You Can Do |
| #15 | |
| #16 | **No contribution is too small.** |
| #17 | |
| #18 | - **Report bugs** — Open an issue with steps to reproduce. A clear bug report saves hours. |
| #19 | - **Improve docs** — Typos, unclear explanations, missing examples. If it confused you, fix it. |
| #20 | - **Share your use case** — Open a discussion. Real-world usage shapes the roadmap. |
| #21 | - **Submit code** — See below for guidelines. |
| #22 | |
| #23 | ## Code Contributions |
| #24 | |
| #25 | ### Versioning |
| #26 | |
| #27 | Mnemosyne uses **Simple Versioning** (`MAJOR.MINOR`, no patch): |
| #28 | |
| #29 | - **MINOR** bumps after every iteration: bug fixes, features, docs, refactors. |
| #30 | - **MAJOR** bumps only for significant new functionality (e.g., 1.0 → 2.0). |
| #31 | |
| #32 | `__version__` in `mnemosyne/__init__.py` is the single source of truth. `pyproject.toml` reads from it automatically. If you open a PR that changes user-facing behavior, bump the version and add an entry to `CHANGELOG.md`. |
| #33 | |
| #34 | ### Releasing (maintainers only) |
| #35 | |
| #36 | Releases are fully automated via GitHub Actions: |
| #37 | |
| #38 | 1. Bump `__version__` in `mnemosyne/__init__.py` |
| #39 | 2. Commit and push to `main` |
| #40 | 3. Tag and push: |
| #41 | ```bash |
| #42 | git tag -a v1.X.Y -m "Release v1.X.Y" |
| #43 | git push origin v1.X.Y |
| #44 | ``` |
| #45 | 4. The [release workflow](https://github.com/AxDSan/mnemosyne/actions/workflows/release.yml) handles the rest: |
| #46 | - Builds wheel + sdist |
| #47 | - Creates a [GitHub Release](https://github.com/AxDSan/mnemosyne/releases) with auto-generated notes |
| #48 | - Publishes to [PyPI](https://pypi.org/project/mnemosyne-memory/) via trusted publishing (OIDC) |
| #49 | |
| #50 | No manual uploads. No API tokens. |
| #51 | |
| #52 | ### Principles |
| #53 | |
| #54 | Mnemosyne is intentionally minimal. Every addition is weighed against these principles: |
| #55 | |
| #56 | - **Local-first:** No cloud dependencies, no required API keys. |
| #57 | - **Minimal dependencies:** Prefer the Python stdlib. SQLite is the only database. |
| #58 | - **Zero-config:** Users should not need to edit config files to get basic functionality. |
| #59 | - **Fast:** Sub-millisecond reads and writes on standard hardware. |
| #60 | |
| #61 | ### Before You Code |
| #62 | |
| #63 | 1. **Open an issue first** for non-trivial changes. This prevents wasted effort. |
| #64 | 2. **Keep it focused.** One PR per logical change. |
| #65 | 3. **Add tests.** If you fix a bug or add a feature, include a test in `tests/`. |
| #66 | 4. **Update the README** if user-facing behavior changes. |
| #67 | 5. **Bump the version** in `mnemosyne/__init__.py` and update `CHANGELOG.md`. |
| #68 | |
| #69 | ### Review Process |
| #70 | |
| #71 | There is no formal review board. Pull requests are reviewed by the maintainer and merged when they: |
| #72 | |
| #73 | - Pass existing tests |
| #74 | - Follow the principles above |
| #75 | - Include a clear description of what changed and why |
| #76 | |
| #77 | ## Areas of Interest |
| #78 | |
| #79 | These are not mandates — just directions where help would be valuable: |
| #80 | |
| #81 | - Encrypted backup/sync (optional, user-controlled) |
| #82 | - Additional embedding model support |
| #83 | - Multi-language memory processing |
| #84 | - Better error messages and debugging tools |
| #85 | |
| #86 | ## Community |
| #87 | |
| #88 | - **Issues & bugs:** [GitHub Issues](https://github.com/AxDSan/mnemosyne/issues) |
| #89 | - **Feature ideas & questions:** [GitHub Discussions](https://github.com/AxDSan/mnemosyne/discussions) |
| #90 | |
| #91 | ## License |
| #92 | |
| #93 | By contributing, you agree that your contributions will be licensed under the MIT License. |
| #94 |