Permalink
Browse files

doc: Add initial documentation and package file

  • Loading branch information...
qdot committed Oct 29, 2017
0 parents commit 20194f83fefb373f5bd7d01ae40326731681eaa1
Showing with 429 additions and 0 deletions.
  1. +166 −0 CODE_OF_CONDUCT.md
  2. +169 −0 CONTRIBUTING.md
  3. +29 −0 LICENSE
  4. +3 −0 README.md
  5. +62 −0 package.json
@@ -0,0 +1,166 @@
# Contributor Covenant Code of Conduct
## Our Pledge
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 (see addendum), body size, disability, ethnicity,
gender identity and expression, level of experience, nationality,
personal appearance, race, religion, or sexual identity and
orientation.
## Our Standards
Examples of behavior that contributes to creating a positive
environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of unnecessary sexualized language or imagery and unwelcome
sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political
attacks
* Public or private harassment
* Publishing others' private information, such as a physical or
electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in
a professional setting
## Our Responsibilities
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.
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.
## Scope
This Code of Conduct applies both within project spaces and in public
spaces when an individual is representing the project or its
community. Examples of representing a project or community include
using an official project e-mail address, posting via an official
social media account, or acting as an appointed representative at an
online or offline event. Representation of a project may be further
defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior
May be reported by contacting the project team at
admin@metafetish.com. All complaints will be reviewed and investigated
and will result in a response that is deemed necessary and appropriate
to the circumstances. The project team is obligated to maintain
confidentiality with regard to the reporter of an incident. Further
details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct
in good faith may face temporary or permanent repercussions as
determined by other members of the project's leadership.
## Addendum for Metafetish Related Projects
While the project team seeks to welcome all contributors and
participants, due to the sexual nature of projects related to the
Metafetish organization, all contributors and participants should be
of provable legal age.
Working on projects related to the Metafetish organization may at
times require sexual situations to be discussed in project forums, be
they message boards, social media, chat systems, or other means not
listed here. These discussions should pertain only to usage of the
projects they involve, and should only include required details to
express some sort of issue or feature request. If the discussion
includes material that others may find objectionable for some reason,
the discussions should be prepended with content warnings.
While usage stories about projects are appreciated, unless they
express some issue with specific usage, we ask that they be kept to
outside forums, where they would be appropriate. There are many
sub-reddits, fetlife groups, and forum instances available for a
multitude of interests where usage can be discussed. If a proper venue
is not known, please contact project maintainers, as they may be able
to point to one.
If any contributor or project member feels that these considerations
have not been met, they should contact the project maintainers at
admin@metafetish.com.
# Moderation
These are the policies for upholding our community's standards of
conduct. If you feel that a thread needs moderation, please contact
the [Metafetish moderation team](mailto:admin@metafetish.com).
1. Remarks that violate the standard of conduct, including hateful,
hurtful, oppressive, or exclusionary remarks, are not allowed.
(Cursing is allowed, but never targeting another user, and never in
a hateful manner.)
2. Remarks that moderators find inappropriate, whether listed in the
code of conduct or not, are also not allowed.
3. Moderators will first respond to such remarks with a warning.
4. If the warning is unheeded, the user will be "kicked," i.e., kicked
out of the communication channel to cool off.
5. If the user comes back and continues to make trouble, they will be
banned, i.e., indefinitely excluded.
6. Moderators may choose at their discretion to un-ban the user if it
was a first offense and they offer the offended party a genuine
apology.
7. If a moderator bans someone and you think it was unjustified,
please take it up with that moderator, or with a different
moderator, **in private**. Complaints about bans in-channel are not
allowed.
8. Moderators are held to a higher standard than other community
members. If a moderator creates an inappropriate situation, they
should expect less leeway than others.
In this community we strive to go the extra step to look out for each
other. Don't just aim to be technically unimpeachable, try to be your
best self. In particular, avoid flirting with offensive or sensitive
issues, particularly if they're off-topic; this all too often leads to
unnecessary fights, hurt feelings, and damaged trust; worse, it can
drive people away from the community entirely.
And if someone takes issue with something you said or did, resist the
urge to be defensive. Just stop doing what it was they complained
about and apologize. Even if you feel you were misinterpreted or
unfairly accused, chances are good there was something you could've
communicated better — remember that it's your responsibility to make
your fellow community members comfortable. Everyone wants to get along
and we are all here first and foremost because we want to talk about
cool technology. You will find that people will be eager to assume
good intent and forgive as long as you earn their trust.
The enforcement policies listed above apply to all official Metafetish
venues; including all Slack channels and their related bridged IRC
channels, repositories and their respective issue trackers/wikis/etc,
message boards, and social media networks. For other projects adopting
this Code of Conduct, please contact the maintainers of those projects
for enforcement. If you wish to use this code of conduct for your own
project, consider explicitly mentioning your moderation policy or
making a copy with your own moderation policy so as to avoid
confusion.
# Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
The Moderation portion of this Code of Conduct is adapted from
the
[Rust Language Code of Conduct](https://www.rust-lang.org/en-US/conduct.html).
@@ -0,0 +1,169 @@
# Contributing
Thanks for your interest in contributing to the Metafetish
Organization repo! We're looking forward to working with you to make
this project better.
## Code Of Conduct
First off, you'll want to check out our [Code of Conduct](CODE_OF_CONDUCT.md), which
should be alongside this document. It outlines the rules and
expectations for interaction with our project.
## For All Community
This section contains information for everyone involved with the
projects, whether developing or simply interested in using and
recommending improvements.
### Communication
There are a couple of different ways in which you can interact with
other members of Metafetish projects.
- [We have a Slack instance](https://metafetish.slack.com). Note that an invitation is required
to join the slack instance. Please email admin@metafetish.com for an
invite, and include the email address you'd like to use to log in.
- [We have message boards](http://metafetish.club). We have Discourse forums available that
cover most of our projects. For anything that doesn't fit into one
of the categories, there's the General forum.
### Anonymous Accounts
Due to the sensitive nature of Metafetish projects, some community
members prefer to use anonymous accounts, on message boards as well as
for contributing to code repos. We understand the need for this, and
try to be as accepting of that as possible without letting it
interfere with project progress.
Note that vetting by project leads will still need to occur before
administration rights after given to any account on a project resource
(forums, repos, etc), anonymous or otherwise.
### Filing feature requests
If there are features you'd like in a project, you may request them by:
- If you have a github account, filing a github issue on the project.
- Otherwise, make a post on the message board in the appropriate
category, or on the General category if a proper category does not
exist.
Please be specific in your feature request. We will ask followup
questions for clarification, but the more information we have, the
better.
### Filing bug reports
If you find a problem in a project, please do not hesitate to tell us.
- If you find a security bug, please email [admin@metafetish.com](mailto:admin@metafetish.com)
immediately, and we will work with you to resolve it and get the
information out to the community ASAP.
- For all other bugs:
- If you have a github account, filing a github issue on the project.
- Otherwise, make a post on the message board in the appropriate
category, or on the General category if a proper category does not
exist.
In the issue or post, you should let us know:
- The software you are using that has the bug
- The version of the software
- The operating system version of the computer you using the software
on.
- The steps you took to get to the problem.
- Whether the problem is repeatable.
Someone should hopefully follow up on your problem soon.
## For Developer Community
This section contains information mainly related to helping in
development of Metafetish projects.
### Getting up and running on a project
In many cases, if you are trying to start developing a new project,
information about compiling and using the project will be in the
README. If these instructions are missing or incomplete, you can ask
in the [proper category on the message boards]( http://metafetish.club), or file an issue on
the project if you have a github account. You can also contact us on
Slack if you have an account there.
Note that some of our projects are rather complicated, and span
multiple repositories and/or technologies. We do our best to keep
things up to date, but there may be times where we've missed updating
documentation. If something seems wrong, or isn't working for you, ask
us using one of the above methods.
### Continuous Integration
In as many cases as possible, we have added continuous integration
services to run build checks on our software projects. These will
normally be [Travis](http://travis-ci.org) for macOS and linux builds (or platform
independent builds, like Node with no native requirements),
and [Appveyor](http://appveyor.com) for Windows builds. CI Badges are usually added to
the README.
### Git/Github Workflow
This section goes over our git workflow. We realize that git can be
quite complicated and has a steep learning curve. We have done as much
as we can to make sure Github makes this easy for contributors. If you
are new to git, or if you do not understand some part of this section,
please let us know when you make a pull request, and we'll help out.
If you are not sure how to make a pull request on github,
contact [admin@metafetish.com](mailto:admin@metafetish.com) and a project lead will help.
As of this writing, Metafetish projects are maintained on
the [Metafetish Organization on Github](http://github.com/metafetish). 'master' branches on
Metafetish projects are kept as [Github protected branches](https://help.github.com/articles/about-protected-branches/), with
the following settings.
- All of the following rules apply to both users and administrators.
- No direct pushes to 'master'. All changes must be via Pull Request
(PR).
- No force pushes to 'master'. All rewrites must be done on feature
branches.
- PRs must be off the end of the 'master' branch to merge to master.
Github will enforce this in PRs.
- PRs must pass CI to merge. Due to the hardware focus of many
Metafetish projects, tests may be difficult to write in languages
without proper mocking utilities. Therefore, Code Coverage increase
is nice, but not required.
- PRs should have a reviewer if possible, but this is not enforced.
Metafetish organization projects maintain a 'rebase-only' workflow to
master when possible, where all branches will be a fast-forward merge.
Github PRs should manage this themselves, and will display an error if
this is not possible. Project management will be happy to work with
you to resolve the issue.
In order to reduce workload of contributors, repo dependencies should
be brought in by using the [git subtree method](https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/) instead of git
submodules. As this will require upkeep and documentation, please
discuss possible repo inclusion with project leads before submitting
pull requests with subtree merges.
### Project Management
For project management, we usually use either [Trello](http://trello.com)
or [ZenHub](http://zenhub.io), depending on the level of integration needed with the
source code repo itself. More information about this is usually
included in the README for the specific project.
### Documentation
Non-code documentation for projects is usually done in one of two
formats:
- Markdown, for all README and contributor facing files.
- org-mode, for large documentation sets and manuals.
As there is currently only one project lead using org-mode (but they
write most of the documentation), conversation from org-mode to
markdown can happen on request. Similarly, markdown versions of
org-mode documents may be checked in to documentation repos as needed.
Large manuals are usually managed using the [gitbook](https://github.com/GitbookIO/gitbook) format.
29 LICENSE
@@ -0,0 +1,29 @@
This project is covered under the following BSD 3-Clause License
Copyright (c) 2017, Metafetish
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,3 @@
# Buttplug Node.js Websocket Server
Native websocket server frontend for Buttplug.
Oops, something went wrong.

0 comments on commit 20194f8

Please sign in to comment.