Skip to content

Commit a8ee6d1

Browse files
Merge pull request #39 from DSACMS/DSACMS/nat/agency-index-examples
Add agency-index schema
2 parents 58927fe + 8efbe2c commit a8ee6d1

2 files changed

Lines changed: 58 additions & 1 deletion

File tree

docs/agency-index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
The SHARE IT Act requires federal agencies to publish metadata for their software projects. This metadata is compiled into an **agency-index.json** file, which serves as a centralized inventory of the agency's software portfolio.
44

5+
View the agency-index.json schema here: https://github.com/DSACMS/gov-codejson/tree/main/schemas/agency-index/schema-2.0.0.json
6+
57
To create an agency-index.json:
68
1. Identify GitHub organizations and other platforms where source code is hosted
79
2. Generate the agency-index.json using the tools below. Learn more about usage in [procedures.md](https://github.com/DSACMS/gov-codejson/blob/main/docs/procedures.md#generate-an-agency-indexjson-file-for-agencies)
@@ -11,4 +13,4 @@ To create an agency-index.json:
1113
- Agency's top level domain (TLD)
1214
- A GitHub repository
1315

14-
Agency index files are found here: https://github.com/DSACMS/code-gov/tree/main/agency-indexes
16+
More examples of agency index files can be found here: https://github.com/DSACMS/code-gov/tree/main/agency-indexes
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"title": "Code.gov Inventory",
4+
"description": "A federal source code catalog",
5+
"type": "object",
6+
"required": [
7+
"version",
8+
"measurementType",
9+
"agency",
10+
"releases"
11+
],
12+
"properties": {
13+
"agency": {
14+
"description": "The agency acronym for Clinger Cohen Act agency, as defined by the United States Government Manual.",
15+
"type": "string"
16+
},
17+
"measurementType": {
18+
"type": "object",
19+
"properties": {
20+
"ifOther": {
21+
"description": "A one- or two- sentence description of the measurement type used, if 'other' is selected as the value of 'method' field.",
22+
"type": "string"
23+
},
24+
"method": {
25+
"description": "An enumerated list of methods for measuring the open source requirement.",
26+
"type": "string",
27+
"enum": [
28+
"linesOfCode",
29+
"modules",
30+
"cost",
31+
"projects",
32+
"systems",
33+
"other"
34+
]
35+
}
36+
},
37+
"additionalProperties": false
38+
},
39+
"releases": {
40+
"type": "array",
41+
"items": {
42+
"allOf": [
43+
{
44+
"$ref": "../schema-2.0.0.json"
45+
}
46+
]
47+
},
48+
"additionalProperties": false
49+
},
50+
"version": {
51+
"description": "The version of the metadata schema in use. Implements semantic versioning 2.0.0 rules as defined at http://semver.org",
52+
"type": "string"
53+
}
54+
}
55+
}

0 commit comments

Comments
 (0)