Skip to content

Template repository for Web Components #38

@uniqueg

Description

@uniqueg

Is your feature request related to a problem? Please describe.

With multiple repositories (one repo per component), it is considerably more difficult to maintain them, if they don't all follow the same setup / directory structure. Therefore, it will be nice to create a temporary repository based on which all component reposories are created (compare higher-level meta issue #37). The template would provide common settings, files, topics, issue labels and badges/shields, so as to enforce good practices and to allow developers/maintainers and users to more quickly find their way around a given component repository.

Describe the solution you'd like

Create a template repository with the following:

FILES

  • README.md template with the following sections (any text already provided in the template MUST be retained and MUST NOT be modified):
    • Title: Human-readable name of the component, e.g., “TRS-Filer client”
    • Synopsis: Short paragraph describing the functionality of the component in some more detail than the repository description. Use URLs to link out to the most important resource(s) for the component.
    • (add more sections)
  • LICENSE plus corresponding badge placeholder in README.md
  • .gitignore file listing artifacts common to component development (but should not include artifacts that are specific to a particular developer’s toolbox, such as IDEs/editors; these should be set up by the user globally or on a per-project basis)
  • CONTRIBUTING.md; should contain a welcoming message indicating that the project is open for community contributions (can be based on this) and should contain the finalized guidelines as drafted here
  • CONTRIBUTORS; should make use/be ready to support the All Contributors specification
  • ESLint configuration
  • Prettier configuration
  • Lerna configuration
  • CODE_OF_CONDUCT.md, based on the Contributor Covenant Code of Conduct
  • Issue templates
  • Pull request template

SETTINGS

  • general settings
  • branch settings
  • pull request settings

TOPICS

See https://github.com/topics for component-specific topics

ISSUE LABELS

  • add lables

Additional context
Add any other context or screenshots about the feature request here.

It is not clear yet whether repositories from templates retain settings, topics and such as rules for merge requests etc. If not, we might be able to write code that uses the GitHub API to create new repositories off the template and then set it up with useful settings (but that would be a separate issue). We can still list the desired settings here.

We could also consider using Cookiecutter to parameterize some parameters, such as the eventual name of the repository, the copyright year etc. See here for an example: https://simonwillison.net/2021/Aug/28/dynamic-github-repository-templates/

Metadata

Metadata

Assignees

No one assigned

    Labels

    metaMeta issue spawning other issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions