Skip to content

Version and simple manifest #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Sep 19, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 33 additions & 2 deletions SPEC.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Code Climate Engine specification
# Code Climate Engine Specification

**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

Expand Down Expand Up @@ -182,6 +182,37 @@ 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.

## Engine Config File

All engines must include an `engine.json` file at `/engine.json`. This file includes information that is necessary for the analysis runtime and metadata about the engine. Here is an example config:

```
{
"name": "govet",
"description": "govet was created by the Go team at Google, and examines Go source code and reports suspicious constructs, and potential bugs.",
"maintainer": {
"name": "Michael R. Bernstein",
"email": "[email protected]",
},
"version": "da5a2077",
"spec_version": "0.0.1",
}
```

The fields in the manifest include:

* `name` (`String`) - the name of the package
* `description` (`String`) - a description of the engine
* `maintainer` (`Object`) - data about the engine maintainer
* `name` (`String`) - the name of the maintainer
* `email` (`String`) - the email address of the maintainer
* `version` (`String`) - engine version, an arbitrary string maintained by the engine maintainer
* `spec_version` (`String`) - the version of the specification which this engine supports

## Packaging

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