Contribution Guide
Goravel welcomes rich and diverse contributions from different talents, such as coding, translations, articles, tutorials, etc. After completing two enhancements(not containing good first issue), you will be recognized as a core contributor. By completing one enhancement every three months, you can maintain this status. Core developers will be eligible for benefits when Goravel benefits in the future.
Let's make Goravel more efficient together!
Core Developers
Contributors
Bug Feedback
You can report Bug Feedback here, please search Issue List for similar questions before submitting. The report should contain a title and a clear description of the problem, as much relevant information as possible, and a code sample that demonstrates the problem. The goal of Bug Feedback is to make it easy for yourself and other persons to reproduce the Bug and develop fixes. Goravel encourages committers to create a PR for the Bug repair at the same time, making the open-source project more actively developed.
Support Questions
Goravel's GitHub issue trackers are not intended to provide Goravel help or support. Instead, use one of the following channels:
Development Discussion
You may propose new features or improvements to existing Goravel behavior in the Goravel framework repository's GitHub discussion board. Informal discussion regarding bugs, new features, and implementation of existing features takes place in Telegram or WeChat. Bowen, the maintainer of Goravel, is typically present in the group on weekdays from 9am-6pm (UTC+08:00), and sporadically present in the group at other times.
Contribution
Find/Create Issue
You can find or create an issue in Issue List, leave a message to express your willingness to deal with the issue, once confirmed by the repository maintainer, the process can be started.
Create PR
- You can check out this article if you are new to the process;
- During the development process, if you encounter a problem, you can describe the problem in detail in issue at any time for future communication, but before that, please make sure that you have tried to solve the problem through Google and other methods as much as possible;
- Before creating a PR, please improve the unit test coverage as much as possible to provide more stable functions;
- If you modify any file under the
contracts
folder, please install vektra/mockery locally and run themockery
command in the root directory to generate the mock file; - When the PR is developed, please add the
Review Ready
, the maintainer will review it in a timely manner. - After the PR is merged, the issue will be closed automatically if the description in the PR is set correctly;
- Goravel greatly appreciates your contribution and will add you to the home contribution list at the next release; ❤️
Which Branch?
All bug fixes should be sent to the latest version that supports bug fixes, unless they fix features that exist only in the upcoming release.
New features or features with breaking changes should always be sent to the master
branch.
Local Environment
Software | Action |
---|---|
Golang v1.20 | The minimum version |
vektra/mockery | Provider mock files for unit tests |
Goravel Repository
Repository | Action |
---|---|
goravel/goravel | Goravel artisans |
goravel/framework | Goravel main repository |
goravel/example | Goravel example |
goravel/example-client | Example for Grpc client |
goravel/example-proto | The proto dependency of example |
goravel/example-package | Example for package |
goravel/docs | Document |
goravel/docs-web | Goravel Website |
goravel/s3 | The S3 driver of Storage module |
goravel/oss | The OSS driver of Storage module |
goravel/cos | The COS driver of Storage module |
goravel/minio | The Minio driver of Storage module |
goravel/cloudinary | The Cloudinary driver of Storage module |
goravel/redis | The Redis driver of Cache module |
goravel/gin | The Gin driver of Route module |
goravel/fiber | The Fiber driver of Route module |
goravel/file-rotatelogs | Providers log splitting functionality for Log module |
goravel/.github | Community health file |
Code of Conduct
The Goravel code of conduct is derived from the Laravel code of conduct. Any violations of the code of conduct may be reported to Bowen.
- Participants will be tolerant of opposing views.
- Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
- When interpreting the words and actions of others, participants should always assume good intentions.
- Behavior that can be reasonably considered harassment will not be tolerated.