Git Product home page Git Product logo

oss-template's Introduction

Open Source Project Template

Release Lint Contributor Covenant Maintainer

Before You Start

As much as possible, we have tried to provide enough tooling to get you up and running quickly and with a minimum of effort. This includes sane defaults for documentation; templates for bug reports, feature requests, and pull requests; and GitHub Actions that will automatically manage stale issues and pull requests. This latter defaults to labeling issues and pull requests as stale after 60 days of inactivity, and closing them after 7 additional days of inactivity. These defaults and more can be configured. For configuration options, please consult the documentation for the stale action.

In trying to keep this template as generic and reusable as possible, there are some things that were omitted out of necessity and others that need a little tweaking. Before you begin developing in earnest, there are a few changes that need to be made:

  • โœ… Select an appropriate license for your project. This can easily be achieved through the 'Add File' button on the GitHub UI, naming the file LICENSE, and selecting your desired license from the provided list.
  • Update the <License name> placeholder in this file to reflect the name of the license you selected above.
  • Replace [INSERT CONTACT METHOD] in CODE_OF_CONDUCT.md with a suitable communication channel.
  • Change references to org_name to the name of the org your repo belongs to (eg. wayfair-incubator):
  • Change references to repo_name to the name of your new repo:
  • Update the link to the contribution guidelines to point to your project:
  • Replace the <project name> placeholder with the name of your project:
  • Add names and contact information for actual project maintainers to MAINTAINERS.md.
  • Delete the content of CHANGELOG.md. We encourage you to keep a changelog.
  • Configure renovate.json for your project's language and tooling dependencies.
    • Note that the base renovate.json file included with this template inherits most of its configuration logic from Wayfair OSPO's recommended presets, hosted here. If your project does not require advanced dependency configuration, this may be sufficient for your needs.
    • ๐Ÿ’ก To learn more about using and configuring Renovate, check out our wayfair.github.io article: Managing Project Dependencies.
  • Replace the generic content in this file with the relevant details about your project.
  • Acknowledge that some features like branch protection rules are only available when the repo is public.
  • ๐Ÿšจ Delete this section of the README!

About The Project

Provide some information about what the project is/does.

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm

    npm install npm@latest -g

Installation

  1. Clone the repo

    git clone https://github.com/org_name/repo_name.git
  2. Install NPM packages

    npm install

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

For more examples, please refer to the Documentation or the Wiki

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. For detailed contributing guidelines, please see CONTRIBUTING.md

License

Distributed under the <License name> License. See LICENSE for more information.

Contact

Your Name - @twitter_handle - email

Project Link: https://github.com/org_name/repo_name

Acknowledgements

This template was adapted from https://github.com/othneildrew/Best-README-Template.

oss-template's People

Contributors

dependabot[bot] avatar garypwhite avatar jashparekh avatar jdhmtl avatar lelia avatar renovate[bot] avatar wbaldoumas avatar

Stargazers

 avatar  avatar  avatar  avatar  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  avatar  avatar

oss-template's Issues

Changelog missing anchor links

Description

https://github.com/wayfair-incubator/oss-template/blob/main/CHANGELOG.md is missing the anchor links as seen on https://keepachangelog.com/en/1.0.0/ (e.g., scroll within the text area on that page until you see:

[Unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.3.0...v1.0.0
[0.3.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.8...v0.1.0
[0.0.8]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.7...v0.0.8
[0.0.7]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.6...v0.0.7
[0.0.6]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.5...v0.0.6
[0.0.5]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.4...v0.0.5
[0.0.4]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.3...v0.0.4
[0.0.3]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.2...v0.0.3
[0.0.2]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.1...v0.0.2
[0.0.1]: https://github.com/olivierlacan/keep-a-changelog/releases/tag/v0.0.1

Expected Behaviour

Anchor links are included at the bottom of CHANGELOG.md so that the [X.Y.Z] references properly link in when the markdown file renders.

Actual Behaviour

Anchor links are missing so [X.Y.Z] references only show the version number and do not link as shown in the Keep A Changelog standard.

Affected Version

All versions.

Steps to Reproduce

  1. Go to https://github.com/wayfair-incubator/oss-template/blob/main/CHANGELOG.md
  2. See [0.3.7] - 2022-04-04 and that [0.3.7] doesn't link to the expected v0.3.6...v0.3.7

Checklist

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/lint.yml
  • actions/checkout v4
  • avto-dev/markdown-lint v1
  • actions/checkout v4
  • suzuki-shunsuke/github-action-renovate-config-validator v1.0.1
.github/workflows/stale.yml
  • actions/stale v9

  • Check this box to trigger a request for Renovate to run again on this repository

Create CI pipeline

Problem Statement

This template, which consists primarily of markdown, needs to be linted manually before each pull request. This introduces additional toil.

Proposed Solution

Implement a CI pipeline to lint Markdown and block merging of failing pull requests.

Alternatives Considered

Continue doing it manually. It's not a ton of work, but it is a question of when we forget, not if.

Additional Context

Comment initially proposing this change

Make MIT license our project default

Problem Statement

Initially, when developing this template, we wanted to be as un-opinionated as possible, while still enforcing minimum standards for our open source projects. In practice, however, the overwhelming majority of our new/incubating projects go on to select the MIT license. In addition, by not including a default license in the template, we run the risk of some projects launching without selecting a license, and only finding out through organizational audits later on.

Proposed Solution

We should include the MIT license by default, and instruct project maintainers (via README) to confirm that this license is appropriate for their project needs, while also providing steps to change the license to one of our other supported options (eg. BSD, Apache, Mozilla) if MIT is not suitable.

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.