Contributing Guide

May 13, 2026 · View on GitHub

Thank you for your interest in the TencentDB Agent Memory project! We welcome all kinds of contributions from the community — whether it's reporting issues, improving documentation, or submitting code.

How to Contribute

  • Report Bugs: Describe the issue in GitHub Issues and provide steps to reproduce.
  • Request Features: Describe your use case and proposed solution in Issues.
  • Improve Documentation: Fix typos, clarify explanations, or add examples.
  • Submit Code: Fix bugs, implement new features, or optimize performance.

Getting Started

Prerequisites

  • Node.js >= 22.16.0
  • npm or pnpm
  • OpenClaw >= 2026.3.13

Developing from Source

This project requires no build step. Node.js 22.16+ natively supports TypeScript type stripping, and OpenClaw directly loads .ts source files at runtime.

# Clone the repository
git clone https://github.com/Tencent/TencentDB-Agent-Memory.git
cd TencentDB-Agent-Memory

# Install dependencies
npm install

# Register the current directory as a local plugin in OpenClaw
openclaw plugins install --link .

install --link registers the current directory as a local plugin in OpenClaw. After modifying source code, simply restart the Gateway for changes to take effect.

Project Structure

├── index.ts                 # Plugin entry point
├── openclaw.plugin.json     # OpenClaw plugin manifest
├── src/
│   ├── config.ts            # Configuration management
│   ├── conversation/        # L0 Conversation layer — raw dialogue capture
│   ├── record/              # L1 Record layer — structured information extraction
│   ├── scene/               # L2 Scene layer — scene summarization & aggregation
│   ├── persona/             # L3 Persona layer — user profile construction
│   ├── store/               # Storage layer — SQLite / vector database
│   ├── hooks/               # OpenClaw hooks integration
│   ├── prompts/             # LLM prompt templates
│   ├── tools/               # Tool functions
│   ├── utils/               # General utilities
│   └── report/              # Health check & reporting
├── hermes-plugin/           # Hermes agent plugin adapter
├── scripts/                 # Helper scripts (Gateway control, etc.)
├── CHANGELOG.md             # Changelog
└── README.md                # Project documentation

Submitting a Pull Request

  1. Fork this repository and create your feature branch from main.
  2. Make changes — keep each commit focused and atomic.
  3. Test — ensure existing functionality is not affected.
  4. Update documentation — if changes affect user-facing behavior, update the README or related docs.
  5. Open a PR — describe the motivation, changes, and link related Issues.

Branch Information

BranchPurpose
mainDefault branch, PR target

Commit Message Convention

Use the following format for commit messages:

<type>(<scope>): <short summary>

<detailed description (optional)>

Closes #123
Signed-off-by: Your Name <your-email@example.com>

Types

Aligned with the PR template Change Types:

TypeDescriptionPR Change Type
fixBug fixBug fix
featNew featureNew feature
docsDocumentation updateDocumentation update
perfPerformance optimizationCode optimization
refactorCode refactoring (no behavior change)Code optimization
testTest related
choreBuild / tooling / dependency changes

Scope Examples

store, hooks, persona, scene, record, conversation, gateway, hermes

Code Style

  • TypeScript: Follow the existing code style in the project for consistency.
  • Naming: Use meaningful variable and function names, prefer English.
  • Comments: Add comments at critical logic points explaining "why" rather than "what".
  • Import order: Node.js built-in modules → third-party dependencies → internal project modules.

Developer Certificate of Origin (DCO)

All commits must include a Signed-off-by line, indicating your agreement to the Developer Certificate of Origin:

git commit -s -m "feat(store): add batch insert support"

Commits without a valid Signed-off-by will not be merged.

Security Issues

If you discover a security vulnerability, please report it via the email agentmemory@tencent.com and we will address it promptly.

License

By submitting a contribution, you agree that your code will be licensed under the MIT License.


Thank you again for contributing! If you have any questions, feel free to discuss them in Issues.