Hi (future) collaborator! **Table of Contents** - [Where to start?](#where-to-start) - [Development workflow](#development-workflow) - [Requirements](#requirements) - [Launch](#launch) - [Local build](#local-build) - [Commit message guidelines](#commit-message-guidelines) - [Revert](#revert) - [Type](#type) - [Scope](#scope) - [Subject](#subject) - [Body](#body) - [Footer](#footer) - [Releasing](#releasing) # Where to start? Have a fix or a new feature? [Search for corresponding issues](https://github.com/algolia/docsearch/issues) first then create a new one. # Development workflow ## Requirements To run this project, you will need: - Node.js >= v8.7.0, use nvm - [install instructions](https://github.com/creationix/nvm#install-script) - [Ruby](https://www.ruby-lang.org/en/) - [Bundler](http://bundler.io/) ## Launch ```sh npm install npm run dev:docs ``` Then go to: - http://localhost:4000/docsearch/ documentation website with autoreload - http://localhost:8080 local DocSearch example for easy hacking/additions/fixes ## Local build You might want to expose a local build to the outside to test things on real websites. To do so: ```sh npm run serve ``` Then files will be available at http://localhost:8080. Use [ngrok](https://ngrok.com/download) to then expose your build to the web. # Commit message guidelines We use [conventional changelog](https://github.com/ajoslin/conventional-changelog) to generate our changelog from our git commit messages. Here are the rules to write commit messages, they are the same than [angular/angular.js](https://github.com/angular/angular.js/blob/7c792f4cc99515ac27ed317e0e35e40940b3a400/CONTRIBUTING.md#commit-message-format). Each commit message consists of a **header**, a **body** and a **footer**. The header has a special format that includes a **type**, a **scope** and a **subject**: ```text ():