Giter VIP home page Giter VIP logo

repo-template's Introduction

Repo Template

Gitter Matrix

A template for creating new repositories in the @orbitdb organization

This repository is meant to serve as a general template for how to set up new repositories in the @orbitdb organization. In general, setting up a new repository should take only a few minutes; use this repository as a way of finding example files, and use the following checklist to ensure that you've set up the repository correctly.

Install

These instructions are basic; you can use any method to do this work. The important part is making sure that you follow the checklist below before publishing the repository.

# Let's make a new folder
mkdir new-repo && cd new-repo
# Start a Git instance and copy over template files.
git init
cp ../repo-template/* .
# Overwrite this README
mv README.md setup-checklist.md
mv example-README.md README.md
# Go over and check off the checklist, and finally
rm setup-checklist

Checklist

Go through this checklist after creating your repository. It should only take a couple of minutes; if there is a way to make this more efficient, open an issue and let's talk about it here! \m/

README

  • Copy example-README.md from this repository to your directory.
  • Rename all instances of <Replace Title> in README to match the new repo title
  • Manually go through and edit the rest of the README.

Other Files

  • Copy CODE_OF_CONDUCT.md verbatim.
  • Copy CONTRIBUTING.md and ensure that you've added any repository-specific instructions. (Replace <Replace Title> again).
  • Should you have a CHANGELOG.md? Document your release process, if you plan on having one, in the CONTRIBUTING.md file.

Dotfiles

  • Do you need a .gitignore file?
  • Do you need an .npmignore file?

License

  • Copy the MIT license from the example repo.
  • Is Haja Networks Oy the licensor?
  • Have you added MIT as the license in the package.json?
  • If you made changes, were these reflected in the last section of the README?

GitHub Metadata

  • Have you added a short description to the repository?
    • Is the description matched in the byline under the title in the README?
  • Have you added topics to the GitHub repository: orbitdb, orbit, and so on?
    • Have you added these topics as keywords in the package.json?

package.json

  • Is the author field correct?
  • Have you added keywords?
  • Are the bugs and homepage fields correct?
  • Have you added tests? Are they matched, here?
  • Have you added a lint command, if using eslint-config-orbitdb?

Tests

  • Are there automated tests?
  • ...for the browser as well?
  • Are those reflected in CI?
  • Bonus points: Using CircleCI workflows to segment tests?
  • Extra bonus points: Are you cross-testing dependencies (i.e. are changes in orbit-db-keystore tested in orbit-db as well

Benchmarks

  • Are there benchmarks?
  • Did you run the benchmarks before / after the change or PR?

Examples

  • Is there an example folder with usage examples?
  • For the browser as well?

Contribute

If you think this could be better, please open an issue!

Please note that all interactions in @OrbitDB fall under our Code of Conduct.

License

MIT © 2018 Haja Networks Oy

repo-template's People

Contributors

adam-palazzo avatar aphelionz avatar richardlitt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

repo-template's Issues

Fill out Contribute file more

This could be better. Also, make sure it shouldn't be named CONTRIBUTE instead of CONTRIBUTING (I always forget!)

Tool: Build a Probot to automatically check npm maintainers

This tool ought to:

  • Be turned on for each OrbitDB repo
  • Automatically check the package.json on a change
  • Run npm info and parse out the maintainers output
  • Check that this matches orbitdb.maintainers in the package.json
  • If it doesn't, automatically PR the change to the repository

This will keep our orbitdb.maintainers field up to date without needing extra configuration from the authors.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.