Skip to content

Commit

Permalink
Version and simple manifest
Browse files Browse the repository at this point in the history
  • Loading branch information
mrb committed Sep 18, 2015
1 parent de03b0d commit 2af0bc5
Showing 2 changed files with 31 additions and 2 deletions.
32 changes: 30 additions & 2 deletions SPEC.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Code Climate Engine specification
# Code Climate Engine Specification
## Version 0.1

**Note: This specification is a draft. We welcome your suggestions for improvement, and there may be bumps along the way!**
**Note: This specification is a living, versioned document. We welcome your participation and appreciate your patience as we finalize the platform.**

## Overview

@@ -182,6 +183,33 @@ Contents give more information about the issue's check, including a description

Some engines require the ability to refer to other source locations. For this reason, the Issue type has an optional `other_locations` field, which is an array of other `Location` items that this issue needs to refer to.

## Versioning

This specification is versioned. The current version is [in the repository](https://github.com/codeclimate/spec/blob/master/VERSION). Engines declare the version of the specification they are compatible with in the manifest file, described below.

## Manifest File

All engines must include a `manifest.json` file at `/manifest.json`. This file, known as the manifest, includes information that is necessary for the analysis runtime. Here is an example of a manifest:

```
{
"name": "govet",
"maintainer": {
"name": "Michael R. Bernstein",
"email": "mrb@codeclimate.com",
},
"spec_version": "0.0.1",
}
```

The fields in the manifest include:

* `name` (`String`) - the name of the package.
* `maintainer` (`Object`)
* `name` (`String`) - the name of the maintainer
* `email` (`String`) - the email address of the maintainer
* `spec_version` (`String`) - the most recent version of the specification which this engine supports

## Packaging

Engines are packaged and distributed as Docker images, which allows them to be
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1

0 comments on commit 2af0bc5

Please sign in to comment.