Skip to content

Create template repositories for packages #8

@apulsipher

Description

@apulsipher

Templates to Create (see comments for language-specific details)

  • Template for R packages
  • Template for Python packages
  • Template for C++ packages

Things to Include in General (not exhaustive)

  • README.md
  • Code of Conduct
  • Best Practices (some general like Semantic Versioning, some language-specific like package naming conventions for that langauge)
  • .gitignore
  • Consistent file structures (e.g., docs/, build/, src/, etc.)
  • GitHub Actions for building a website and running tests
  • Github Action workflow (likely to trigger on creation of a new release, but maybe manually) to publish package to PyPI/CRAN/etc.
    • The trigger for manually running a workflow is on: workflow_dispatch

On using Existing Templates/Templating Tools

There exist many templates and templating tools. These can be used directly or taken as inspiration. If we want to use one directly, instead of forking it, create a new project under EpiForeSITE so contributions are tracked properly and so we aren't constantly asked to merge with the original repo. See Detaching a fork.

One tool of particular note is Cookiecutter, which is primarily used for Python projects but also supports C projects. It takes a fill-in-the-blank approach to project creation, asking the user to fill in information like "Project Title" and so on. We could create our own cookiecutter (see comments below for examples) to help the researcher/developer set up their template.

Insight Net Support

These templates will likely be useful beyond just EpiForeSITE. As such, it may be worthwhile to get input from other developers in the Insight Net.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions