@colophon/schema
Advanced tools
Comparing version 1.0.0 to 1.1.0
{ | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"name": "@colophon/schema", | ||
@@ -4,0 +4,0 @@ "description": "Standarized project metadata to specify the components, constructs and authorship of software", |
@@ -9,8 +9,57 @@ # Colophon [![version][npm-version]][npm-url] [![License][license-image]][license-url] [![Build Status][travis-image]][travis-url] | ||
- Codify business & operational concerns that are typically undocumented | ||
- A single source of truth for all non-technical data! | ||
- Catalogue all your software projects | ||
- Create reports on software health and ownership | ||
- quickly scan through github repos for human readable and business driven information rather than code | ||
- create reports on project health and ownership | ||
- Codify business & operational concerns that are typically undocumented | ||
- timelines and scheduled operations around the project _(e.g. sunset date)_ | ||
- none technical references to the project _(e.g. kanban board, budget)_ | ||
- Use in CI/CD tooling to anotate your artefacts | ||
- A single source of truth! | ||
- Correlation of application instances and source code: | ||
- Web pages can expose a `<meta>` tag that links to the project's `id`: | ||
```html | ||
<meta name="colophon" content="acme-app-id"/> | ||
``` | ||
- APIs respond with a header `Colophon` that links to the project's `id`: | ||
```http | ||
HTTP/1.1 200 OK | ||
Date: Fri, 25 May 2018 22:38:34 GMT | ||
Content-Type: application/json; charset=UTF-8 | ||
Content-Encoding: UTF-8 | ||
Colophon: acme-app-api | ||
... | ||
``` | ||
## Example | ||
This project's own [`colophon.yml`](.colophon.yml): | ||
```yaml | ||
version: 1.0.0 | ||
id: colophon-schema | ||
about: | ||
title: Colphon Schema | ||
description: Standarized project metadata to specify the components, constructs and authorship of software. | ||
contacts: | ||
humans: Ahmad Nassri <hi@ahmad.codes> | ||
schedule: | ||
launch: 2018-05-24T05:00:00.000Z | ||
environments: | ||
- type: git | ||
title: Source Code | ||
uri: https://github.com/ahmadnassri/colophon | ||
references: | ||
- title: Documentation | ||
uri: https://github.com/ahmadnassri/colophon | ||
``` | ||
## Specification | ||
@@ -38,2 +87,7 @@ | ||
## Credits | ||
- Original Idea: [@crimeminister](https://github.com/crimeminister) | ||
- Name: [@kumar](https://twitter.com/kumar) | ||
--- | ||
@@ -40,0 +94,0 @@ |
@@ -27,2 +27,3 @@ # Colophon Spec | ||
"version": "1.0.0", | ||
"id": "my-awesome-app", | ||
"about": {}, | ||
@@ -36,10 +37,11 @@ "contacts": {}, | ||
name | type | required | default | description | ||
---------------- | -------- | -------- | ------- | ------------------------------------------- | ||
**version** | `String` | 🗸 | `-` | Spec version. Format must follow [semver][] | ||
**about** | `Object` | 🗸 | `-` | [About Object](#about) | ||
**contacts** | `Object` | 🗸 | `-` | [Contacts Object](#contacts) | ||
**schedule** | `Object` | ✗ | `-` | [Schedule Object](#schedule) | ||
**environments** | `Array` | 🗸 | `-` | [Environments Array](#environments) | ||
**references** | `Object` | ✗ | `-` | [References Object](#references) | ||
name | type | required | default | description | ||
---------------- | -------- | -------- | ------- | ------------------------------------------------------- | ||
**version** | `String` | 🗸 | `-` | Spec version. Format must follow [semver][] | ||
**id** | `String` | ✗ | `-` | A unique, deterministic identifier for your application | ||
**about** | `Object` | 🗸 | `-` | [About Object](#about) | ||
**contacts** | `Object` | 🗸 | `-` | [Contacts Object](#contacts) | ||
**schedule** | `Object` | ✗ | `-` | [Schedule Object](#schedule) | ||
**environments** | `Array` | 🗸 | `-` | [Environments Array](#environments) | ||
**references** | `Object` | ✗ | `-` | [References Object](#references) | ||
@@ -52,3 +54,2 @@ ### `about` | ||
{ | ||
"id": "123456", | ||
"title": "semi", | ||
@@ -59,7 +60,6 @@ "description": "Extra semicolon" | ||
name | type | required | default | description | ||
--------------- | -------- | -------- | ------- | ------------------------------------------------------- | ||
**id** | `String` | ✗ | `-` | A unique, deterministic identifier for your application | ||
**title** | `String` | 🗸 | `-` | Unique title representing the application | ||
**description** | `String` | ✗ | `-` | Snippet describing the application in detail | ||
name | type | required | default | description | ||
--------------- | -------- | -------- | ------- | -------------------------------------------- | ||
**title** | `String` | 🗸 | `-` | Unique title representing the application | ||
**description** | `String` | ✗ | `-` | Snippet describing the application in detail | ||
@@ -66,0 +66,0 @@ ### `contact` |
@@ -48,2 +48,3 @@ { | ||
"version", | ||
"id", | ||
"about", | ||
@@ -63,2 +64,7 @@ "contacts", | ||
}, | ||
"id": { | ||
"title": "id", | ||
"description": "A unique, deterministic identifier for this application", | ||
"$ref": "#/definitions/nonEmptyString" | ||
}, | ||
"about": { | ||
@@ -69,7 +75,2 @@ "title": "About", | ||
"properties": { | ||
"id": { | ||
"title": "id", | ||
"description": "A unique, deterministic identifier for this application", | ||
"$ref": "#/definitions/nonEmptyString" | ||
}, | ||
"title": { | ||
@@ -76,0 +77,0 @@ "title": "title", |
20119
208
111