Skip to content

Commit d408f0b

Browse files
Add CONTRIBUTING.md for contribution guidelines
This document outlines the contribution guidelines for the firmware targeting a modified Creality Ender-3 platform, including project scope, supported hardware, workflow, design principles, code guidelines, testing requirements, and documentation.
1 parent 7630164 commit d408f0b

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Contributing
2+
3+
This firmware targets a modified Creality Ender-3 platform.
4+
Contributions are welcome if they improve reliability, print quality, or maintainability.
5+
6+
## Project Scope
7+
- Custom Ender-3 firmware
8+
- Hardware-near control logic
9+
- Motion, temperature, and safety handling
10+
- No generic “one-size-fits-all” support
11+
12+
## Supported Hardware
13+
- Creality Ender-3 (modified)
14+
- Documented stepper drivers, sensors, and boards only
15+
- Changes must not assume stock hardware
16+
17+
## Contribution Workflow
18+
1. Fork the repository
19+
2. Create a focused branch (`feature/*`, `fix/*`, `tuning/*`)
20+
3. Implement and test your change
21+
4. Open a Pull Request with:
22+
- Hardware setup
23+
- Test results
24+
- Risks or side effects
25+
26+
## Design Principles
27+
- Safety over features
28+
- Deterministic behavior
29+
- Explicit configuration
30+
- No hidden magic
31+
32+
## Code Guidelines
33+
- Clear, hardware-oriented naming
34+
- No hardcoded machine-specific values
35+
- Avoid timing hacks and busy-waits
36+
- Respect real-time constraints
37+
- Comments explain *why*, not *what*
38+
39+
## Testing Requirements
40+
- Compile must succeed without warnings
41+
- Test on real hardware (no blind merges)
42+
- Validate:
43+
- Homing
44+
- Thermal protection
45+
- Motion limits
46+
- Include logs, measurements, or prints if relevant
47+
48+
## What Will Not Be Accepted
49+
- Untested changes
50+
- Feature requests without hardware context
51+
- Changes that reduce safety margins
52+
- Abstract refactors without measurable benefit
53+
54+
## Configuration
55+
- New settings must be documented
56+
- Defaults must be safe
57+
- Breaking config changes require migration notes
58+
59+
## Documentation
60+
- Update README if behavior changes
61+
- Firmware behavior must be reproducible
62+
- Hardware assumptions must be explicit
63+
64+
## License
65+
By contributing, you agree that your contributions are licensed under the project license.

0 commit comments

Comments
 (0)