-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrepolinter.json
828 lines (828 loc) · 48.2 KB
/
repolinter.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
{
"$schema": "https://raw.githubusercontent.com/todogroup/repolinter/master/rulesets/schema.json",
"version": 2,
"axioms": {
"linguist": "language",
"licensee": "license",
"packagers": "packager"
},
"rules": {
"license-file-exists": {
"level": "error",
"rule": {
"type": "file-existence",
"options": {
"globsAny": ["{docs/,.github/,}LICENSE*"],
"nocase": true,
"file-name": "LICENSE",
"file-content": ""
}
}
},
"security-file-exists": {
"level": "error",
"rule": {
"type": "file-existence",
"options": {
"globsAny": ["{docs/,.github/,}SECURITY.md"],
"file-name": "SECURITY.md",
"file-content": ""
}
}
},
"readme-file-exists": {
"level": "error",
"rule": {
"type": "file-existence",
"options": {
"globsAny": ["README.md"],
"nocase": true,
"file-name": "README.md",
"file-content": "# {name_of_project_here} \n<!-- This should be 1-3 sentence short description of the project that can be used as a 'one-liner' to describe the repo. A best practice is using this same language as the official 'description' on a GitHub repo landing page. --> \n"
}
}
},
"contributing-file-exists": {
"level": "error",
"rule": {
"type": "file-existence",
"options": {
"globsAny": ["{docs/,.github/,}CONTRIBUTING.md"],
"nocase": true,
"file-name": "CONTRIBUTING.md",
"file-content": "# Contributing Guidelines \n<!-- Basic instructions about where to send patches, check out source code, and get development support.--> \n"
}
}
},
"maintainers-file-exists": {
"level": "off",
"rule": {
"type": "file-existence",
"options": {
"globsAny": ["{docs/,.github/,}MAINTAINERS.md"],
"file-name": "MAINTAINERS.md",
"file-content": ""
}
}
},
"codeowners-file-exists": {
"level": "off",
"rule": {
"type": "file-existence",
"options": {
"globsAny": ["{docs/,.github/,}CODEOWNERS.md"],
"file-name": "CODEOWNERS.md",
"file-content": ""
}
}
},
"governance-file-exists": {
"level": "off",
"rule": {
"type": "file-existence",
"options": {
"globsAny": ["{docs/,.github/,}GOVERNANCE.md"],
"file-name": "GOVERNANCE.md",
"file-content": ""
}
}
},
"community-guidelines-file-exists": {
"level": "off",
"rule": {
"type": "file-existence",
"options": {
"globsAny": ["{docs/,.github/,}COMMUNITY_GUIDELINES.md"],
"file-name": "COMMUNITY_GUIDELINES.md",
"file-content": "# {name_of_project_here} Open Source Community Guidelines \nThis document contains principles and guidelines for participating in the {name_of_project_here} open source community. \n"
}
}
},
"code-of-conduct-file-exists": {
"level": "off",
"rule": {
"type": "file-existence",
"options": {
"globsAny": ["{docs/,.github/,}CODE_OF_CONDUCT.md"],
"file-name": "CODE_OF_CONDUCT.md",
"file-content": ""
}
}
},
"license-contains-license": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}LICENSE*"],
"content": "license",
"flags": "i",
"file-name": "LICENSE",
"file-content": "# License \nRemove this line and attach the license that is being used for this project. For helping choosing a license, visit this website: https://choosealicense.com/ \n"
}
}
},
"security-contains-security-and-responsible-disclosure-policy": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}SECURITY.md"],
"content": "Security and Responsible Disclosure Policy",
"flags": "i",
"file-name": "SECURITY.md",
"file-content": "# Security and Responsible Disclosure Policy \nThe Centers for Medicare & Medicaid Services is committed to ensuring the security of the American public by protecting their information from unwarranted disclosure. We want security researchers to feel comfortable reporting vulnerabilities they have discovered so we can fix them and keep our users safe. We developed our disclosure policy to reflect our values and uphold our sense of responsibility to security researchers who share their expertise with us in good faith. \n \n *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. \n \n Review the HHS Disclosure Policy and websites in scope: \n [https://www.hhs.gov/vulnerability-disclosure-policy/index.html](https://www.hhs.gov/vulnerability-disclosure-policy/index.html). \n \n This policy describes *what systems and types of research* are covered under this policy, *how to send* us vulnerability reports, and *how long* we ask security researchers to wait before publicly disclosing vulnerabilities. \n"
}
}
},
"readme-contains-about-the-project": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "About the Project",
"flags": "i",
"file-name": "README.md",
"file-content": "## About the Project \n<!-- This should be a longer-form description of the project. It can include history, background, details, problem statements, links to design documents or other supporting materials, or any other information/context that a user or contributor might be interested in. --> \n"
}
}
},
"readme-contains-project-vision": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Project Vision",
"flags": "i",
"file-name": "README.md",
"file-content": "## Project Vision \n<!-- Provide the long-term goals and aspirations for this project. --> \n"
}
}
},
"readme-contains-project-mission": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Project Mission",
"flags": "i",
"file-name": "README.md",
"file-content": "## Project Mission \n<!-- Provide the core mission and objectives driving this project. --> \n"
}
}
},
"readme-contains-agency-mission": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Agency Mission",
"flags": "i",
"file-name": "README.md",
"file-content": "## Agency Mission \n<!-- Provide the mission of the agency and how this project aligns. --> \n"
}
}
},
"readme-contains-team-mission": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Team Mission",
"flags": "i",
"file-name": "README.md",
"file-content": "## Team Mission \n<!-- Provide the team's mission and how they work together. --> \n"
}
}
},
"readme-contains-core-team": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Core Team",
"flags": "i",
"file-name": "README.md",
"file-content": "## Core Team \nAn up-to-date list of core team members can be found in [MAINTAINERS.md](MAINTAINERS.md). At this time, the project is still building the core team and defining roles and responsibilities. We are eagerly seeking individuals who would like to join the community and help us define and fill these roles. \n"
}
}
},
"readme-contains-documentation-index": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Documentation Index",
"flags": "i",
"file-name": "README.md",
"file-content": "## Documentation Index \n<!-- TODO: This is a like a 'table of contents' for your documentation. Tier 0/1 projects with simple README.md files without many sections may or may not need this, but it is still extremely helpful to provide 'bookmark' or 'anchor' links to specific sections of your file to be referenced in tickets, docs, or other communication channels. --> \n **{list of .md at top directory and descriptions}** \n"
}
}
},
"readme-contains-repository-structure": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Repository Structure",
"flags": "i",
"file-name": "README.md",
"file-content": "## Repository Structure \n<!-- TODO: Using the 'tree -d' command can be a helpful way to generate this information, but, be sure to update it as the project evolves and changes over time. --> \n <!--TREE START--><!--TREE END--> \n **{list directories and descriptions}** \n"
}
}
},
"readme-contains-development-and-software-delivery-lifecycle": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Development and Software Delivery Lifecycle",
"flags": "i",
"file-name": "README.md",
"file-content": "## Development and Software Delivery Lifecycle \nThe following guide is for members of the project team who have access to the repository as well as code contributors. The main difference between internal and external contributions is that external contributors will need to fork the project and will not be able to merge their own pull requests. For more information on contributing, see: [CONTRIBUTING.md](./CONTRIBUTING.md). \n"
}
}
},
"readme-contains-local-development": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Local Development",
"flags": "i",
"file-name": "README.md",
"file-content": "## Local Development \n<!--- TODO - with example below: \nThis project is monorepo with several apps. Please see the [api](./api/README.md) and [frontend](./frontend/README.md) READMEs for information on spinning up those projects locally. Also see the project [documentation](./documentation) for more info. --> \n"
}
}
},
"readme-contains-coding-style-and-linters": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Coding Style and Linters",
"flags": "i",
"file-name": "README.md",
"file-content": "## Coding Style and Linters \n<!-- TODO - Add the repo's linting and code style guidelines --> \n Each application has its own linting and testing guidelines. Lint and code tests are run on each commit, so linters and tests should be run locally before commiting. \n"
}
}
},
"readme-contains-branching-model": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Branching Model",
"flags": "i",
"file-name": "README.md",
"file-content": "## Branching Model \n <!-- TODO - with example below:\n This project follows [trunk-based development](https://trunkbaseddevelopment.com/), which means:\n\n* Make small changes in [short-lived feature branches](https://trunkbaseddevelopment.com/short-lived-feature-branches/) and merge to `main` frequently.\n* Be open to submitting multiple small pull requests for a single ticket (i.e. reference the same ticket across multiple pull requests).\n* Treat each change you merge to `main` as immediately deployable to production. Do not merge changes that depend on subsequent changes you plan to make, even if you plan to make those changes shortly.\n* Ticket any unfinished or partially finished work.\n* Tests should be written for changes introduced, and adhere to the text percentage threshold determined by the project.\n\nThis project uses **continuous deployment** using [Github Actions](https://github.com/features/actions) which is configured in the [./github/workflows](.github/workflows) directory.\n\nPull-requests are merged to `main` and the changes are immediately deployed to the development environment. Releases are created to push changes to production.--> \n"
}
}
},
"readme-contains-contributing": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Contributing",
"flags": "i",
"file-name": "README.md",
"file-content": "## Contributing \nThank you for considering contributing to an Open Source project of the US Government! For more information about our contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md). \n"
}
}
},
"readme-contains-codeowners": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Codeowners",
"flags": "i",
"file-name": "README.md",
"file-content": "## Codeowners \nThe contents of this repository are managed by **{responsible organization(s)}**. Those responsible for the code and documentation in this repository can be found in [CODEOWNERS.md](CODEOWNERS.md). \n"
}
}
},
"readme-contains-community": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Community",
"flags": "i",
"file-name": "README.md",
"file-content": "## Community \nThe {name_of_project_here} team is taking a community-first and open source approach to the product development of this tool. We believe government software should be made in the open and be built and licensed such that anyone can download the code, run it themselves without paying money to third parties or using proprietary software, and use it as they will.\n\nWe know that we can learn from a wide variety of communities, including those who will use or will be impacted by the tool, who are experts in technology, or who have experience with similar technologies deployed in other spaces. We are dedicated to creating forums for continuous conversation and feedback to help shape the design and development of the tool.\n\nWe also recognize capacity building as a key part of involving a diverse open source community. We are doing our best to use accessible language, provide technical and process documents, and offer support to community members with a wide variety of backgrounds and skillsets. \n"
}
}
},
"readme-contains-community-guidelines": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Community Guidelines",
"flags": "i",
"file-name": "README.md",
"file-content": "## Community Guidelines \nPrinciples and guidelines for participating in our open source community are can be found in [COMMUNITY_GUIDELINES.md](COMMUNITY_GUIDELINES.md). Please read them before joining or starting a conversation in this repo or one of the channels listed below. All community members and participants are expected to adhere to the community guidelines and code of conduct when participating in community spaces including: code repositories, communication channels and venues, and events. \n"
}
}
},
"readme-contains-governance": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Governance",
"flags": "i",
"file-name": "README.md",
"file-content": "## Governance \n<!-- TODO: Make a short statement about how the project is governed (formally, or informally) and link to the GOVERNANCE.md file.-->\nInformation about how the {{ cookiecutter.project_name }} community is governed may be found in [GOVERNANCE.md](GOVERNANCE.md). \n"
}
}
},
"readme-contains-feedback": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Feedback",
"flags": "i",
"file-name": "README.md",
"file-content": "## Feedback \nIf you have ideas for how we can improve or add to our capacity building efforts and methods for welcoming people into our community, please let us know at **{contact_email}**. If you would like to comment on the tool itself, please let us know by filing an **issue on our GitHub repository.** \n"
}
}
},
"readme-contains-glossary": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Glossary",
"flags": "i",
"file-name": "README.md",
"file-content": "## Glossary \nInformation about terminology and acronyms used in this documentation may be found in [GLOSSARY.md](GLOSSARY.md). \n"
}
}
},
"readme-contains-policies": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Policies",
"flags": "i",
"file-name": "README.md",
"file-content": "## Policies \n"
}
}
},
"readme-contains-open-source-policy": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Open Source Policy",
"flags": "i",
"file-name": "README.md",
"file-content": "### Open Source Policy \nWe adhere to the [CMS Open Source Policy](https://github.com/CMSGov/cms-open-source-policy). If you have any questions, just [shoot us an email](mailto:opensource@cms.hhs.gov). \n"
}
}
},
"readme-contains-security-and-responsible-disclosure-policy": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Security and Responsible Disclosure Policy",
"flags": "i",
"file-name": "README.md",
"file-content": "### Security and Responsible Disclosure Policy \n*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.\nFor more information about our Security, Vulnerability, and Responsible Disclosure Policies, see [SECURITY.md](SECURITY.md). \n"
}
}
},
"readme-contains-public-domain": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Public domain",
"flags": "i",
"file-name": "README.md",
"file-content": "## Public Domain \nThis 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).\nAll 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.\n"
}
}
},
"readme-contains-sbom": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["README.md"],
"content": "Software Bill of Materials",
"flags": "i",
"file-name": "README.md",
"file-content": "### Software Bill of Materials (SBOM) \nA Software Bill of Materials (SBOM) is a formal record containing the details and supply chain relationships of various components used in building software.\nIn the spirit of [Executive Order 14028 - Improving the Nation's Cyber Security](https://www.gsa.gov/technology/it-contract-vehicles-and-purchasing-programs/information-technology-category/it-security/executive-order-14028), a SBOM for this repository is provided here: https://github.com/{repo_org}/{repo_name}/network/dependencies.\nFor more information and resources about SBOMs, visit: https://www.cisa.gov/sbom."
}
}
},
"contributing-contains-how-to-contribute": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "How to Contribute",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "We're so thankful you're considering contributing to an [open source project of the U.S. government](https://code.gov/)! If you're unsure about anything, just ask -- or submit the issue or pull request anyway. The worst that can happen is you'll be politely asked to change something. We appreciate all friendly contributions.\n \n We encourage you to read this project's CONTRIBUTING policy (you are here), its [LICENSE](LICENSE.md), and its [README](README.md). \n"
}
}
},
"contributing-contains-getting-started": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Getting Started",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "## Getting Started \n<!--- TODO: If you have 'good-first-issue' or 'easy' labels for newcomers, mention them here.--> \n"
}
}
},
"contributing-contains-team-specific-guidelines": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Team Specific Guidelines",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Team Specific Guidelines \n<!-- TODO: This section helps contributors understand any team structure in the project (formal or informal.) Encouraged to point towards the MAINTAINERS.md file for further details.--> \n"
}
}
},
"contributing-contains-building-dependencies": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Building dependencies",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Building Dependencies \n<!--- TODO: This step is often skipped, so don't forget to include the steps needed to install on your platform. If you project can be multi-platform, this is an excellent place for first time contributors to send patches!--> \n"
}
}
},
"contributing-contains-building-the-project": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Building the Project",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Building the Project \n<!--- TODO: Be sure to include build scripts and instructions, not just the source code itself! -->\n"
}
}
},
"contributing-contains-workflow-and-branching": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Workflow and Branching",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Workflow and Branching \n<!--- TODO: Workflow Example\nWe follow the [GitHub Flow Workflow](https://guides.github.com/introduction/flow/)\n1. Fork the project\n2. Check out the `main` branch\n3. Create a feature branch\n4. Write code and tests for your change\n5. From your branch, make a pull request against `{{ cookiecutter.project_org }}/{{ cookiecutter.project_repo_name }}/main`\n6. Work with repo maintainers to get your change reviewed\n7. Wait for your change to be pulled into `{{ cookiecutter.project_org }}/{{ cookiecutter.project_repo_name }}/main`\n8. Delete your feature branch\n-->\n"
}
}
},
"contributing-contains-testing-conventions": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Testing Conventions",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Testing Conventions \n<!--- TODO: Discuss where tests can be found, how they are run, and what kind of tests/coverage strategy and goals the project has. --> \n"
}
}
},
"contributing-contains-coding-style-and-linters": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Coding Style and Linters",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Coding Style and Linters \n<!--- TODO: HIGHLY ENCOURAGED. Specific tools will vary between different languages/frameworks (e.g. Black for python, eslint for JavaScript, etc...)\n1. Mention any style guides you adhere to (e.g. pep8, etc...)\n2. Mention any linters your project uses (e.g. flake8, jslint, etc...)\n3. Mention any naming conventions your project uses (e.g. Semantic Versioning, CamelCasing, etc...)\n4. Mention any other content guidelines the project adheres to (e.g. plainlanguage.gov, etc...)\n--> \n"
}
}
},
"contributing-contains-writing-issues": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "ISSUE_TEMPLATE.md | Issues",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Writing Issues \n<!--- TODO: Example Issue Guides\n When creating an issue please try to adhere to the following format:\n module-name: One line summary of the issue (less than 72 characters)\n ### Expected behavior\n As concisely as possible, describe the expected behavior.\n ### Actual behavior\n As concisely as possible, describe the observed behavior.\n ### Steps to reproduce the behavior\n List all relevant steps to reproduce the observed behavior.\n see our .github/ISSUE_TEMPLATE.md for more examples.\n -->\n"
}
}
},
"contributing-contains-writing-pull-requests": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Writing Pull Requests",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Writing Pull Requests \n<!-- TODO: Make a brief statement about where to file pull/merge requests, and conventions for doing so. Link to PULL_REQUEST_TEMPLATE.md file.\n Comments should be formatted to a width no greater than 80 columns.\n Files should be exempt of trailing spaces.\n We adhere to a specific format for commit messages. Please write your commit messages along these guidelines. Please keep the line width no greater than 80 columns (You can use `fmt -n -p -w 80` to accomplish this).\n module-name: One line description of your change (less than 72 characters)\n Problem\n 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.\n Solution\n Describe the modifications you've done.\n Result\n 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.\n Some important notes regarding the summary line:\n * Describe what was done; not the result\n * Use the active voice\n * Use the present tense\n * Capitalize properly\n * Do not end in a period — this is a title/subject\n * Prefix the subject with its scope\n see our .github/PULL_REQUEST_TEMPLATE.md for more examples.\n -->\n"
}
}
},
"contributing-contains-reviewing-pull-requests": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Reviewing Pull Requests",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Reviewing Pull Requests \n<!--- TODO: Make a brief statement about how pull-requests are reviewed, and who is doing the reviewing. Linking to MAINTAINERS.md can help.\n Code Review Example\n The repository on GitHub is kept in sync with an internal repository at github.cms.gov. For the most part this process should be transparent to the project users, but it does have some implications for how pull requests are merged into the codebase.\n When you submit a pull request on GitHub, it will be reviewed by the project community (both inside and outside of github.cms.gov), and once the changes are approved, your commits will be brought into github.cms.gov's internal system for additional testing. Once the changes are merged internally, they will be pushed back to GitHub with the next sync.\n This process means that the pull request will not be merged in the usual way. Instead a member of the project team will post a message in the pull request thread when your changes have made their way back to GitHub, and the pull request will be closed.\n The changes in the pull request will be collapsed into a single commit, but the authorship metadata will be preserved.\n -->\n"
}
}
},
"contributing-contains-shipping-releases": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Shipping Releases",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "## Shipping Releases \n<!-- TODO: What cadence does your project ship new releases? (e.g. one-time, ad-hoc, periodically, upon merge of new patches) Who does so? --> \n"
}
}
},
"contributing-contains-documentation": {
"level": "warning",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Documentation",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "## Documentation \n<!-- TODO: Documentation Example \nWe also welcome improvements to the project documentation or to the existing docs. Please file an [issue](https://github.com/{{ cookiecutter.project_org }}/{{ cookiecutter.project_repo_name }}/issues).\n --> \n"
}
}
},
"contributing-contains-policies": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Policies",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "## Policies \n"
}
}
},
"contributing-contains-open-source-policy": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Open Source Policy",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Open Source Policy \nWe adhere to the [CMS Open Source Policy](https://github.com/CMSGov/cms-open-source-policy). If you have any questions, just [shoot us an email](mailto:opensource@cms.hhs.gov).\n"
}
}
},
"contributing-contains-security-and-responsible-disclosure-policy": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Security and Responsible Disclosure Policy",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "### Security and Responsible Disclosure Policy \n*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.\n For more information about our Security, Vulnerability, and Responsible Disclosure Policies, see [SECURITY.md](SECURITY.md).\n"
}
}
},
"contributing-contains-public-domain": {
"level": "error",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CONTRIBUTING.md"],
"content": "Public domain",
"flags": "i",
"file-name": "CONTRIBUTING.md",
"file-content": "## Public Domain \nThis 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).\n 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.\n"
}
}
},
"maintainers-contains-maintainers": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}MAINTAINERS.md"],
"content": "Maintainers",
"flags": "i",
"file-name": "MAINTAINERS.md",
"file-content": "## Maintainers \n<!-- TODO: Who are the points of contact in your project who are responsible/accountable for the project? This can often be an engineering or design manager or leader, who may or may not be the primary maintainers of the project. -->\n This is a list of maintainers for this project. See [CODEOWNERS.md](./CODEOWNERS.md) for list of reviewers for different parts of the codebase. Team members include:\n"
}
}
},
"maintainers-contains-maintainers-list": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}MAINTAINERS.md"],
"content": "Maintainers List:",
"flags": "i",
"file-name": "MAINTAINERS.md",
"file-content": "## Maintainers List: \n<!-- TODO: What groups/domains are maintainers a part of? Does your project have domains/areas that are maintained by specific people? List @USERNAMES directly, or any @ALIASES for groups/teams. -->\n - \n"
}
}
},
"maintainers-contains-approvers-list": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}MAINTAINERS.md"],
"content": "Approvers:",
"flags": "i",
"file-name": "MAINTAINERS.md",
"file-content": "## Approvers:\n - \n"
}
}
},
"maintainers-contains-reviewers-list": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}MAINTAINERS.md"],
"content": "Reviewers:",
"flags": "i",
"file-name": "MAINTAINERS.md",
"file-content": "## Reviewers:\n - \n\n| Roles | Responsibilities | Requirements | Defined by |\n| -------------|:-----------------------------------------|:-----------------------------------------------|:---------------------------------------|\n| member | active contributor in the community | multiple contributions to the project. | PROJECT GitHub org Committer Team |\n| reviewer | review contributions from other members | history of review and authorship in a sub-project | MAINTAINERS file reviewer entry, and GitHub Org Triage Team |\n| approver | approve accepting contributions | highly experienced and active reviewer + contributor to a sub-project | MAINTAINERS file approver entry and GitHub Triage Team |\n| lead | set direction and priorities for a sub-project | demonstrated responsibility and excellent technical judgement for the sub-project | MAINTAINERS file owner entry and GitHub Org Admin Team |\n"
}
}
},
"governance-contains-governance": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}GOVERNANCE.md"],
"content": "Governance",
"flags": "i",
"file-name": "GOVERNANCE.md",
"file-content": "# Governance \n<!-- TODO: Starting at Tier 3 GOVERNANCE.md has basic language about early community governance, how the project make decisions, and how contributors are elevated through the leadership process if any (e.g. joining teams, getting maintainer status, etc...)--> \n This project is governed by our [Community Guidelines](COMMUNITY_GUIDELINES.md) and [Code of Conduct](CODE_OF_CONDUCT.md). \n"
}
}
},
"code-owners-contains-list-of-users": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CODEOWNERS.md"],
"content": "Code Owners",
"flags": "i",
"file-name": "CODEOWNERS.md",
"file-content": "#Code Owners \n<!-- TODO: Who are the points of contact in your project who are responsible/accountable for the project? This can often be an engineering or design manager or leader, who may or may not be the primary maintainers of the project. List them by GitHub Username--> \n"
}
}
},
"code-owners-contains-repo-domains": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CODEOWNERS.md"],
"content": "documentation | frontend | backend | Repo Domains",
"flags": "i",
"file-name": "CODEOWNERS.md",
"file-content": "## Repository Domains\n <!--\nThe Repo Domains section of your CODEOWNERS.md file helps manage code review responsibilities efficiently. Each domain represents a different aspect of the repository, such as documentation, frontend, backend, DevOps, testing, etc. In this section, list each domain and assign the appropriate GitHub usernames or teams responsible for that domain. This ensures that pull requests (PRs) are reviewed by the right experts, maintaining high code quality and relevance.\nFor example:\n/docs/ @doc-team @johnsmith @janedoe\n/frontend/ @frontend-team @alice @bob\n/backend/ @backend-team @charlie @dana\nFurthermore, GitHub teams are a good feature for managing groups of contributors who need to be notified about specific domains within a repository. By creating and using GitHub teams, you can allow contributors to ping multiple relevant experts simultaneously.\nTo set up GitHub teams:\n- Navigate to your organization's settings and select 'Teams'.\n- Create a new team for each domain, such as @frontend-team, @backend-team, or @doc-team.\n- Add the relevant members to each team. Ensure that the team includes all the individuals who should be notified about PRs in their domain.\n- When filling out the Repo Domains section in your CODEOWNERS.md file, use the team handles instead of or alongside individual usernames. This way, when a contributor opens a PR affecting a specific domain, they can simply tag the team, and every member of that team will be notified.\n--> \n"
}
}
},
"community-guidelines-contains-principles": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}COMMUNITY_GUIDELINES.md"],
"content": "Principles",
"flags": "i",
"file-name": "COMMUNITY_GUIDELINES.md",
"file-content": "## Principles \nThese principles guide our data, product, and process decisions, architecture, and approach.\n- Open means transparent and participatory.\n- We take a modular and modern approach to software development.\n- We build open-source software and open-source process.\n- We value ease of implementation.\n- Fostering community includes building capacity and making our software and processes accessible to participants with diverse backgrounds and skillsets.\n- Data (and data science) is as important as software and process. We build open data sets where possible.\n- We strive for transparency for algorithms and places we might be introducing bias. \n"
}
}
},
"community-guidelines-contains-community-guidelines": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}COMMUNITY_GUIDELINES.md"],
"content": "Community Guidelines",
"flags": "i",
"file-name": "COMMUNITY_GUIDELINES.md",
"file-content": "## Community Guidelines \nAll community members are expected to adhere to our [Code of Conduct](CODE_OF_CONDUCT.md).\nInformation on contributing to this repository is available in our [Contributing file](CONTRIBUTING.md).\nWhen participating in {{ cookiecutter.project_name }} open source community conversations and spaces, we ask individuals to follow the following guidelines:\n- When joining a conversation for the first time, please introduce yourself by providing a brief intro that includes:\n - your related organization (if applicable)\n - your pronouns\n - your superpower, and how you hope to use it for {{ cookiecutter.project_name }}\n- Embrace a culture of learning, and educate each other. We are all entering this conversation from different starting points and with different backgrounds. There are no dumb questions.\n- Take space and give space. We strive to create an equitable environment in which all are welcome and able to participate. We hope individuals feel comfortable voicing their opinions and providing contributions and will do our best to recognize and make space for individuals who may be struggling to find space here. Likewise, we expect individuals to recognize when they are taking up significant space and take a step back to allow room for others.\n<!-- TODO: Add if your repo has a community chat - Be present when joining synchronous conversations such as our community chat. Why be here if you're not going to *be here*? -->\n- Be respectful.\n- Default to positive. Assume others' contributions are legitimate and valuable and that they are made with good intention.\n"
}
}
},
"community-guidelines-contains-acknowledgements": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}COMMUNITY_GUIDELINES.md"],
"content": "Acknowledgements",
"flags": "i",
"file-name": "COMMUNITY_GUIDELINES.md",
"file-content": "## Acknowledgements \nThis COMMUNITY_GUIDELINES.md was originally forked from the [United States Digital Service](https://usds.gov) [Justice40](https://thejustice40.com) open source [repository](https://github.com/usds/justice40-tool), and we would like to acknowledge and thank the community for their contributions.\n"
}
}
},
"code-of-conduct-contains-contributor-code-of-conduct": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CODE_OF_CONDUCT.md"],
"content": "Contributor Code of Conduct",
"flags": "i",
"file-name": "CODE_OF_CONDUCT.md",
"file-content": "## Contributor Code of Conduct \nAs contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. \n We are committed to making participation in this project a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity, expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion. \n Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. \n Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct. \n Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers at opensource@cms.hhs.gov. \n This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/) \n"
}
}
},
"code-of-conduct-contains-acknowledgements": {
"level": "off",
"rule": {
"type": "file-contents",
"options": {
"globsAll": ["{docs/,.github/,}CODE_OF_CONDUCT.md"],
"content": "Acknowledgements",
"flags": "i",
"file-name": "CODE_OF_CONDUCT.md",
"file-content": "## Acknowledgements \nThis CODE_OF_CONDUCT.md was originally forked from the [United States Digital Service](https://usds.gov) [Justice40](https://thejustice40.com) open source [repository](https://github.com/usds/justice40-tool), and we would like to acknowledge and thank the community for their contributions. \n"
}
}
}
}
}