|
1 | 1 | > [!WARNING] |
2 | 2 | > AI generated issues and PRs will be denied. I don't want QuickOverflow to be vibe developed. Feel free to use LLMs to fix bugs or critical errors but rest of the code needs to be human written. |
| 3 | +
|
| 4 | +Interested in contributing to QuickOverflow? Here's some resources to get you started |
| 5 | + |
| 6 | +# Table of Contents |
| 7 | + |
| 8 | +-  |
| 9 | +-  |
| 10 | +-  |
| 11 | +-  |
| 12 | +-  |
| 13 | +-  |
| 14 | +-  |
| 15 | +-  |
| 16 | +-  |
| 17 | +-  |
| 18 | + |
| 19 | +## The Idea Behind QuickOverflow |
| 20 | + |
| 21 | +I got the idea for this software when I was dealing with loads of errors running other repos at work and having to copy paste errors into google and then searching felt tedious. Hence, I came up with an idea to automate this. |
| 22 | + |
| 23 | +I initially started this project and expected it to be a 1 hour project since I was just forking ghz-sh shell project for this one but one of the dependencies was written in Python2 which has been deprecated a long time ago. |
| 24 | + |
| 25 | +Hence came PyOverflow3 Python Library which powers QuickOverflow. |
| 26 | + |
| 27 | +I don't believe in AI coding agents and the garbage they generate hence I always rely on the good old Google and StackOverflow, hence I went ahead with putting my time into developing this project. |
| 28 | + |
| 29 | +<i><b> Fun Fact: </b> QuickOverflow's development was so quick (pun intended) that I got to v2.0.0 within 24 hours of creating the repository with minimal reliance on LLMs </i> |
| 30 | + |
| 31 | +Had I ever relied even a bit too much on LLMs, I would've never finished this project. |
| 32 | + |
| 33 | +## AI Policy |
| 34 | + |
| 35 | +If you took your time and read the previous section then you might have gotten some idea about the AI policy that I would like to follow for this project. |
| 36 | + |
| 37 | +QuickOverflow's development must have minimal or no AI use as the entire project's goal is to drive people away from using unreliable and faulty AI Coding Agents. |
| 38 | + |
| 39 | +Vibe coding is strictly banned for this project and any PRs or Issues found to be vibe coded will be denied and multiple repetitions will result in a ban from the repository. |
| 40 | + |
| 41 | +You're allowed to use LLMs/AI only for fixing nasty bugs or critical errors but rest of the development must be human generated. |
| 42 | + |
| 43 | +## Code of Conduct |
| 44 | + |
| 45 | +### Our Pledge |
| 46 | + |
| 47 | +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. |
| 48 | + |
| 49 | +### Our Standards |
| 50 | + |
| 51 | +Examples of behavior that contributes to creating a positive environment include: |
| 52 | + |
| 53 | + - Using welcoming and inclusive language |
| 54 | + - Being respectful of differing viewpoints and experiences |
| 55 | + - Gracefully accepting constructive criticism |
| 56 | + - Focusing on what is best for the community |
| 57 | + - Showing empathy towards other community members |
| 58 | + |
| 59 | +Examples of unacceptable behavior by participants include: |
| 60 | + |
| 61 | + - The use of sexualized language or imagery and unwelcome sexual attention or advances |
| 62 | + - Trolling, insulting/derogatory comments, and personal or political attacks |
| 63 | + - Public or private harassment |
| 64 | + - Publishing others' private information, such as a physical or electronic address, without explicit permission |
| 65 | + - Other conduct which could reasonably be considered inappropriate in a professional setting |
| 66 | + |
| 67 | +### Our Responsibility |
| 68 | + |
| 69 | +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. |
| 70 | + |
| 71 | +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. |
| 72 | + |
| 73 | +## Asking Questions |
| 74 | + |
| 75 | +Please use the <a href="https://github.com/SpaciousCoder78/QuickOverflow/discussions"> Discussion Forums</a> for asking questions. |
| 76 | + |
| 77 | +## Drafting an issue |
| 78 | + |
| 79 | +You can draft an issue for a bug, feature request or something that you wish to see at our <a href="https://github.com/SpaciousCoder78/QuickOverflow/issues"> Issues</a> page. |
| 80 | + |
| 81 | +## Contributing to Code |
| 82 | + |
| 83 | +Please ensure you have the following requirements to contribute to code: |
| 84 | + |
| 85 | +- Linux Based Operating System (preferably Ubuntu/Debian Distro) |
| 86 | +- A Github Account |
| 87 | +- Git |
| 88 | +- Ability to use Google and StackOverflow |
| 89 | + |
| 90 | +Having knowledge in these things is recommended for code contributions: |
| 91 | + |
| 92 | +- C Programming Language |
| 93 | +- Basics of Operating System Shells and Process Communication (optional) |
| 94 | +- Python3 |
| 95 | +- Bash Scripting |
| 96 | +- Build Tools like make |
| 97 | +- Experience with Terminal |
| 98 | + |
| 99 | +### Getting Started with Code Contribution |
| 100 | + |
| 101 | +- Draft an issue mentioning the change or fix that you want to make in the <a href="https://github.com/SpaciousCoder78/QuickOverflow/issues"> Issues</a> page |
| 102 | +- Clone the development branch of this repository |
| 103 | +```sh |
| 104 | +$ git clone -b development --single-branch https://github.com/SpaciousCoder78/QuickOverflow.git |
| 105 | +``` |
| 106 | +- Open the cloned directory |
| 107 | +```sh |
| 108 | +$ cd QuickOverflow |
| 109 | +``` |
| 110 | +- Run `install.sh` |
| 111 | +```sh |
| 112 | +$ sh install.sh |
| 113 | +``` |
| 114 | +- Make your changes, test them and open a pull request mentioning the Issue number |
| 115 | + |
| 116 | +## Code Documentation Guidelines |
| 117 | + |
| 118 | +I take documentation very seriously and each and every function/implementation in this codebase is well documented. |
| 119 | + |
| 120 | +Examples of Good Documentation |
| 121 | + |
| 122 | +```c |
| 123 | +//Including header files |
| 124 | +#include <stdio.h> |
| 125 | +// A function performing product of 2 numbers |
| 126 | +void main(){ |
| 127 | + //given 2 hard coded numbers |
| 128 | + int a = 30; |
| 129 | + int b = 2; |
| 130 | + int prod = a*b; //multiply |
| 131 | + printf("Product: %d",&prod); //print result |
| 132 | +} |
| 133 | +``` |
| 134 | + |
| 135 | +## Drafting a Pull Request |
| 136 | + |
| 137 | +For drafting a PR, push your changes into `development` branch and open a PR, mentioning the changes you made. |
| 138 | + |
| 139 | +Use the following conventions for naming your PRs. |
| 140 | + |
| 141 | +- feat: for adding a new feature |
| 142 | +- fix: for fixing a bug |
| 143 | +- docs: for adding documentation |
| 144 | +- test: for testing and making some changes |
| 145 | +- build: for making any changes to the build system |
| 146 | + |
| 147 | +Example of a well written PR title: |
| 148 | + |
| 149 | +feat: Added a new feature to enable something |
| 150 | + |
| 151 | +## Code Review Guidelines |
| 152 | + |
| 153 | + - Review the code, not the author. Look for and suggest improvements without disparaging or insulting the author. Provide actionable feedback and explain your reasoning. |
| 154 | + |
| 155 | + - You are not your code. When your code is critiqued, questioned, or constructively criticized, remember that you are not your code. Do not take code review personally. |
| 156 | + |
| 157 | + - Always do your best. No one writes bugs on purpose. Do your best, and learn from your mistakes. |
| 158 | + |
| 159 | + - Kindly note any violations to the guidelines specified in this document. |
| 160 | + |
| 161 | +## Credits |
| 162 | + |
| 163 | +I will be crediting contributors here for their contributions. |
0 commit comments