Thank you for your interest in contributing to Resile! We welcome all kinds of contributions, from bug fixes to new features and documentation improvements.
Please be respectful and professional in all your interactions within this project.
- Fork the repository: Create your own copy of the project on GitHub.
- Clone the fork: Download the repository to your local machine.
- Create a branch: Use a descriptive name for your feature or fix (e.g.,
fix/context-leakorfeat/prometheus-labels). - Implement your changes:
- Follow standard Go idioms and naming conventions.
- Ensure your code is formatted with
go fmt. - Use the
WithTestingBypasscontext for faster unit tests.
- Write tests: Every new feature or bug fix MUST include corresponding unit tests.
- Run tests: Verify that all tests pass:
go test -v ./... - Submit a Pull Request: Provide a clear description of your changes and why they are needed.
- Zero Dependencies: The core package must not depend on any external libraries outside the Go standard library.
- Type Safety: Use generics for all execution wrappers.
- Concurrency: Adhere to the strict context-aware patterns for timer management as defined in the Architectural Specification.
If you have questions or need help, please open an issue on GitHub.