{"id":50724724,"url":"https://github.com/calconnect/cc-template","last_synced_at":"2026-06-10T03:02:48.949Z","repository":{"id":360386955,"uuid":"1248758384","full_name":"CalConnect/cc-template","owner":"CalConnect","description":"GitHub repository template for CalConnect Metanorma document repositories","archived":false,"fork":false,"pushed_at":"2026-05-26T06:42:14.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-26T08:29:59.666Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CalConnect.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-25T02:55:15.000Z","updated_at":"2026-05-26T06:42:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CalConnect/cc-template","commit_stats":null,"previous_names":["calconnect/cc-template"],"tags_count":null,"template":true,"template_full_name":null,"purl":"pkg:github/CalConnect/cc-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalConnect%2Fcc-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalConnect%2Fcc-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalConnect%2Fcc-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalConnect%2Fcc-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CalConnect","download_url":"https://codeload.github.com/CalConnect/cc-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalConnect%2Fcc-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34134634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-10T03:02:42.757Z","updated_at":"2026-06-10T03:02:48.931Z","avatar_url":"https://github.com/CalConnect.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"= cc-template\n\nGitHub repository template for CalConnect Metanorma document repositories.\nSupports single-publishing (CalConnect only) and dual-publishing (CalConnect + IETF).\n\n== Quick start\n\n. Click **Use this template** on GitHub to create a new repository (e.g. `cc-icalendar-series`).\n. Replace `XXXXX` with the assigned document number:\n  * `sources/cc-XXXXX.adoc` → `sources/cc-51020.adoc`\n  * `metanorma.yml` → update the file list and collection name\n. For IETF dual-publishing, rename `sources/draft-ietf-calext-example-00.adoc` to match your IETF draft name.\n. Delete any files you don't need (IETF files if single-publishing, or vice versa).\n. Write your document in AsciiDoc under `sources/`.\n. Add the `metanorma-release` GitHub topic to the repository.\n. Push to `main` — the `generate` workflow builds a preview, the `release` workflow publishes to standards.calconnect.org.\n\n== Repository structure\n\n=== Single-publishing (CalConnect only)\n\n```\n├── .github/workflows/\n│   ├── generate.yml\n│   └── release.yml\n├── .gitignore\n├── Gemfile\n├── metanorma.yml\n├── metanorma.release.yml\n└── sources/\n    ├── cc-XXXXX.adoc             # CalConnect document\n    └── sections/                 # Sections\n```\n\n=== Dual-publishing (CalConnect + IETF)\n\n```\n├── .github/workflows/\n│   ├── generate.yml\n│   └── release.yml\n├── .gitignore\n├── Gemfile\n├── metanorma.yml                 # Lists both .adoc files\n├── metanorma.release.yml         # Only routes cc-* to channels\n└── sources/\n    ├── cc-XXXXX.adoc             # CalConnect document (released)\n    ├── draft-ietf-calext-example-00.adoc  # IETF internet-draft (not released)\n    ├── sections/                 # Shared sections (abstract, intro, scope, terms)\n    │   ├── 00-abstract.adoc\n    │   ├── 01-intro.adoc\n    │   ├── 01-scope.adoc\n    │   ├── 02-normative-references.adoc\n    │   ├── 03-terms.adoc\n    │   └── 99-acknowledgements.adoc\n    └── sections-ietf/            # IETF-specific sections (conventions, references)\n        ├── 02-conventions.adoc\n        └── 99-references.adoc\n```\n\nBoth documents share sections from `sections/` (abstract, intro, scope, terms).\nIETF-specific content goes in `sections-ietf/` (BCP 14 conventions, IETF-style references).\n\n== Document types\n\nSet the `:doctype:` attribute in your `.adoc` header:\n\n[cols=\"1m,2,2\",options=\"header\"]\n|===\n|Doctype |Description |Display category\n|`standard` |Normative standard |Standards, Specifications \u0026 Reports\n|`specification` |Technical specification |Standards, Specifications \u0026 Reports\n|`report` |Technical report |Standards, Specifications \u0026 Reports\n|`guide` |Implementation guide |Guides \u0026 Advisories\n|`advisory` |Advisory/recommendation |Guides \u0026 Advisories\n|`directive` |Organizational directive |Directives\n|`administrative` |Minutes, agendas, reports |Administrative\n|`amendment` |Amendment to a standard |Amendments \u0026 Technical Corrigenda\n|`technical-corrigendum` |Technical corrigendum |Amendments \u0026 Technical Corrigenda\n|===\n\n=== CalConnect document attributes\n\n[source,adoc]\n----\n= CalConnect Standard: TODO Document Title\n:title: TODO Document Title\n:docnumber: XXXXX\n:copyright-year: 2026\n:language: en\n:doctype: standard\n:edition: 1\n:status: working-draft\n:revdate: 2026-01-01\n:published-date: 2026-01-01\n:technical-committee: CALENDAR\n:fullname: TODO Author Name\n:surname: TODO\n:givenname: TODO\n:affiliation: TODO Organization\n:mn-document-class: cc\n:mn-output-extensions: xml,html,pdf,rxl\n:local-cache-only:\n:data-uri-image:\n----\n\nAdditional authors use `_2`, `_3` suffixes:\n\n[source,adoc]\n----\n:fullname_2: Second Author\n:surname_2: Author\n:givenname_2: Second\n:affiliation_2: Another Organization\n----\n\n=== IETF document attributes\n\n[source,adoc]\n----\n= TODO Document Title\n:doctype: internet-draft\n:name: draft-ietf-calext-example-00\n:status: standard\n:ipr: trust200902\n:area: Applications\n:intended-series: full-standard\n:revdate: 2026-01-01\n:fullname: TODO Author Name\n:lastname: TODO\n:forename_initials: TODO\n:affiliation: TODO Organization\n:address: TODO Street + \\\nTODO City, TODO State TODO Code + \\\nTODO Country\n:email: todo@example.com\n:mn-document-class: ietf\n:mn-output-extensions: xml,rfc,txt,html,rxl\n:local-cache-only:\n:data-uri-image:\n----\n\nKey differences from CalConnect documents:\n\n* `:mn-document-class: ietf` — uses IETF formatting rules\n* `:name:` — the IETF draft name (e.g. `draft-ietf-calext-valarm-extensions-01`)\n* `:ipr:`, `:area:`, `:intended-series:` — IETF-specific metadata\n* `:mn-output-extensions:` includes `rfc` and `txt`, not `pdf`\n* Author format uses `:lastname:` / `:forename_initials:` instead of `:surname:` / `:givenname:`\n* Author format includes `:address:` and `:email:` fields\n\n== Channel routing\n\n`metanorma.release.yml` controls which documents are released.\nOnly CalConnect documents (`cc-*`) are released to channels —\nIETF internet-drafts are published through the IETF process, not via metanorma-release.\n\n[source,yaml]\n----\ndocuments:\n  - pattern: \"cc-*\"\n    channels: [public/standards]\n----\n\nFor a multi-doctype repository with separate channels:\n\n[source,yaml]\n----\ndocuments:\n  - pattern: \"cc-s-*\"\n    channels: [public/standards]\n  - pattern: \"cc-r-*\"\n    channels: [public/reports]\n  - pattern: \"cc-a-*\"\n    channels: [public/admin]\n----\n\n== Stages\n\nSet the `:status:` attribute to control the publication stage:\n\n[cols=\"1m,1,2\",options=\"header\"]\n|===\n|Status |Stage code |Description\n|`working-draft` |20 |Initial working draft\n|`committee-draft` |30 |Committee review draft\n|`draft-standard` |40 |Draft standard\n|`final-draft` |50 |Final draft for public review\n|`published` |60 |Published document\n|===\n\nThe release workflow publishes all stages by default.\nDraft stages are released as GitHub pre-releases.\nThe aggregator site can optionally include or exclude drafts via `include_drafts` in its config.\n\n== CI workflows\n\n=== `generate.yml` — Preview\n\nBuilds the Metanorma output on every push and PR.\nUses the reusable workflow from `actions-mn/.github`.\n\n=== `release.yml` — Publication\n\nTriggers on pushes to `main` that modify files under `sources/`, `metanorma.yml`, or `metanorma.release.yml`.\nSupports manual dispatch with options:\n\n* `include-pattern` — glob to filter which documents to release\n* `force` — re-release even if content is unchanged\n\n== Local development\n\n[source,sh]\n----\nbundle install\nbundle exec metanorma site generate --agree-to-terms\n----\n\nThe generated output appears in `_site/`.\n\n== Publishing to standards.calconnect.org\n\nNo manual steps needed.\nThe https://github.com/CalConnect/standards.calconnect.org[aggregator site] discovers repositories by the `metanorma-release` GitHub topic and subscribes to their release channels.\nAs long as your repo:\n\n. Belongs to the `CalConnect` organization\n. Has the topic `metanorma-release`\n. Has a `metanorma.release.yml` with channel patterns\n\n...it will be automatically aggregated and published on https://standards.calconnect.org.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalconnect%2Fcc-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalconnect%2Fcc-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalconnect%2Fcc-template/lists"}