DSACMS / repo-scaffolder

Templates and commandline tools for creating repositories for US Federal open source projects
Creative Commons Zero v1.0 Universal
21 stars 8 forks source link

Tier1-4: Added Repolinter.json files #81

Closed satwic007 closed 4 months ago

satwic007 commented 5 months ago

module-name: Added Repolinter.json files

Problem

A repolinter.json is needed to check for file / content existence for Tier 1-4 Projects. Please check for the following files as found in our Maturity Model framework:

Solution

A repolinter.json is added to each tier from 1-4 with each extending the one on the previous tier. So, all configuration is at the tier1 level and other tiers can just override the level for the rules as needed.

Result

Repolinter.json file can be shipped to any repository along with other project slug files. A remote repo can be linted without having to add the repolinter.json file to it.

Test Plan

Prereq: setup repolinter- https://github.com/todogroup/repolinter

repolinter lint tier1/\{\{cookiecutter.project_slug\}\}

Other tiers can be tested after the PR is merged, or merge these changes to a branch and update extends to refer the branch

Local run results:

tier1:

command : repolinter lint tier1/\{\{cookiecutter.project_slug\}\} output:

Axiom language failed to run with error: Linguist not installed
Axiom license failed to run with error: Licensee not installed
Lint:
✔ license-file-exists: Found file (LICENSE)
✔ security-file-exists: Found file (SECURITY.md)
✔ readme-file-exists: Found file (README.md)
✔ contributing-file-exists: Found file (CONTRIBUTING.md)
ℹ maintainers-file-exists: ignored because level is "off"
ℹ codeowners-file-exists: ignored because level is "off"
ℹ governance-file-exists: ignored because level is "off"
ℹ community-guidelines-file-exists: ignored because level is "off"
ℹ code-of-conduct-file-exists: ignored because level is "off"
✔ license-contains-license: Contains license (LICENSE)
✔ security-contains-security-and-Responsible-Disclosure-Policy: Contains Security and Responsible Disclosure Policy (README.md)
✔ readme-contains-about-the-project: Contains About the Project (README.md)
ℹ readme-contains-project-vision: ignored because level is "off"
✔ readme-contains-project-mission: Contains Project Mission (README.md)
✔ readme-contains-agency-mission: Contains Agency Mission (README.md)
✔ readme-contains-team-mission: Contains Team Mission (README.md)
✔ readme-contains-core-team: Contains Core Team (README.md)
✔ readme-contains-documentation-index: Contains Documentation Index (README.md)
✔ readme-contains-repository-structure: Contains Repository Structure (README.md)
✔ readme-contains-development-and-software-delivery-lifecycle: Contains Development and Software Delivery Lifecycle (README.md)
✔ readme-contains-local-development: Contains Local Development (README.md)
✔ readme-contains-coding-style-and-linters: Contains Coding Style and Linters (README.md)
✔ readme-contains-branching-model: Contains Branching Model (README.md)
✔ readme-contains-contributing: Contains Contributing (README.md)
✔ readme-contains-codeowners: Contains Codeowners (README.md)
✔ readme-contains-community: Contains Community (README.md)
✔ readme-contains-community-guidelines: Contains Community Guidelines (README.md)
ℹ readme-contains-governance: ignored because level is "off"
✔ readme-contains-feedback: Contains Feedback (README.md)
✔ readme-contains-glossary: Contains Glossary (README.md)
✔ readme-contains-policies: Contains Policies (README.md)
✔ readme-contains-public-domain: Contains Public domain (README.md)
✔ contributing-contains-how-to-contribute: Contains How to Contribute (CONTRIBUTING.md)
✔ contributing-contains-getting-started: Contains Getting Started (CONTRIBUTING.md)
ℹ contributing-contains-team-specific-guidelines: ignored because level is "off"
✔ contributing-contains-building-dependencies: Contains Building dependencies (CONTRIBUTING.md)
✔ contributing-contains-building-the-Project: Contains Building the Project (CONTRIBUTING.md)
✔ contributing-contains-workflow-and-branching: Contains Workflow and Branching (CONTRIBUTING.md)
✔ contributing-contains-testing-conventions: Contains Testing Conventions (CONTRIBUTING.md)
✔ contributing-contains-coding-style-and-linters: Contains Coding Style and Linters (CONTRIBUTING.md)
✔ contributing-contains-writing-issues: Contains ISSUE_TEMPLATE.md | Issues (CONTRIBUTING.md)
ℹ contributing-contains-writing-pull-requests: ignored because level is "off"
ℹ contributing-contains-reviewing-pull-requests: ignored because level is "off"
ℹ contributing-contains-shipping-releases: ignored because level is "off"
✔ contributing-contains-documentation: Contains Documentation (CONTRIBUTING.md)
✔ contributing-contains-policies: Contains Policies (CONTRIBUTING.md)
✔ contributing-contains-public-domain: Contains Public domain (CONTRIBUTING.md)
ℹ maintainers-contains-maintainers: ignored because level is "off"
ℹ maintainers-contains-maintainers-list: ignored because level is "off"
ℹ maintainers-contains-approvers-list: ignored because level is "off"
ℹ maintainers-contains-reviewers-list: ignored because level is "off"
ℹ governance-contains-governance: ignored because level is "off"
ℹ code-owners-contains-list-of-users: ignored because level is "off"
✔ code-owners-contains-repo-domains: Did not find file matching the specified patterns ({docs/,.github/,}CODEOWNERS.md)
ℹ community-guidelines-contains-principles: ignored because level is "off"
ℹ community-guidelines-contains-community-guidelines: ignored because level is "off"
ℹ community-guidelines-contains-acknowledgements: ignored because level is "off"
ℹ code-of-conduct-contains-contributor-code-of-conduct: ignored because level is "off"
ℹ code-of-conduct-contains-acknowledgements: ignored because level is "off"

tier2:

command: repolinter lint tier2/\{\{cookiecutter.project_slug\}\}

Axiom language failed to run with error: Linguist not installed
Axiom license failed to run with error: Licensee not installed
Lint:
✔ license-file-exists: Found file (LICENSE)
✔ security-file-exists: Found file (SECURITY.md)
✔ readme-file-exists: Found file (README.md)
✔ contributing-file-exists: Found file (CONTRIBUTING.md)
✔ maintainers-file-exists: Found file (MAINTAINERS.md)
✔ codeowners-file-exists: Found file (CODEOWNERS.md)
ℹ governance-file-exists: ignored because level is "off"
✔ community-guidelines-file-exists: Found file (COMMUNITY_GUIDELINES.md)
✔ code-of-conduct-file-exists: Found file (CODE_OF_CONDUCT.md)
✔ license-contains-license: Contains license (LICENSE)
✔ security-contains-security-and-Responsible-Disclosure-Policy: Contains Security and Responsible Disclosure Policy (README.md)
✔ readme-contains-about-the-project: Contains About the Project (README.md)
✔ readme-contains-project-vision: Contains Project Vision (README.md)
✔ readme-contains-project-mission: Contains Project Mission (README.md)
✔ readme-contains-agency-mission: Contains Agency Mission (README.md)
✔ readme-contains-team-mission: Contains Team Mission (README.md)
✔ readme-contains-core-team: Contains Core Team (README.md)
✔ readme-contains-documentation-index: Contains Documentation Index (README.md)
✔ readme-contains-repository-structure: Contains Repository Structure (README.md)
✔ readme-contains-development-and-software-delivery-lifecycle: Contains Development and Software Delivery Lifecycle (README.md)
✔ readme-contains-local-development: Contains Local Development (README.md)
✔ readme-contains-coding-style-and-linters: Contains Coding Style and Linters (README.md)
✔ readme-contains-branching-model: Contains Branching Model (README.md)
✔ readme-contains-contributing: Contains Contributing (README.md)
✔ readme-contains-codeowners: Contains Codeowners (README.md)
✔ readme-contains-community: Contains Community (README.md)
✔ readme-contains-community-guidelines: Contains Community Guidelines (README.md)
✔ readme-contains-governance: Contains Governance (README.md)
✔ readme-contains-feedback: Contains Feedback (README.md)
✔ readme-contains-glossary: Contains Glossary (README.md)
✔ readme-contains-policies: Contains Policies (README.md)
✔ readme-contains-public-domain: Contains Public domain (README.md)
✔ contributing-contains-how-to-contribute: Contains How to Contribute (CONTRIBUTING.md)
✔ contributing-contains-getting-started: Contains Getting Started (CONTRIBUTING.md)
✔ contributing-contains-team-specific-guidelines: Contains Team Specific Guidelines (CONTRIBUTING.md)
✔ contributing-contains-building-dependencies: Contains Building dependencies (CONTRIBUTING.md)
✔ contributing-contains-building-the-Project: Contains Building the Project (CONTRIBUTING.md)
✔ contributing-contains-workflow-and-branching: Contains Workflow and Branching (CONTRIBUTING.md)
✔ contributing-contains-testing-conventions: Contains Testing Conventions (CONTRIBUTING.md)
✔ contributing-contains-coding-style-and-linters: Contains Coding Style and Linters (CONTRIBUTING.md)
✔ contributing-contains-writing-issues: Contains ISSUE_TEMPLATE.md | Issues (CONTRIBUTING.md)
✔ contributing-contains-writing-pull-requests: Contains Writing Pull Requests (CONTRIBUTING.md)
⚠ contributing-contains-reviewing-pull-requests: Doesn't contain Reviewing Pull Requests (CONTRIBUTING.md)
✔ contributing-contains-shipping-releases: Contains Shipping Releases (CONTRIBUTING.md)
✔ contributing-contains-documentation: Contains Documentation (CONTRIBUTING.md)
✔ contributing-contains-policies: Contains Policies (CONTRIBUTING.md)
✔ contributing-contains-public-domain: Contains Public domain (CONTRIBUTING.md)
✔ maintainers-contains-maintainers: Contains Maintainers (MAINTAINERS.md)
⚠ maintainers-contains-maintainers-list: Doesn't contain Maintainers: (MAINTAINERS.md)
ℹ maintainers-contains-approvers-list: ignored because level is "off"
ℹ maintainers-contains-reviewers-list: ignored because level is "off"
ℹ governance-contains-governance: ignored because level is "off"
✔ code-owners-contains-list-of-users: Contains Code Owners (CODEOWNERS.md)
✔ code-owners-contains-repo-domains: Contains documentation | frontend | backend | Repo Domains (CODEOWNERS.md)
✔ community-guidelines-contains-principles: Contains Principles (COMMUNITY_GUIDELINES.md)
✔ community-guidelines-contains-community-guidelines: Contains Community Guidelines (COMMUNITY_GUIDELINES.md)
✔ community-guidelines-contains-acknowledgements: Contains Acknowledgements (COMMUNITY_GUIDELINES.md)
✔ code-of-conduct-contains-contributor-code-of-conduct: Contains Contributor Code of Conduct (CODE_OF_CONDUCT.md)
✔ code-of-conduct-contains-acknowledgements: Contains Acknowledgements (CODE_OF_CONDUCT.md)

tier3:

command: repolinter lint tier3/\{\{cookiecutter.project_slug\}\} output:

Axiom language failed to run with error: Linguist not installed
Axiom license failed to run with error: Licensee not installed
Lint:
✔ license-file-exists: Found file (LICENSE)
✔ security-file-exists: Found file (SECURITY.md)
✔ readme-file-exists: Found file (README.md)
✔ contributing-file-exists: Found file (CONTRIBUTING.md)
✔ maintainers-file-exists: Found file (MAINTAINERS.md)
✔ codeowners-file-exists: Found file (CODEOWNERS.md)
✔ governance-file-exists: Found file (GOVERNANCE.md)
✔ community-guidelines-file-exists: Found file (COMMUNITY_GUIDELINES.md)
✔ code-of-conduct-file-exists: Found file (CODE_OF_CONDUCT.md)
✔ license-contains-license: Contains license (LICENSE)
✔ security-contains-security-and-Responsible-Disclosure-Policy: Contains Security and Responsible Disclosure Policy (README.md)
✔ readme-contains-about-the-project: Contains About the Project (README.md)
✔ readme-contains-project-vision: Contains Project Vision (README.md)
✔ readme-contains-project-mission: Contains Project Mission (README.md)
✔ readme-contains-agency-mission: Contains Agency Mission (README.md)
✔ readme-contains-team-mission: Contains Team Mission (README.md)
✔ readme-contains-core-team: Contains Core Team (README.md)
✔ readme-contains-documentation-index: Contains Documentation Index (README.md)
✔ readme-contains-repository-structure: Contains Repository Structure (README.md)
✔ readme-contains-development-and-software-delivery-lifecycle: Contains Development and Software Delivery Lifecycle (README.md)
✔ readme-contains-local-development: Contains Local Development (README.md)
✔ readme-contains-coding-style-and-linters: Contains Coding Style and Linters (README.md)
✔ readme-contains-branching-model: Contains Branching Model (README.md)
✔ readme-contains-contributing: Contains Contributing (README.md)
✔ readme-contains-codeowners: Contains Codeowners (README.md)
✔ readme-contains-community: Contains Community (README.md)
✔ readme-contains-community-guidelines: Contains Community Guidelines (README.md)
✔ readme-contains-governance: Contains Governance (README.md)
✔ readme-contains-feedback: Contains Feedback (README.md)
✔ readme-contains-glossary: Contains Glossary (README.md)
✔ readme-contains-policies: Contains Policies (README.md)
✔ readme-contains-public-domain: Contains Public domain (README.md)
✔ contributing-contains-how-to-contribute: Contains How to Contribute (CONTRIBUTING.md)
✔ contributing-contains-getting-started: Contains Getting Started (CONTRIBUTING.md)
✔ contributing-contains-team-specific-guidelines: Contains Team Specific Guidelines (CONTRIBUTING.md)
✔ contributing-contains-building-dependencies: Contains Building dependencies (CONTRIBUTING.md)
✔ contributing-contains-building-the-Project: Contains Building the Project (CONTRIBUTING.md)
✔ contributing-contains-workflow-and-branching: Contains Workflow and Branching (CONTRIBUTING.md)
✔ contributing-contains-testing-conventions: Contains Testing Conventions (CONTRIBUTING.md)
✔ contributing-contains-coding-style-and-linters: Contains Coding Style and Linters (CONTRIBUTING.md)
✔ contributing-contains-writing-issues: Contains ISSUE_TEMPLATE.md | Issues (CONTRIBUTING.md)
✔ contributing-contains-writing-pull-requests: Contains Writing Pull Requests (CONTRIBUTING.md)
✔ contributing-contains-reviewing-pull-requests: Contains Reviewing Pull Requests (CONTRIBUTING.md)
✔ contributing-contains-shipping-releases: Contains Shipping Releases (CONTRIBUTING.md)
✔ contributing-contains-documentation: Contains Documentation (CONTRIBUTING.md)
✔ contributing-contains-policies: Contains Policies (CONTRIBUTING.md)
✔ contributing-contains-public-domain: Contains Public domain (CONTRIBUTING.md)
✔ maintainers-contains-maintainers: Contains Maintainers (MAINTAINERS.md)
✔ maintainers-contains-maintainers-list: Contains Maintainers: (MAINTAINERS.md)
✔ maintainers-contains-approvers-list: Contains Approvers: (MAINTAINERS.md)
✔ maintainers-contains-reviewers-list: Contains Reviewers: (MAINTAINERS.md)
✔ governance-contains-governance: Contains Governance (GOVERNANCE.md)
✔ code-owners-contains-list-of-users: Contains Code Owners (CODEOWNERS.md)
✔ code-owners-contains-repo-domains: Contains documentation | frontend | backend | Repo Domains (CODEOWNERS.md)
✔ community-guidelines-contains-principles: Contains Principles (COMMUNITY_GUIDELINES.md)
✔ community-guidelines-contains-community-guidelines: Contains Community Guidelines (COMMUNITY_GUIDELINES.md)
✔ community-guidelines-contains-acknowledgements: Contains Acknowledgements (COMMUNITY_GUIDELINES.md)
✔ code-of-conduct-contains-contributor-code-of-conduct: Contains Contributor Code of Conduct (CODE_OF_CONDUCT.md)
✔ code-of-conduct-contains-acknowledgements: Contains Acknowledgements (CODE_OF_CONDUCT.md)

tier4:

command: repolinter lint tier4/\{\{cookiecutter.project_slug\}\} output:

Axiom language failed to run with error: Linguist not installed
Axiom license failed to run with error: Licensee not installed
Lint:
✔ license-file-exists: Found file (LICENSE)
✔ security-file-exists: Found file (SECURITY.md)
✔ readme-file-exists: Found file (README.md)
✔ contributing-file-exists: Found file (CONTRIBUTING.md)
✔ maintainers-file-exists: Found file (MAINTAINERS.md)
✔ codeowners-file-exists: Found file (CODEOWNERS.md)
✔ governance-file-exists: Found file (GOVERNANCE.md)
✔ community-guidelines-file-exists: Found file (COMMUNITY_GUIDELINES.md)
✔ code-of-conduct-file-exists: Found file (CODE_OF_CONDUCT.md)
✔ license-contains-license: Contains license (LICENSE)
✔ security-contains-security-and-Responsible-Disclosure-Policy: Contains Security and Responsible Disclosure Policy (README.md)
✔ readme-contains-about-the-project: Contains About the Project (README.md)
✔ readme-contains-project-vision: Contains Project Vision (README.md)
✔ readme-contains-project-mission: Contains Project Mission (README.md)
ℹ readme-contains-agency-mission: ignored because level is "off"
ℹ readme-contains-team-mission: ignored because level is "off"
✔ readme-contains-core-team: Contains Core Team (README.md)
✔ readme-contains-documentation-index: Contains Documentation Index (README.md)
✔ readme-contains-repository-structure: Contains Repository Structure (README.md)
✔ readme-contains-development-and-software-delivery-lifecycle: Contains Development and Software Delivery Lifecycle (README.md)
✔ readme-contains-local-development: Contains Local Development (README.md)
✔ readme-contains-coding-style-and-linters: Contains Coding Style and Linters (README.md)
✔ readme-contains-branching-model: Contains Branching Model (README.md)
✔ readme-contains-contributing: Contains Contributing (README.md)
✔ readme-contains-codeowners: Contains Codeowners (README.md)
✔ readme-contains-community: Contains Community (README.md)
✔ readme-contains-community-guidelines: Contains Community Guidelines (README.md)
✔ readme-contains-governance: Contains Governance (README.md)
✔ readme-contains-feedback: Contains Feedback (README.md)
✔ readme-contains-glossary: Contains Glossary (README.md)
✔ readme-contains-policies: Contains Policies (README.md)
✔ readme-contains-public-domain: Contains Public domain (README.md)
✔ contributing-contains-how-to-contribute: Contains How to Contribute (CONTRIBUTING.md)
✔ contributing-contains-getting-started: Contains Getting Started (CONTRIBUTING.md)
✔ contributing-contains-team-specific-guidelines: Contains Team Specific Guidelines (CONTRIBUTING.md)
✔ contributing-contains-building-dependencies: Contains Building dependencies (CONTRIBUTING.md)
✔ contributing-contains-building-the-Project: Contains Building the Project (CONTRIBUTING.md)
✔ contributing-contains-workflow-and-branching: Contains Workflow and Branching (CONTRIBUTING.md)
✔ contributing-contains-testing-conventions: Contains Testing Conventions (CONTRIBUTING.md)
✔ contributing-contains-coding-style-and-linters: Contains Coding Style and Linters (CONTRIBUTING.md)
✔ contributing-contains-writing-issues: Contains ISSUE_TEMPLATE.md | Issues (CONTRIBUTING.md)
✔ contributing-contains-writing-pull-requests: Contains Writing Pull Requests (CONTRIBUTING.md)
✔ contributing-contains-reviewing-pull-requests: Contains Reviewing Pull Requests (CONTRIBUTING.md)
✔ contributing-contains-shipping-releases: Contains Shipping Releases (CONTRIBUTING.md)
✔ contributing-contains-documentation: Contains Documentation (CONTRIBUTING.md)
✔ contributing-contains-policies: Contains Policies (CONTRIBUTING.md)
✔ contributing-contains-public-domain: Contains Public domain (CONTRIBUTING.md)
✔ maintainers-contains-maintainers: Contains Maintainers (MAINTAINERS.md)
✔ maintainers-contains-maintainers-list: Contains Maintainers: (MAINTAINERS.md)
✔ maintainers-contains-approvers-list: Contains Approvers: (MAINTAINERS.md)
✔ maintainers-contains-reviewers-list: Contains Reviewers: (MAINTAINERS.md)
✔ governance-contains-governance: Contains Governance (GOVERNANCE.md)
✔ code-owners-contains-list-of-users: Contains Code Owners (CODEOWNERS.md)
✔ code-owners-contains-repo-domains: Contains documentation | frontend | backend | Repo Domains (CODEOWNERS.md)
✔ community-guidelines-contains-principles: Contains Principles (COMMUNITY_GUIDELINES.md)
✔ community-guidelines-contains-community-guidelines: Contains Community Guidelines (COMMUNITY_GUIDELINES.md)
✔ community-guidelines-contains-acknowledgements: Contains Acknowledgements (COMMUNITY_GUIDELINES.md)
✔ code-of-conduct-contains-contributor-code-of-conduct: Contains Contributor Code of Conduct (CODE_OF_CONDUCT.md)
✔ code-of-conduct-contains-acknowledgements: Contains Acknowledgements (CODE_OF_CONDUCT.md)
satwic007 commented 4 months ago

Hi @natalialuzuriaga and @decause-gov ,

Thank you both so much for taking the time to review my pull request and for your encouraging feedback! I appreciate the detailed insights.

I addressed those minor tweaks.

Quick Summary of my responses:

Looking ahead, I'm particularly excited about the prospect of automating these checks through CI/CD systems.

Thank you again for your guidance, patience, and support. It's a pleasure working on this project with such a forward-thinking team, and I'm eager to see where we can take this next.

natalialuzuriaga commented 4 months ago

Remy approves 🙌 🚢