Skip to content
/ template Public template

Template repository for new SciCodes repositories

Notifications You must be signed in to change notification settings

SciCodes/template

Repository files navigation

Template for GitHub repositories for SciCodes

This is a template README file for GitHub repositories. This first paragraph of the README should summarize your software in a concise fashion, preferably using no more than one or two sentences.

Table of contents

Introduction

This repository is a GitHub template repostory for creating a project repository under the SciCodes GitHub organization. The associated wiki page explains how to use the template repository.

This README file is in Markdown format, and is meant to provide a template for README files as well an illustration of what the README file can be expected to look like. For a software project, this Introduction section – which you are presently reading – should provide background for the project, a brief explanation of what the project is about, and optionally, pointers to resources that can help orient readers. Ideally, this section should be short.

Installation

If this repository is for a software project, provide instructions for how users can install the software. Begin this section by mentioning any prerequisites that may be important for users to have before they can use your software. Examples include hardware and operating system requirements.

Next, provide step-by-step instructions for installing the software, preferably with command examples that can be copy-pasted by readers into their software environments. For example:

a command-line command here

Sometimes, subsections may be needed for different operating systems or particularly complicated installations.

Usage

If this repository is for a software project, this Usage section would explain more about how to run the software, what kind of behavior to expect, and so on.

Basic operation

Begin with the simplest possible example of how to use your software. Provide example command lines and/or screen images, as appropriate, to help readers understand how the software is expected to be used. Many readers are likely to look for command lines they can copy-paste directly from your explanations, so it's best to keep that in mind as you write examples.

Additional options

Some projects need to communicate additional information to users and can benefit from additional sections in the README file. It's difficult to give specific instructions – a lot depends on your software, your intended audience, etc. Use your judgement and ask for feedback from users or colleagues to help figure out what else is worth explaining.

Known issues and limitations

In this section, summarize any notable issues and/or limitations of your software. If none are known yet, this section can be omitted (and don't forget to remove the corresponding entry in the Table of Contents too); alternatively, you can leave this section in and write something along the lines of "none are known at this time".

Getting help

Inform readers of how they can contact you, or at least how they can report problems they may encounter. This may simply be a request to use the issue tracker on your repository, but many projects have associated chat or mailing lists, and this section is a good place to mention those.

Contributing

This section is optional; if your repository is for a project that accepts open-source contributions, then this section is where you can mention how people can offer contributions, and point them to your guidelines for contributing. (If you delete this section, don't forget to remove the corresponding entry in the Table of Contents too.)

License

Provide information about the license under which the content or software is made available to other people.

Authors and history

In this section, list the authors and contributors to your software project. Adding additional notes here about the history of the project can make it more interesting and compelling. This is also a place where you can acknowledge other contributions to the work and the use of other people's software or tools.

Acknowledgments

Acknowledge support by your work institution and other organizations. In addition, if your work relies on software packages created by other people, or was inspired by looking at other work, it is appropriate to acknowledge this intellectual debt too.