Skip to content

Latest commit

 

History

History
127 lines (91 loc) · 4.61 KB

CONTRIBUTING.md

File metadata and controls

127 lines (91 loc) · 4.61 KB

Nano.Community aims to be a community run project and is grateful to all that step up to contribute. You don't need permission to work on anything, but it's always best to let others know what you're planning to do. You can do this by:

Before contributing, make sure you're familiar with GitHub Flow.

Contributing content

All you need is a GitHub account to contribute. Every page is a MarkDown file, which is an easy to learn syntax.

Submitting Edits

  • Use the "edit page" button on the site to navigate to the document on the github repository
  • Make sure to sign in or create a GitHub account
  • Once logged in, start editing by clicking the "edit file" icon in the top right
  • Make changes, then click "propose changes". On the next page click "Create Pull Request" to submit.

Responding to Change Requests

Occasionally, changes will be requested for proposed changes. Navigate to your pull request to respond with any questions or comments. To make changes, navigate to the branch you used on your fork, make changes and commit them. The pull request will then be automatically updated with those changes.

Rules

  1. Write simply
  2. Keep content for users concise, while detailed for developers
  3. When possible, direct users to existing content on the official Nano documentation
  4. Use an impartial tone and neutral point of view. Content should be as objective as possible.
  5. Pull requests are preferred to issues, especially for small changes such as typos.
  6. Issues should be used for reporting bugs, typos, or other specific content
  7. Discussions should be used for generic or broad-based changes or missing content (i.e. suggesting a faq, or content section)
  8. Smaller pull requests are preferred over a single large one.
  9. Limit mentioning or using content that changes over time, to prevent content from going stale and needing updates

Contributing code

JavaScript & markdown are used to make the project as accessible as possible.

|-- api         node.js api server for posts, network stats
|-- build       static html react entry points generated by react-snap
|-- db          schema for mysql
|-- docs        wiki & knowledge hub
|-- scripts     data aggregation or processing
|-- server      server configs
|-- src         single page react app (deployed to IPFS)
`-- tags        docs for each topic (content category)

Set up your local environment

  1. Install Node.js and Yarn

  2. Clone your fork

git clone git@github.com:[your_github_handle]/nano-community.git && cd nano-community
  1. Add upstream remote
git remote add upstream https://github.com/mistakia/nano-community.git

To sync your fork with the latest changes

git checkout main
git fetch upstream
git merge upstream/main
  1. Install dependencies
yarn install

Start contributing

  1. Create a new branch for your changes
git checkout -b new_feature_name
  1. Start developing
yarn dev
  1. Before committing your changes, make sure to run prettier, lint, and build.
yarn prettier
yarn lint
yarn build

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.