diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..edf0a05 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,67 @@ +# Contributing +Thanks for your interest in this project. Below are ways on how to contribute. + +## Code +Want to see something implemented? Why not do it yourself! (Will be very much appreciated, as I am a busy man) +### Style +- Commits follow the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) style +- Linting and formatting is done through [Biome](https://biomejs.dev/) +### Set up +0. Install [bun](https://bun.sh) +1. Fork and clone the repo: `git clone https://github.com/YourUsername/freelo-action && cd freelo-action` +2. Install dependencies: `bun install` +4. Create a new feature branch: `git checkout -b feat-myawesomefeature` +5. Add your code +6. Build a JS version to be used inside the action: `bun run build` +7. Run lints: `bunx biome check` (use `--write` option to automatically apply fixes) +8. Commit your code: `git add . && git commit -m "feat: new feature" && git push` +9. Create a pull request through GitHub + +Wow! Who's awesome? You're awesome! I'll try my best to check your PR ASAP, but no promises there. +Please note that **contributing to this project means agreeing to the Developer Certificate of Origin**, as written below. + +
+ +Developer Certificate of Origin text + +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. + +
+ +## Issues +Something went wrong? Not working as expected? The easiest way to report this is through [Issues](https://github.com/hernikplays/freelo-action/issues). Simply fill out the template and I'll get back to you. + + diff --git a/README.md b/README.md index 626e968..0d9f966 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,10 @@ jobs: task-id: "" ``` +> [!WARNING] +> It's okay to omit some of the `on` listening types, but it is needed to keep the `issue.opened` type, +> because it creates the task and the comment to track the task across action runs. + ### Linking GitHub users to Freelo users The action will look for a `freelo.txt` file inside of your `.github` folder (the one where Action workflows are stored). In it you can map GitHub usernames to Freelo IDs, one user per line: @@ -38,11 +42,15 @@ hernikplays:14832 john_doe:6586 ``` -If the file cannot be found, no mapping will be done and the action will simply put the GitHub username in the task description. -In case the file is not formatted correctly or another error occures, the action will throw an error. +If the file cannot be found or cannot be correctly loaded, no mapping will be done and the action will simply use the GitHub username in place of the Freelo ID. ### Security -Because I have not found any documentation on how Freelo handles sanitization of input, I've included the usage of [sanitize-html](https://www.npmjs.com/package/sanitize-html) to sanitize any user input. The only allowed tags are `"a","p","i","b","strong"` +Because I have not found any documentation on how Freelo handles sanitization of input, I've included the usage of [sanitize-html](https://www.npmjs.com/package/sanitize-html) to sanitize any user input. The only allowed tags are `"a","p","i","b","strong"`. + +If you feel like a security issue has been introduced in the code, feel free to [report it](https://github.com/hernikplays/freelo-action/security/advisories/new). + +## Contributing +See [CONTRIBUTING.md](https://github.com/hernikplays/freelo-action/blob/main/CONTRIBUTING.md). ## License ```