File size: 2,599 Bytes
61d29fc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Contributing to Oral Health Policy Pulse

Thank you for your interest in contributing to the Oral Health Policy Pulse project!

## How to Contribute

### Reporting Bugs

If you find a bug, please open an issue with:
- A clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, Python version, etc.)

### Suggesting Features

Feature requests are welcome! Please:
- Check if the feature has already been requested
- Clearly describe the feature and its use case
- Explain how it would benefit advocacy groups

### Code Contributions

1. **Fork the repository**
2. **Create a feature branch**
   ```bash
   git checkout -b feature/your-feature-name
   ```

3. **Make your changes**
   - Follow the existing code style
   - Add tests for new functionality
   - Update documentation as needed

4. **Run tests**
   ```bash
   pytest
   black .
   ruff check .
   ```

5. **Commit your changes**
   ```bash
   git commit -m "Add feature: description"
   ```

6. **Push and create a pull request**
   ```bash
   git push origin feature/your-feature-name
   ```

## Code Style

- Follow PEP 8 guidelines
- Use type hints
- Write docstrings for all public functions
- Keep functions focused and single-purpose
- Use meaningful variable names

## Code of Conduct

This project values respectful, inclusive collaboration. We align with the principles of:
- **Open States Code of Conduct**: https://docs.openstates.org/code-of-conduct/
- Be respectful and professional
- Welcome diverse perspectives
- Focus on what's best for the community
- Show empathy towards other contributors

## Contributing to Upstream Projects

We use data and patterns from several open source civic tech projects. When contributing scraper patterns or improvements back to upstream projects like **OpenStates**, please:

1. **Follow their standards**: https://github.com/openstates/openstates-scrapers
2. **Reference their documentation**: https://docs.openstates.org/contributing/local-database/
3. **Respect their Code of Conduct**: https://docs.openstates.org/code-of-conduct/
4. **Test locally** before submitting pull requests
5. **Document data sources** used in scraper development

## Testing

All new features should include tests. Run the test suite with:

```bash
pytest tests/ -v
```

## Documentation

Update relevant documentation when:
- Adding new features
- Changing API endpoints
- Modifying configuration options
- Adding new dependencies

## Questions?

Open an issue or reach out to the maintainers.

Thank you for helping improve oral health advocacy! 🦷