feat: add archive catalog and covers
This commit is contained in:
36
schemas/cover.schema.json
Normal file
36
schemas/cover.schema.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Archive Cover Sheet",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {"type": "string", "minLength": 1},
|
||||
"title": {"type": "string", "minLength": 1},
|
||||
"type": {"type": "string", "enum": ["repo", "project", "artifact"]},
|
||||
"status": {"type": "string", "enum": ["active", "archived", "legacy"]},
|
||||
"timeframe": {"type": "string"},
|
||||
"primary_repo": {"type": "string"},
|
||||
"linked_repos": {
|
||||
"type": "array",
|
||||
"items": {"type": "string"},
|
||||
"default": []
|
||||
},
|
||||
"summary": {"type": "string"},
|
||||
"why_it_matters": {"type": "string"},
|
||||
"risk_if_lost": {"type": "string"},
|
||||
"recommended_action": {"type": "string", "enum": ["keep-live", "snapshot", "deprecate", "merge"]}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"title",
|
||||
"type",
|
||||
"status",
|
||||
"timeframe",
|
||||
"primary_repo",
|
||||
"linked_repos",
|
||||
"summary",
|
||||
"why_it_matters",
|
||||
"risk_if_lost",
|
||||
"recommended_action"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
52
schemas/repos.schema.json
Normal file
52
schemas/repos.schema.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "BlackRoad OS Repos Catalog",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"repos": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {"type": "string", "minLength": 1},
|
||||
"full_name": {"type": "string", "minLength": 1},
|
||||
"org": {"type": "string", "minLength": 1},
|
||||
"description": {"type": "string"},
|
||||
"visibility": {"type": "string", "enum": ["public", "private"]},
|
||||
"status": {"type": "string", "enum": ["active", "archived", "experimental", "legacy"]},
|
||||
"primary_domain": {"type": ["string", "null"]},
|
||||
"home_pack": {"type": "string"},
|
||||
"created_at": {"type": "string"},
|
||||
"updated_at": {"type": "string"},
|
||||
"tags": {
|
||||
"type": "array",
|
||||
"items": {"type": "string"},
|
||||
"default": []
|
||||
},
|
||||
"owner_handles": {
|
||||
"type": "array",
|
||||
"items": {"type": "string"},
|
||||
"default": []
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"full_name",
|
||||
"org",
|
||||
"description",
|
||||
"visibility",
|
||||
"status",
|
||||
"primary_domain",
|
||||
"home_pack",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"tags",
|
||||
"owner_handles"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": ["repos"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
Reference in New Issue
Block a user