VCS Extension Specification
- Title: VCS
- Identifier: https://stac-extensions.github.io/vcs/v0.1.0/schema.json
- Field Name Prefix: vcs
- Scope: Catalog, Collection, Item, Link
- Extension Maturity Classification: Proposal
- Owner: @m-mohr
This document explains the VCS Extension to the SpatioTemporal Asset Catalog (STAC) specification.
It describes a version control system (VCS) reference, e.g. the Git repository, branch or commit
that a catalog or an application originates from. It is typically used on a link with the vcs
relation type (see the Application Extension).
- Examples:
- Item example: Shows the basic usage of the extension in a STAC Item
- JSON Schema
- Changelog
Fields
The fields in the table below can be used in these parts of STAC documents:
- Catalogs
- Collections
- Item Properties (incl. Summaries in Collections)
- Assets (for both Collections and Items, incl. Item Asset Definitions in Collections and Asset Templates)
- Links (incl. Link Templates)
- Bands
| Field Name | Type | Description |
|---|---|---|
| vcs:type | string | The type of version control system, e.g. git. |
| vcs:branch | string | The branch, e.g. main. |
| vcs:commit | string | The commit hash. |
| vcs:tag | string | The tag, e.g. v1.0.0. |
At least one of the fields must be provided where the extension is used.
Contributing
All contributions are subject to the STAC Specification Code of Conduct. For contributions, please follow the STAC specification contributing guide Instructions for running tests are copied here for convenience.
Running tests
The same checks that run as checks on PRs are part of the repository and can be run locally to verify that changes are valid.
To run tests locally, you'll need npm, which is a standard part of any node.js installation.
First you'll need to install everything with npm once. Just navigate to the root of this repository and on your command line run:
npm install
Then to check markdown formatting and test the examples against the JSON schema, you can run:
npm testThis will spit out the same texts that you see online, and you can then go and fix your markdown or examples.
If the tests reveal formatting problems with the examples, you can fix them with:
npm run format-examples