You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+38-34Lines changed: 38 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
1
# Contributing to Basic Memory
2
2
3
-
Thank you for considering contributing to Basic Memory! This document outlines the process for contributing to the project and how to get started as a developer.
3
+
Thank you for considering contributing to Basic Memory! This document outlines the process for contributing to the
4
+
project and how to get started as a developer.
4
5
5
6
## Getting Started
6
7
@@ -65,61 +66,64 @@ Thank you for considering contributing to Basic Memory! This document outlines t
65
66
66
67
This project is designed for collaborative development between humans and LLMs (Large Language Models):
67
68
68
-
1.**CLAUDE.md**: The repository includes a `CLAUDE.md` file that serves as a project guide for both humans and LLMs. This file contains:
69
-
- Key project information and architectural overview
70
-
- Development commands and workflows
71
-
- Code style guidelines
72
-
- Documentation standards
69
+
1.**CLAUDE.md**: The repository includes a `CLAUDE.md` file that serves as a project guide for both humans and LLMs.
70
+
This file contains:
71
+
- Key project information and architectural overview
72
+
- Development commands and workflows
73
+
- Code style guidelines
74
+
- Documentation standards
73
75
74
76
2.**AI-Human Collaborative Workflow**:
75
-
- We encourage using LLMs like Claude for code generation, reviews, and documentation
76
-
- When possible, save context in markdown files that can be referenced later
77
-
- This enables seamless knowledge transfer between different development sessions
78
-
- Claude can help with implementation details while you focus on architecture and design
77
+
- We encourage using LLMs like Claude for code generation, reviews, and documentation
78
+
- When possible, save context in markdown files that can be referenced later
79
+
- This enables seamless knowledge transfer between different development sessions
80
+
- Claude can help with implementation details while you focus on architecture and design
79
81
80
82
3.**Adding to CLAUDE.md**:
81
-
- If you discover useful project information or common commands, consider adding them to CLAUDE.md
82
-
- This helps all contributors (human and AI) maintain consistent knowledge of the project
83
+
- If you discover useful project information or common commands, consider adding them to CLAUDE.md
84
+
- This helps all contributors (human and AI) maintain consistent knowledge of the project
83
85
84
86
## Pull Request Process
85
87
86
88
1.**Create a Pull Request**: Open a PR against the `main` branch with a clear title and description.
87
-
2.**Sign the Developer Certificate of Origin (DCO)**: All contributions require signing our DCO, which certifies that you have the right to submit your contributions. This will be automatically checked by our CLA assistant when you create a PR.
89
+
2.**Sign the Developer Certificate of Origin (DCO)**: All contributions require signing our DCO, which certifies that
90
+
you have the right to submit your contributions. This will be automatically checked by our CLA assistant when you
91
+
create a PR.
88
92
3.**PR Description**: Include:
89
-
- What the PR changes
90
-
- Why the change is needed
91
-
- How you tested the changes
92
-
- Any related issues (use "Fixes #123" to automatically close issues)
93
+
- What the PR changes
94
+
- Why the change is needed
95
+
- How you tested the changes
96
+
- Any related issues (use "Fixes #123" to automatically close issues)
93
97
4.**Code Review**: Wait for code review and address any feedback.
94
98
5.**CI Checks**: Ensure all CI checks pass.
95
99
6.**Merge**: Once approved, a maintainer will merge your PR.
96
100
97
101
## Developer Certificate of Origin
98
102
99
-
By contributing to this project, you agree to the [Developer Certificate of Origin (DCO)](CLA.md). This means you certify that:
103
+
By contributing to this project, you agree to the [Developer Certificate of Origin (DCO)](CLA.md). This means you
104
+
certify that:
105
+
100
106
- You have the right to submit your contributions
101
107
- You're not knowingly submitting code with patent or copyright issues
102
108
- Your contributions are provided under the project's license (AGPL-3.0)
103
109
104
-
This is a lightweight alternative to a Contributor License Agreement and helps ensure that all contributions can be properly incorporated into the project and potentially used in commercial applications.
110
+
This is a lightweight alternative to a Contributor License Agreement and helps ensure that all contributions can be
111
+
properly incorporated into the project and potentially used in commercial applications.
105
112
106
113
### Signing Your Commits
107
114
108
-
You can sign your commits in one of two ways:
115
+
Sign your commit:
109
116
110
-
1.**Using the `-s` or `--signoff` flag**:
111
-
```bash
112
-
git commit -s -m "Your commit message"
113
-
```
114
-
This adds a `Signed-off-by` line to your commit message, certifying that you adhere to the DCO.
117
+
**Using the `-s` or `--signoff` flag**:
115
118
116
-
2.**Configuring Git to automatically sign off**:
117
-
```bash
118
-
git config --global alias.cs 'commit -s'
119
-
```
120
-
Then use `git cs -m "Your commit message"` to commit with sign-off.
119
+
```bash
120
+
git commit -s -m "Your commit message"
121
+
```
122
+
123
+
This adds a `Signed-off-by` line to your commit message, certifying that you adhere to the DCO.
121
124
122
-
The sign-off certifies that you have the right to submit your contribution under the project's license and verifies your agreement to the DCO.
125
+
The sign-off certifies that you have the right to submit your contribution under the project's license and verifies your
126
+
agreement to the DCO.
123
127
124
128
## Code Style Guidelines
125
129
@@ -135,10 +139,10 @@ The sign-off certifies that you have the right to submit your contribution under
135
139
136
140
-**Coverage Target**: We aim for 100% test coverage for all code
137
141
-**Test Framework**: Use pytest for unit and integration tests
138
-
-**Mocking**: Use pytest-mock for mocking dependencies
142
+
-**Mocking**: Use pytest-mock for mocking dependencies only when necessary
139
143
-**Edge Cases**: Test both normal operation and edge cases
140
144
-**Database Testing**: Use in-memory SQLite for testing database operations
141
-
-**Fixtures**: Use pytest fixtures for setup and teardown
145
+
-**Fixtures**: Use async pytest fixtures for setup and teardown
142
146
143
147
## Creating Issues
144
148
@@ -156,4 +160,4 @@ All contributors must follow the [Code of Conduct](CODE_OF_CONDUCT.md).
156
160
157
161
## Thank You!
158
162
159
-
Your contributions help make Basic Memory better for everyone. We appreciate your time and effort!
163
+
Your contributions help make Basic Memory better. We appreciate your time and effort!
0 commit comments