Fix up README.md and CONTRIBUTING.md

* Specifically disclaim scripts
* Prefer end note links
* Pre-fill the issue submission form (check it out:
  http://r-7.co/MSF-BUGSv1 )
bug/bundler_fix
Tod Beardsley 2015-01-30 14:28:39 -06:00
parent cb076adb19
commit dc7aff446a
No known key found for this signature in database
GPG Key ID: BD63D0A3EA19CAAC
2 changed files with 55 additions and 27 deletions

View File

@ -3,9 +3,7 @@
Thanks for your interest in making Metasploit -- and therefore, the Thanks for your interest in making Metasploit -- and therefore, the
world -- a better place! world -- a better place!
Are you about to report a bug? Sorry to hear it. Are you about to report a bug? Sorry to hear it. Here's our [Issue tracker].
Here's our [Issue tracker](https://github.com/rapid7/metasploit-framework/issues).
Please try to be as specific as you can about your problem, include steps Please try to be as specific as you can about your problem, include steps
to reproduce (cut and paste from your console output if it's helpful), and to reproduce (cut and paste from your console output if it's helpful), and
what you were expecting to happen. what you were expecting to happen.
@ -13,7 +11,7 @@ what you were expecting to happen.
Are you about to report a security vulnerability in Metasploit itself? Are you about to report a security vulnerability in Metasploit itself?
How ironic! Please take a look at Rapid7's [Vulnerability How ironic! Please take a look at Rapid7's [Vulnerability
Disclosure Policy](https://www.rapid7.com/disclosure.jsp), and send Disclosure Policy](https://www.rapid7.com/disclosure.jsp), and send
your report to security@rapid7.com using [our PGP key](http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=0x2380F85B8AD4DB8D). your report to security@rapid7.com using our [PGP key].
Are you about to contribute some new functionality, a bug fix, or a new Are you about to contribute some new functionality, a bug fix, or a new
Metasploit module? If so, read on... Metasploit module? If so, read on...
@ -27,50 +25,55 @@ make it into Metasploit's master branch.
If you care not to follow these rules, your contribution **will** be If you care not to follow these rules, your contribution **will** be
closed (*Road House* style). Sorry! closed (*Road House* style). Sorry!
This is intended to be a **short** list. The This is intended to be a **short** list. The [wiki] is much more
[wiki](https://github.com/rapid7/metasploit-framework/wiki) is much more
exhaustive and reveals many mysteries. If you read nothing else, take a exhaustive and reveals many mysteries. If you read nothing else, take a
look at the standard [development environment setup look at the standard [development environment setup] guide,
guide](https://github.com/rapid7/metasploit-framework/wiki/Setting-Up-a-Metasploit-Development-Environment) and Metasploit's [Common Coding Mistakes].
and Metasploit's [Common Coding Mistakes](https://github.com/rapid7/metasploit-framework/wiki/Common-Metasploit-Module-Coding-Mistakes).
## Code Contributions ## Code Contributions
* **Do** stick to the [Ruby style guide](https://github.com/bbatsov/ruby-style-guide). * **Do** stick to the [Ruby style guide].
* **Do** get [Rubocop](https://rubygems.org/search?query=rubocop) relatively quiet against the code you are adding or modifying. * **Do** get [Rubocop] relatively quiet against the code you are adding or modifying.
* **Do** follow the [50/72 rule](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) for Git commit messages. * **Do** follow the [50/72 rule] for Git commit messages.
* **Don't** use the default merge messages when merging from other * **Don't** use the default merge messages when merging from other branches.
branches. * **Do** create a [topic branch] to work on instead of working directly on `master`.
* **Do** create a [topic branch](http://git-scm.com/book/en/Git-Branching-Branching-Workflows#Topic-Branches) to work on instead of working directly on `master`.
### Pull Requests ### Pull Requests
* **Do** target your pull request to the **master branch**. Not staging, not develop, not release. * **Do** target your pull request to the **master branch**. Not staging, not develop, not release.
* **Do** specify a descriptive title to make searching for your pull request easier. * **Do** specify a descriptive title to make searching for your pull request easier.
* **Do** include [console output](https://help.github.com/articles/github-flavored-markdown#fenced-code-blocks), especially for witnessable effects in `msfconsole`. * **Do** include [console output], especially for witnessable effects in `msfconsole`.
* **Do** list [verification steps](https://help.github.com/articles/writing-on-github#task-lists) so your code is testable. * **Do** list [verification steps] so your code is testable.
* **Don't** leave your pull request description blank. * **Don't** leave your pull request description blank.
* **Don't** abandon your pull request. Being responsive helps us land your code faster. * **Don't** abandon your pull request. Being responsive helps us land your code faster.
Pull requests [#2940](https://github.com/rapid7/metasploit-framework/pull/2940) and [#3043](https://github.com/rapid7/metasploit-framework/pull/3043) are a couple good examples to follow. Pull requests [PR#2940] and [PR#3043] are a couple good examples to follow.
#### New Modules #### New Modules
* **Do** run `tools/msftidy.rb` against your module and fix any errors or warnings that come up. Even better would be to set up `msftidy.rb` as a [pre-commit hook](https://github.com/rapid7/metasploit-framework/blob/master/tools/dev/pre-commit-hook.rb). * **Do** run `tools/msftidy.rb` against your module and fix any errors or warnings that come up.
* **Do** use the [many module mixin APIs](https://rapid7.github.io/metasploit-framework/api/). Wheel improvements are welcome; wheel reinventions, not so much. - Even better would be to set up `msftidy.rb` as a [pre-commit hook].
* **Do** use the many module mixin [API]s. Wheel improvements are welcome; wheel reinventions, not so much.
* **Don't** include more than one module per pull request. * **Don't** include more than one module per pull request.
#### Scripts
* **Don't** submit new [scripts]. Scripts are shipped as examples for
automating local tasks, and anything "serious" can be done with post
modules and local exploits.
#### Library Code #### Library Code
* **Do** write [RSpec](http://rspec.info/) tests - even the smallest change in library land can thoroughly screw things up. * **Do** write [RSpec] tests - even the smallest change in library land can thoroughly screw things up.
* **Do** follow [Better Specs](http://betterspecs.org/) - it's like the style guide for specs. * **Do** follow [Better Specs] - it's like the style guide for specs.
* **Do** write [YARD](http://yardoc.org/) documentation - this makes it easier for people to use your code. * **Do** write [YARD] documentation - this makes it easier for people to use your code.
* **Don't** fix a lot of things in one pull request. Small fixes are easier to validate. * **Don't** fix a lot of things in one pull request. Small fixes are easier to validate.
#### Bug Fixes #### Bug Fixes
* **Do** include reproduction steps in the form of verification steps. * **Do** include reproduction steps in the form of verification steps.
* **Do** include a link to any corresponding [Issue](https://github.com/rapid7/metasploit-framework/issues) in the format of `See #1234` in your commit description. * **Do** include a link to any corresponding [Issues] in the format of
`See #1234` in your commit description.
## Bug Reports ## Bug Reports
@ -80,9 +83,31 @@ Pull requests [#2940](https://github.com/rapid7/metasploit-framework/pull/2940)
* **Don't** file duplicate reports - search for your bug before filing a new report. * **Don't** file duplicate reports - search for your bug before filing a new report.
If you need some more guidance, talk to the main body of open If you need some more guidance, talk to the main body of open
source contributors over on the [Freenode IRC channel](http://webchat.freenode.net/?channels=%23metasploit&uio=d4) source contributors over on the [Freenode IRC channel]
or e-mail us at [metasploit-hackers](https://lists.sourceforge.net/lists/listinfo/metasploit-hackers) or e-mail us at [metasploit-hackers] mailing list.
mailing list.
Also, **thank you** for taking the few moments to read this far! You're Also, **thank you** for taking the few moments to read this far! You're
already way ahead of the curve, so keep it up! already way ahead of the curve, so keep it up!
[Issue Tracker]:http://r-7.co/MSF-BUGv1
[PGP key]:http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=0x2380F85B8AD4DB8D
[wiki]:https://github.com/rapid7/metasploit-framework/wiki
[scripts]: https://github.com/rapid7/metasploit-framework/tree/master/scripts
[development environment setup]:http://r-7.co/MSF-DEV
[Common Coding Mistakes]:https://github.com/rapid7/metasploit-framework/wiki/Common-Metasploit-Module-Coding-Mistakes
[Ruby style guide]:https://github.com/bbatsov/ruby-style-guide
[Rubocop]:https://rubygems.org/search?query=rubocop
[50.72 rule]:http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[topic branch]:http://git-scm.com/book/en/Git-Branching-Branching-Workflows#Topic-Branches
[console output]:https://help.github.com/articles/github-flavored-markdown#fenced-code-blocks
[verification steps]:https://help.github.com/articles/writing-on-github#task-lists
[PR#2940]:https://github.com/rapid7/metasploit-framework/pull/2940
[PR#3043]:https://github.com/rapid7/metasploit-framework/pull/3043
[pre-commit hook]:https://github.com/rapid7/metasploit-framework/blob/master/tools/dev/pre-commit-hook.rb
[API]:https://rapid7.github.io/metasploit-framework/api/
[RSpec]:http://rspec.info/
[Better Specs]:http://betterspecs.org/
[YARD]:http://yardoc.org/
[Issues]:https://github.com/rapid7/metasploit-framework/issues
[Freenode IRC channel]:http://webchat.freenode.net/?channels=%23metasploit&uio=d4
[metasploit-hackers]:https://lists.sourceforge.net/lists/listinfo/metasploit-hackers

View File

@ -8,6 +8,9 @@ The latest version of this software is available from https://metasploit.com/
Bug tracking and development information can be found at: Bug tracking and development information can be found at:
https://github.com/rapid7/metasploit-framework https://github.com/rapid7/metasploit-framework
New bugs and feature requests should be directed to:
http://r-7.co/MSF-BUGv1
API documentation for writing modules can be found at: API documentation for writing modules can be found at:
https://rapid7.github.io/metasploit-framework/api https://rapid7.github.io/metasploit-framework/api