| 
									
										
										
										
											2017-06-03 08:26:51 +01:00
										 |  |  | # Contributing to CoreDNS
 | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | Welcome! Our community focuses on helping others and making CoreDNS the best it can be. We gladly | 
					
						
							|  |  |  | accept contributions and encourage you to get involved! | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | ## Bug Reports
 | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | First, please [search this | 
					
						
							|  |  |  | repository](https://github.com/coredns/coredns/search?q=&type=Issues&utf8=%E2%9C%93) with a variety | 
					
						
							|  |  |  | of keywords to ensure your bug is not already reported. | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | If not, [open an issue](https://github.com/coredns/coredns/issues) and answer the questions so we | 
					
						
							|  |  |  | can understand and reproduce the problematic behavior. | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | The burden is on you to convince us that it is actually a bug in CoreDNS. This is easiest to do when | 
					
						
							|  |  |  | you write clear, concise instructions so we can reproduce the behavior (even if it seems obvious). | 
					
						
							|  |  |  | The more detailed and specific you are, the faster we will be able to help you. Check out [How to | 
					
						
							|  |  |  | Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html). | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | Please be kind. :smile: Remember that CoreDNS comes at no cost to you, and you're getting free help. | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | ## Minor Improvements and New Tests
 | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | Submit [pull requests](https://github.com/coredns/coredns/pulls) at any time. Make sure to write | 
					
						
							|  |  |  | tests to assert your change is working properly and is thoroughly covered. | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | ## New Features
 | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | First, please [search](https://github.com/coredns/coredns/search?q=&type=Issues&utf8=%E2%9C%93) with | 
					
						
							|  |  |  | a variety of keywords to ensure your suggestion/proposal is new. | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | If so, you may open either an issue or a pull request for discussion and feedback. | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | If you are going to spend significant time implementing code for a pull request, best to open an | 
					
						
							|  |  |  | issue first and "claim" it and get feedback before you invest a lot of time. | 
					
						
							| 
									
										
										
										
											2016-03-18 20:57:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | If possible make a pull request as small as possible, or submit multiple pull request to complete a | 
					
						
							|  |  |  | feature. Smaller means: easier to understand and review. This in turn means things can be merged | 
					
						
							|  |  |  | faster. | 
					
						
							| 
									
										
										
										
											2017-06-01 11:02:47 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## Updating Dependencies
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | We use Golang's [`dep`](https://github.com/golang/dep) as the tool to manage vendor dependencies. | 
					
						
							|  |  |  | The tool could be obtained through: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```sh | 
					
						
							|  |  |  | $ go get -u github.com/golang/dep/cmd/dep | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Use the following to update the locked versions of all dependencies | 
					
						
							|  |  |  | ```sh | 
					
						
							| 
									
										
										
										
											2018-09-29 19:47:07 -03:00
										 |  |  | $ make dep-ensure | 
					
						
							| 
									
										
										
										
											2017-06-01 11:02:47 -07:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | After the dependencies have been updated or added, you might run the following to | 
					
						
							|  |  |  | prune vendored packages: | 
					
						
							|  |  |  | ```sh | 
					
						
							|  |  |  | $ dep prune | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Please refer to Golang's [`dep`](https://github.com/golang/dep) for more details. | 
					
						
							| 
									
										
										
										
											2017-06-03 08:26:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-08 16:21:18 +00:00
										 |  |  | # Thank You
 | 
					
						
							| 
									
										
										
										
											2017-06-03 08:26:51 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | Thanks for your help! CoreDNS would not be what it is today without your contributions. |