Repository Structure Task Force

Participants:

Objective:

Define a standard set of expected files and their location, and if relevant, the specified content, for all Hyperledger Incubating and Active projects. The TODO Group has defined a repo linter tool that can check for expected content. We might want to emulate some subset of their expected content.

Proposals:

  1. RECOMMENDATION: adopt repolinter with a policy as in this PR. Each repo would add the same repolint.json file and the CA team (or preferably CI) could periodically run a check to ensure projects are in compliance. Additionally, we should establish a template repository that has LICENSE, NOTICE, CoC and Security default files.

    $ npx repolinter ../hyperledger/fabric
    npx: installed 60 in 3.726s
    Target directory: /Users/cbf/dev/hyperledger/fabric
    Ruleset: repolint.json
    Linguist Axiom: Linguist not found in path, only running language-independent rules
    Target directory: /Users/cbf/dev/hyperledger/fabric
    ✔ notice-file-exists: found (NOTICE)
    ✔ license-file-exists: found (LICENSE)
    ✔ readme-file-exists: found (README.md)
    ✔ contributing-file-exists: found (CONTRIBUTING.md)
    ✔ code-of-conduct-file-exists: found (CODE_OF_CONDUCT.md)
    ✔ changelog-file-exists: found (CHANGELOG.md)
    ✔ security-file-exists: found (SECURITY.md)
    ⚠ support-file-exists: not found: ({docs/,.github/,}SUPPORT*)
    ✔ readme-references-license: File README.md contains license
    ✔ binaries-not-present: Excluded file type doesn't exist (**/*.exe,**/*.dll,!node_modules/**)
    ✔ test-directory-exists: found (test-pyramid.png)
    ✔ integrates-with-ci: found (.github/workflows/trigger.yml)
    ⚠ code-of-conduct-file-contains-email: File CODE_OF_CONDUCT.md doesn't contain email address
    ⚠ github-issue-template-exists: not found: (ISSUE_TEMPLATE*, .github/ISSUE_TEMPLATE*)
    ✔ github-pull-request-template-exists: found (.github/PULL_REQUEST_TEMPLATE.md)
    ✔ license-detectable-by-licensee: Licensee identified the license for project: Apache-2.0

Discussion:

Please see the discussion in the TSC pending topic page.