Skip to content

Latest commit

 

History

History
142 lines (101 loc) · 5.01 KB

CONTRIBUTING.md

File metadata and controls

142 lines (101 loc) · 5.01 KB

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:

Make sure you're familiar with GitHub Flow.

Community Guidelines

  1. Issues should be used for reporting bugs or typos.
  2. Discussions should be used for questions, feature/content proposals, and planning objecitves & key results.
  3. Smaller pull requests are preferred over a single large one.
  4. Pull requests are preferred to issues, especially for small changes such as typos.
  5. Avoid tribal knowledge. Prefer public discourse to support future contributors (and yourself) (eg. opening an issue vs. sending a DM)
  6. Treat missing documentation as a bug. Once you get your answer, contribute it so that it benefits others

Contributing content

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

Content Guidelines

  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. Limit mentioning or using content that changes over time, to prevent content from going stale and needing updates

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.

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
|-- common      shared functions
|-- data        data output folder
|-- db          schema for mysql
|-- docs        community markdown documents
|-- resources   static assets (png, svg, jpg, pdf, html)
|-- scripts     data aggregation or processing
|-- server      server configs
|-- src         single page react & redux app (deployed to IPFS)
`-- webpack     webpack configuration files

Setting up your local environment

1. Install Node.js (or NVM) and Yarn
2. Clone your fork
git clone git@github.com:[your_github_handle]/nano-community.git && cd nano-community
3. 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
4. Install dependencies
yarn install

Start

1. Create a new branch for your changes
git checkout -b new_feature_name
2. Start Webpack Dev Server

Serve site using local API & DB:

yarn dev

Serve site using live API

yarn dev:live
3. Before committing your changes, make sure to run prettier and lint
yarn prettier
yarn lint

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.