oss-specs / specs

A service for exposing specification files in version control via a nice web UI
MIT License
2 stars 5 forks source link

Specs

A service for exposing specifications expressed as Gherkin feature files via a nice web UI.

Test Status Dependency Status Code Climate Test Coverage

Build Status

In the UI specify a https URL for a Git repo, and if that repo contains markdown or feature files they will be displayed. The idea is to make specifications stored in a repo visible and searchable, for people who aren't familiar with version control systems, and as part of a living documentation system.

If you want to run Specs as a service we recommend you use the Docker instructions given below.

We're trying out continuous delivery on this project so in theory the master branch is always stable. A demo is available at http://specs.sponte.uk/ , it may take a few seconds to spin up and will not persist data for long.

Development installation instructions

Installing as a service using npm

To install the latest version from npm

Installing as a service using Docker

Alternatively, get the container image here https://hub.docker.com/r/specs/specs/ and start it in whatever way you prefer.

Configuration

There are two types of possible configuration:

App wide configuration through environment variables

Project specific configuration via a specs.json file

The file should be in the root of your repository. The file an be named specs.json or .specs.json . See the .specs.json file in the root of this repository for examples.

Keys:

POST request endpoints

There is a POST request route defined on the deployed app root URL for requesting repos to be checked out or updated, for instance if the app is deployed to myspecs.example.com then the POST route for adding or updating the Specs repo would be https://myspecs.example.com/?repo_url=https%3A%2F%2Fgithub.com%2Foss-specs%2Fspecs.git . This can be useful for instance in configuring web-hooks in your Git server so that the information in your Specs deployment is updated whenever someone pushes new information your remote Git repo.

(C) 2015