chore: init commit
in worker.../repo/GITFOLDER.zip is the .git folder.
This commit is contained in:
106
worker-toolkit-stocks-in-the-future/repo/CONTRIBUTING.md
Normal file
106
worker-toolkit-stocks-in-the-future/repo/CONTRIBUTING.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# Contributing
|
||||
|
||||
## Workflow for Contributors
|
||||
|
||||
1. **Find an issue** to work on from our existing issues. If you've identified a bug or potential improvement, please discuss it in the #stocks-in-the-future Slack channel before starting work.
|
||||
|
||||
2. **Create a branch** from `main` with a descriptive name including the issue number
|
||||
|
||||
```console
|
||||
$ git checkout main
|
||||
$ git pull
|
||||
$ git checkout -b feature-description-123
|
||||
```
|
||||
|
||||
3. **Make your changes** and commit them with descriptive messages
|
||||
|
||||
```console
|
||||
$ git add .
|
||||
$ git commit -m "Add feature X that solves problem Y"
|
||||
```
|
||||
|
||||
4. **Run linting** to ensure code quality
|
||||
|
||||
```console
|
||||
$ bin/lint
|
||||
```
|
||||
|
||||
If issues are found, fix them or use auto-fix when appropriate:
|
||||
|
||||
```console
|
||||
$ bundle exec rubocop -A
|
||||
```
|
||||
|
||||
5. **Run tests** to verify your changes don't break existing functionality
|
||||
|
||||
```console
|
||||
$ bin/rails test
|
||||
```
|
||||
|
||||
To check test coverage, run:
|
||||
|
||||
```console
|
||||
$ bin/coverage
|
||||
```
|
||||
|
||||
This generates an HTML coverage report at `coverage/index.html`
|
||||
|
||||
6. **Push your branch** to GitHub
|
||||
|
||||
```console
|
||||
# For the first push to a new branch
|
||||
$ git push --set-upstream origin feature-description-123
|
||||
|
||||
# For all subsequent pushes
|
||||
$ git push
|
||||
```
|
||||
|
||||
7. **Open a Pull Request** against the `main` branch
|
||||
- Include a clear description of the changes
|
||||
- Linking the issue number in the PR's description (e.g., `Resolves #123`)
|
||||
- [More about linking a pull request to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue)
|
||||
- Wait for CI checks to pass
|
||||
- Request review from team members
|
||||
|
||||
## Linting
|
||||
|
||||
This project uses [erb_lint](https://github.com/Shopify/erb-lint) to catch ERB template errors during development.
|
||||
|
||||
To check all ERB templates:
|
||||
|
||||
```console
|
||||
$ bin/dc bundle exec erb_lint --lint-all
|
||||
```
|
||||
|
||||
To see autocorrectable issues:
|
||||
|
||||
```console
|
||||
$ bin/dc bundle exec erb_lint --lint-all --autocorrect
|
||||
```
|
||||
|
||||
## Getting Help
|
||||
|
||||
If you need help at any point, comment on the issue you're working on or ask in the #stocks-in-the-future channel on the Ruby for Good Slack.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### ASDF
|
||||
|
||||
If you find yourself in a cycle of encountering errors such as:
|
||||
|
||||
```
|
||||
in stocks-in-the-future/ on main
|
||||
› asdf install ruby 3.4.4
|
||||
|
||||
in stocks-in-the-future/ on main
|
||||
› asdf set local ruby 3.4.4
|
||||
|
||||
in stocks-in-the-future/ on main
|
||||
› ruby --version
|
||||
No version is set for command ruby
|
||||
Consider adding one of the following versions in your config file at /Users/america/dev/stocks-in-the-future/.tool-versions
|
||||
ruby 3.3.6
|
||||
ruby 3.1.6
|
||||
```
|
||||
|
||||
Try upgrading asdf and trying again.
|
||||
Reference in New Issue
Block a user