diff --git a/.github/workflows/updateCodeJSON.yml b/.github/workflows/updateCodeJSON.yml
new file mode 100644
index 0000000..fff52c6
--- /dev/null
+++ b/.github/workflows/updateCodeJSON.yml
@@ -0,0 +1,34 @@
+name: Update Code.json
+on:
+ workflow_dispatch:
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ update-code-json:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+
+ - name: Setup Go
+ uses: actions/setup-go@v5
+ with:
+ go-version: '1.22'
+
+ - name: Install SCC
+ run: go install github.com/boyter/scc/v3@latest
+
+ - name: Update code.json
+ uses: DSACMS/automated-codejson-generator@main
+ with:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e9010cc..ab4d5f7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -83,8 +83,6 @@ When creating an issue please try to adhere to the following format:
List all relevant steps to reproduce the observed behavior.
- see our .github/ISSUE_TEMPLATE.md for more examples.
-
### Writing Pull Requests
Comments should be formatted to a width no greater than 80 columns.
diff --git a/MAINTAINERS.md b/MAINTAINERS.md
index 7fb0e3b..45f80fd 100644
--- a/MAINTAINERS.md
+++ b/MAINTAINERS.md
@@ -50,4 +50,119 @@ GitHub Actions
Total number of contributors:
+
diff --git a/code.json b/code.json
index ba78aa0..415b14c 100644
--- a/code.json
+++ b/code.json
@@ -1,10 +1,47 @@
{
- "projectType": "Tools",
- "userInput": "No",
- "fismaLevel": "Low",
- "group": "CMS/OA/DSAC",
- "subsetInHealthcare": "Operational",
- "userType": "Government",
- "repositoryHost": "Github.com",
- "maturityModelTier": "3"
-}
\ No newline at end of file
+ "name": "repo-scaffolder",
+ "description": "Templates and commandline tools for creating repositories for US Federal open source projects ",
+ "longDescription": "repo-scaffolder assists project teams with creating repositories that adhere to repository hygiene standards. It provides file templates detailing project information, contributing guidance, maintainer roles, project metadata, community involvement, feedback mechanisms, governance, security policies, and more. ",
+ "status": "Production",
+ "permissions": {
+ "license": [
+ {
+ "name": "CC0 1.0 Universal",
+ "URL": "https://github.com/DSACMS/repo-scaffolder/blob/main/LICENSE"
+ }
+ ],
+ "usageType": "openSource",
+ "exemptionText": ""
+ },
+ "organization": "Centers for Medicare & Medicaid Services",
+ "repositoryURL": "https://github.com/DSACMS/repo-scaffolder",
+ "vcs": "git",
+ "laborHours": 5940,
+ "platforms": ["web", "windows", "mac", "linux"],
+ "categories": ["data-collection", "it-asset-management", "knowledge-management"],
+ "softwareType": "standalone/backend",
+ "languages": [
+ "Python"
+ ],
+ "maintenance": "internal",
+ "date": {
+ "created": "2023-10-05T18:06:51Z",
+ "lastModified": "2025-02-10T19:51:24Z",
+ "metaDataLastUpdated": "2025-02-10T19:52:18.683Z"
+ },
+ "tags": ["repository", "codejson", "cookiecutter"],
+ "contact": {
+ "email": "opensource@cms.hhs.gov",
+ "name": "CMS Open Source Team"
+ },
+ "localisation": false,
+ "repositoryType": "tools",
+ "userInput": false,
+ "fismaLevel": "Low",
+ "group": "CMS/OA/DSAC",
+ "subsetInHealthcare": "Operational",
+ "userType": "Government",
+ "repositoryHost": "github.com/DSACMS",
+ "maturityModelTier": 3,
+ "projectType": "Tools"
+}
diff --git a/tier0/{{cookiecutter.project_slug}}/CONTRIBUTING.md b/tier0/{{cookiecutter.project_slug}}/CONTRIBUTING.md
index f2487a8..3379ac6 100644
--- a/tier0/{{cookiecutter.project_slug}}/CONTRIBUTING.md
+++ b/tier0/{{cookiecutter.project_slug}}/CONTRIBUTING.md
@@ -1,6 +1,6 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
+All contributions to this project will be released under the CC0 dedication. By submitting a pull request or issue, you are agreeing to comply with this waiver of copyright interest.
+-->
diff --git a/tier1/hooks/post_gen_project.py b/tier1/hooks/post_gen_project.py
index 1d7d65b..cf34b0f 100644
--- a/tier1/hooks/post_gen_project.py
+++ b/tier1/hooks/post_gen_project.py
@@ -30,14 +30,21 @@ def addTopic():
subprocess.call(gh_cli_command)
def moveCookiecutterFile():
- github_dir = os.path.join(os.getcwd(), ".github")
- os.chdir(github_dir)
+ original_dir = os.getcwd()
- source_path = "cookiecutter.json"
- destination_dir = "codejson"
- destination_path = os.path.join(destination_dir, "cookiecutter.json")
+ try:
+ github_dir = os.path.join(original_dir, ".github")
+ os.chdir(github_dir)
- shutil.move(source_path, destination_path)
+ source_path = "cookiecutter.json"
+ destination_dir = "codejson"
+ destination_path = os.path.join(destination_dir, "cookiecutter.json")
+
+ shutil.move(source_path, destination_path)
+
+ finally:
+ # Moves back to project dir
+ os.chdir(original_dir)
def main():
moveCookiecutterFile()
diff --git a/tier1/{{cookiecutter.project_slug}}/.github/ISSUE_TEMPLATE/issue_report.md b/tier1/{{cookiecutter.project_slug}}/.github/ISSUE_TEMPLATE/issue_report.md
new file mode 100644
index 0000000..e170289
--- /dev/null
+++ b/tier1/{{cookiecutter.project_slug}}/.github/ISSUE_TEMPLATE/issue_report.md
@@ -0,0 +1,23 @@
+---
+name: Issue report
+about: Create an issue to help us improve
+title: ""
+labels: ""
+assignees: ""
+---
+
+## Issue Report
+
+module-name: One line summary of the issue (less than 72 characters)
+
+### Expected behavior
+
+As concisely as possible, describe the expected behavior.
+
+### Actual behavior
+
+As concisely as possible, describe the observed behavior.
+
+### Steps to reproduce the behavior
+
+List all relevant steps to reproduce the observed behavior.
diff --git a/tier1/{{cookiecutter.project_slug}}/CONTRIBUTING.md b/tier1/{{cookiecutter.project_slug}}/CONTRIBUTING.md
index e5bb6ca..36df85f 100644
--- a/tier1/{{cookiecutter.project_slug}}/CONTRIBUTING.md
+++ b/tier1/{{cookiecutter.project_slug}}/CONTRIBUTING.md
@@ -32,37 +32,36 @@ We encourage you to read this project's CONTRIBUTING policy (you are here), its
TODO: Workflow Example
We follow the [GitHub Flow Workflow](https://guides.github.com/introduction/flow/)
-1. Fork the project
-2. Check out the `main` branch
+1. Fork the project
+2. Check out the `main` branch
3. Create a feature branch
-4. Write code and tests for your change
+4. Write code and tests for your change
5. From your branch, make a pull request against `{{ cookiecutter.project_org }}/{{ cookiecutter.project_repo_name }}/main`
-6. Work with repo maintainers to get your change reviewed
+6. Work with repo maintainers to get your change reviewed
7. Wait for your change to be pulled into `{{ cookiecutter.project_org }}/{{ cookiecutter.project_repo_name }}/main`
8. Delete your feature branch
-->
-
### Issues
-
\n"
+ "file-content": "# Code Owners \n \n"
}
}
},
diff --git a/tier2/hooks/post_gen_project.py b/tier2/hooks/post_gen_project.py
index 92861ff..a6aedf9 100644
--- a/tier2/hooks/post_gen_project.py
+++ b/tier2/hooks/post_gen_project.py
@@ -71,14 +71,21 @@ def addMaintainer():
f.write(line)
def moveCookiecutterFile():
- github_dir = os.path.join(os.getcwd(), ".github")
- os.chdir(github_dir)
+ original_dir = os.getcwd()
- source_path = "cookiecutter.json"
- destination_dir = "codejson"
- destination_path = os.path.join(destination_dir, "cookiecutter.json")
+ try:
+ github_dir = os.path.join(original_dir, ".github")
+ os.chdir(github_dir)
- shutil.move(source_path, destination_path)
+ source_path = "cookiecutter.json"
+ destination_dir = "codejson"
+ destination_path = os.path.join(destination_dir, "cookiecutter.json")
+
+ shutil.move(source_path, destination_path)
+
+ finally:
+ # Moves back to project dir
+ os.chdir(original_dir)
def main():
if ADD_MAINTAINER == "True":
diff --git a/tier2/{{cookiecutter.project_slug}}/.github/ISSUE_TEMPLATE/issue_report.md b/tier2/{{cookiecutter.project_slug}}/.github/ISSUE_TEMPLATE/issue_report.md
new file mode 100644
index 0000000..e170289
--- /dev/null
+++ b/tier2/{{cookiecutter.project_slug}}/.github/ISSUE_TEMPLATE/issue_report.md
@@ -0,0 +1,23 @@
+---
+name: Issue report
+about: Create an issue to help us improve
+title: ""
+labels: ""
+assignees: ""
+---
+
+## Issue Report
+
+module-name: One line summary of the issue (less than 72 characters)
+
+### Expected behavior
+
+As concisely as possible, describe the expected behavior.
+
+### Actual behavior
+
+As concisely as possible, describe the observed behavior.
+
+### Steps to reproduce the behavior
+
+List all relevant steps to reproduce the observed behavior.
diff --git a/tier2/{{cookiecutter.project_slug}}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/tier2/{{cookiecutter.project_slug}}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
new file mode 100644
index 0000000..1fcf8cf
--- /dev/null
+++ b/tier2/{{cookiecutter.project_slug}}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
@@ -0,0 +1,42 @@
+
+
+## module-name: One line description of your change (less than 72 characters)
+
+## Problem
+
+Explain the context and why you're making that change. What is the problem
+you're trying to solve? In some cases there is not a problem and this can be
+thought of being the motivation for your change.
+
+## Solution
+
+Describe the modifications you've done.
+
+## Result
+
+What will change as a result of your pull request? Note that sometimes this
+section is unnecessary because it is self-explanatory based on the solution.
+
+Some important notes regarding the summary line:
+
+- Describe what was done; not the result
+- Use the active voice
+- Use the present tense
+- Capitalize properly
+- Do not end in a period — this is a title/subject
+- Prefix the subject with its scope
+
+## Test Plan
+
+(Write your test plan here. If you changed any code, please provide us with
+clear instructions on how you verified your changes work.)
diff --git a/tier2/{{cookiecutter.project_slug}}/CONTRIBUTING.md b/tier2/{{cookiecutter.project_slug}}/CONTRIBUTING.md
index 947d4f6..8dadb66 100644
--- a/tier2/{{cookiecutter.project_slug}}/CONTRIBUTING.md
+++ b/tier2/{{cookiecutter.project_slug}}/CONTRIBUTING.md
@@ -18,10 +18,10 @@ We encourage you to read this project's CONTRIBUTING policy (you are here), its
-
### Building dependencies
@@ -37,20 +37,20 @@ TODO: This section helps contributors understand any team structure in the proje
-
### Coding Style and Linters
@@ -58,15 +58,14 @@ TODO: Discuss where tests can be found, how they are run, and what kind of tests
### Writing Issues
-
-
-
-
+
+## module-name: One line description of your change (less than 72 characters)
+
+## Problem
+
+Explain the context and why you're making that change. What is the problem
+you're trying to solve? In some cases there is not a problem and this can be
+thought of being the motivation for your change.
+
+## Solution
+
+Describe the modifications you've done.
+
+## Result
+
+What will change as a result of your pull request? Note that sometimes this
+section is unnecessary because it is self-explanatory based on the solution.
+
+Some important notes regarding the summary line:
+
+- Describe what was done; not the result
+- Use the active voice
+- Use the present tense
+- Capitalize properly
+- Do not end in a period — this is a title/subject
+- Prefix the subject with its scope
+
+## Test Plan
+
+(Write your test plan here. If you changed any code, please provide us with
+clear instructions on how you verified your changes work.)
diff --git a/tier3/{{cookiecutter.project_slug}}/CONTRIBUTING.md b/tier3/{{cookiecutter.project_slug}}/CONTRIBUTING.md
index 4a5c79f..10ba677 100644
--- a/tier3/{{cookiecutter.project_slug}}/CONTRIBUTING.md
+++ b/tier3/{{cookiecutter.project_slug}}/CONTRIBUTING.md
@@ -61,7 +61,7 @@ We follow the [GitHub Flow Workflow](https://guides.github.com/introduction/flow
### Writing Issues
-
### Writing Pull Requests
-
## Reviewing Pull Requests
@@ -153,7 +151,11 @@ authorship metadata will be preserved.
## Documentation
@@ -174,7 +176,7 @@ questions, just [shoot us an email](mailto:opensource@cms.hhs.gov).
### Security and Responsible Disclosure Policy
-*Submit a vulnerability:* Vulnerability reports can be submitted through [Bugcrowd](https://bugcrowd.com/cms-vdp). Reports may be submitted anonymously. If you share contact information, we will acknowledge receipt of your report within 3 business days.
+_Submit a vulnerability:_ Vulnerability reports can be submitted through [Bugcrowd](https://bugcrowd.com/cms-vdp). Reports may be submitted anonymously. If you share contact information, we will acknowledge receipt of your report within 3 business days.
For more information about our Security, Vulnerability, and Responsible Disclosure Policies, see [SECURITY.md](SECURITY.md).
diff --git a/tier4/hooks/post_gen_project.py b/tier4/hooks/post_gen_project.py
index eda1bcd..7c88a9f 100644
--- a/tier4/hooks/post_gen_project.py
+++ b/tier4/hooks/post_gen_project.py
@@ -64,14 +64,21 @@ def addMaintainer():
f.writelines(lines)
def moveCookiecutterFile():
- github_dir = os.path.join(os.getcwd(), ".github")
- os.chdir(github_dir)
+ original_dir = os.getcwd()
- source_path = "cookiecutter.json"
- destination_dir = "codejson"
- destination_path = os.path.join(destination_dir, "cookiecutter.json")
+ try:
+ github_dir = os.path.join(original_dir, ".github")
+ os.chdir(github_dir)
- shutil.move(source_path, destination_path)
+ source_path = "cookiecutter.json"
+ destination_dir = "codejson"
+ destination_path = os.path.join(destination_dir, "cookiecutter.json")
+
+ shutil.move(source_path, destination_path)
+
+ finally:
+ # Moves back to project dir
+ os.chdir(original_dir)
def main():
if ADD_MAINTAINER == "True":
diff --git a/tier4/{{cookiecutter.project_slug}}/.github/ISSUE_TEMPLATE/issue_report.md b/tier4/{{cookiecutter.project_slug}}/.github/ISSUE_TEMPLATE/issue_report.md
new file mode 100644
index 0000000..e170289
--- /dev/null
+++ b/tier4/{{cookiecutter.project_slug}}/.github/ISSUE_TEMPLATE/issue_report.md
@@ -0,0 +1,23 @@
+---
+name: Issue report
+about: Create an issue to help us improve
+title: ""
+labels: ""
+assignees: ""
+---
+
+## Issue Report
+
+module-name: One line summary of the issue (less than 72 characters)
+
+### Expected behavior
+
+As concisely as possible, describe the expected behavior.
+
+### Actual behavior
+
+As concisely as possible, describe the observed behavior.
+
+### Steps to reproduce the behavior
+
+List all relevant steps to reproduce the observed behavior.
diff --git a/tier4/{{cookiecutter.project_slug}}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/tier4/{{cookiecutter.project_slug}}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
new file mode 100644
index 0000000..1fcf8cf
--- /dev/null
+++ b/tier4/{{cookiecutter.project_slug}}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
@@ -0,0 +1,42 @@
+
+
+## module-name: One line description of your change (less than 72 characters)
+
+## Problem
+
+Explain the context and why you're making that change. What is the problem
+you're trying to solve? In some cases there is not a problem and this can be
+thought of being the motivation for your change.
+
+## Solution
+
+Describe the modifications you've done.
+
+## Result
+
+What will change as a result of your pull request? Note that sometimes this
+section is unnecessary because it is self-explanatory based on the solution.
+
+Some important notes regarding the summary line:
+
+- Describe what was done; not the result
+- Use the active voice
+- Use the present tense
+- Capitalize properly
+- Do not end in a period — this is a title/subject
+- Prefix the subject with its scope
+
+## Test Plan
+
+(Write your test plan here. If you changed any code, please provide us with
+clear instructions on how you verified your changes work.)
diff --git a/tier4/{{cookiecutter.project_slug}}/CONTRIBUTING.md b/tier4/{{cookiecutter.project_slug}}/CONTRIBUTING.md
index 6d4fd0d..588b98f 100644
--- a/tier4/{{cookiecutter.project_slug}}/CONTRIBUTING.md
+++ b/tier4/{{cookiecutter.project_slug}}/CONTRIBUTING.md
@@ -61,7 +61,7 @@ We follow the [GitHub Flow Workflow](https://guides.github.com/introduction/flow
### Writing Issues
-
### Writing Pull Requests
-
## Reviewing Pull Requests
@@ -150,11 +148,13 @@ authorship metadata will be preserved.
-->
-
## Shipping Releases
-
+Our general policy for shipping releases can be found in our [MAINTAINERS.md](./MAINTAINERS.md) file.
+We adhere to semantic versioning and automatic generation of changelogs
+as described in this file.
+
## Documentation
@@ -174,7 +174,7 @@ questions, just [shoot us an email](mailto:opensource@cms.hhs.gov).
### Security and Responsible Disclosure Policy
-*Submit a vulnerability:* Vulnerability reports can be submitted through [Bugcrowd](https://bugcrowd.com/cms-vdp). Reports may be submitted anonymously. If you share contact information, we will acknowledge receipt of your report within 3 business days.
+_Submit a vulnerability:_ Vulnerability reports can be submitted through [Bugcrowd](https://bugcrowd.com/cms-vdp). Reports may be submitted anonymously. If you share contact information, we will acknowledge receipt of your report within 3 business days.
For more information about our Security, Vulnerability, and Responsible Disclosure Policies, see [SECURITY.md](SECURITY.md).
@@ -182,4 +182,4 @@ For more information about our Security, Vulnerability, and Responsible Disclosu
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/) as indicated in [LICENSE](LICENSE).
-All contributions to this project will be released under the CC0 dedication. By submitting a pull request or issue, you are agreeing to comply with this waiver of copyright interest.
\ No newline at end of file
+All contributions to this project will be released under the CC0 dedication. By submitting a pull request or issue, you are agreeing to comply with this waiver of copyright interest.