37 lines
1.5 KiB
Plaintext
37 lines
1.5 KiB
Plaintext
# Project card schema — typed self-definition for any project.
|
|
# Source of truth for display metadata, web assets, and portfolio publication.
|
|
#
|
|
# Each project maintains card.ncl locally and publishes (copies) to the
|
|
# portfolio repo alongside its assets/. The portfolio is self-contained —
|
|
# it does not depend on the original project repo being alive.
|
|
|
|
let source_type = [| 'Local, 'Remote, 'Historical |] in
|
|
|
|
let project_pub_status_type = [| 'Active, 'Beta, 'Maintenance, 'Archived, 'Stealth |] in
|
|
|
|
let project_card_type = {
|
|
id | String, # matches ontology_node in jpl DAG
|
|
name | String,
|
|
tagline | String,
|
|
description | String,
|
|
version | String | default = "",
|
|
status | project_pub_status_type,
|
|
source | source_type | default = 'Local,
|
|
url | String | default = "",
|
|
repo | String | default = "",
|
|
docs | String | default = "",
|
|
logo | String | default = "",
|
|
started_at | String | default = "",
|
|
tags | Array String | default = [],
|
|
tools | Array String | default = [],
|
|
features | Array String | default = [],
|
|
featured | Bool | default = false,
|
|
sort_order | Number | default = 0,
|
|
} in
|
|
|
|
{
|
|
SourceType = source_type,
|
|
ProjectPubStatus = project_pub_status_type,
|
|
ProjectCard = project_card_type,
|
|
}
|