File size: 3,523 Bytes
35aaa09
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# Contributing to Docking@HOME

Thank you for your interest in contributing to Docking@HOME! This document provides guidelines for contributing to the project.

## Code of Conduct

We are committed to providing a welcoming and inclusive environment. Please be respectful and constructive in all interactions.

## How to Contribute

### Reporting Bugs

1. Check if the bug has already been reported in [HuggingFace Discussions](https://huggingface.co/OpenPeerAI/DockingAtHOME/discussions)
2. If not, create a new discussion with:
   - Clear title and description
   - Steps to reproduce
   - Expected vs actual behavior
   - System information (OS, GPU, CUDA version, etc.)
   - Relevant logs or error messages

### Suggesting Features

1. Check existing feature requests in Issues
2. Create a new issue with:
   - Clear description of the feature
   - Use case and motivation
   - Proposed implementation (if applicable)

### Contributing Code

1. **Fork the repository**
2. **Create a feature branch**
   ```bash

   git checkout -b feature/your-feature-name

   ```
3. **Make your changes**
   - Follow the coding style (see below)
   - Add tests for new functionality
   - Update documentation as needed
4. **Commit your changes**
   ```bash

   git commit -m "Add feature: description"

   ```
5. **Push to your fork**
   ```bash

   git push origin feature/your-feature-name

   ```
6. **Create a Pull Request**

## Development Setup

```bash

# Clone the repository

git clone https://huggingface.co/OpenPeerAI/DockingAtHOME

cd DockingAtHOME



# Install dependencies

pip install -r requirements.txt

npm install



# Build C++/CUDA components

mkdir build && cd build

cmake .. && make -j$(nproc)



# Run tests

ctest

pytest

```

## Coding Standards

### C++

- Follow C++17 standard
- Use meaningful variable and function names
- Add Doxygen comments for public APIs
- Use RAII for resource management
- Prefer smart pointers over raw pointers

### Python

- Follow PEP 8 style guide
- Use type hints
- Add docstrings for all functions and classes
- Use Black for formatting
- Maximum line length: 100 characters

### JavaScript

- Follow ES6+ standards
- Use meaningful variable names
- Add JSDoc comments
- Use async/await for asynchronous code

## Testing

- Write unit tests for new functionality
- Ensure all tests pass before submitting PR
- Aim for >80% code coverage

```bash

# C++ tests

cd build

ctest -V



# Python tests

pytest tests/ -v --cov



# JavaScript tests

npm test

```

## Documentation

- Update README.md if adding user-facing features
- Update API documentation for new functions
- Add examples for new functionality
- Update MODEL_CARD.md if changing capabilities



## Pull Request Process



1. Ensure CI/CD checks pass

2. Update CHANGELOG.md

3. Request review from maintainers

4. Address review feedback

5. Squash commits if requested

6. Wait for approval and merge



## Recognition



Contributors will be:

- Listed in CONTRIBUTORS.md

- Acknowledged in release notes

- Credited in publications (for significant contributions)



## Questions?



- Email: [email protected]

- Discussion Forum: [HuggingFace Discussions](https://huggingface.co/OpenPeerAI/DockingAtHOME/discussions)



## License



By contributing, you agree that your contributions will be licensed under the GPL-3.0 License.



---



Thank you for helping make computational drug discovery more accessible!