2020-03-30 05:35:23 +00:00
---
layout: default
permalink: /
nav_exclude: true
---
2019-04-15 05:07:19 +00:00
# Specifications for Status clients
2019-03-25 04:33:20 +00:00
2020-05-19 16:40:48 +00:00
![CI ](https://github.com/status-im/specs/workflows/CI/badge.svg )
2019-07-12 03:17:30 +00:00
This repository contains a list of specifications for implementing Status and
its various capabilities.
2019-04-15 05:07:19 +00:00
2020-03-31 05:30:41 +00:00
## How to contribute
1. Create an issue for a new Status Improvement Proposal (SIP) or some bug that you'd like to address
2020-05-19 16:40:48 +00:00
2. Create a corresponding PR and ping some existing SIP editors for review
2020-03-31 05:30:41 +00:00
If you need help, ask in #protocol at Status / Discord.
2020-05-21 04:17:29 +00:00
### Spellcheck
To run the spellchecker locally, you must install [pyspelling ](https://facelessuser.github.io/pyspelling/ ).
It can then be run with the following command:
```console
pyspelling -c spellcheck.yml
```
Words that should be ignored or are unrecognized must be added to the [wordlist ](./wordlist.txt ).
### Markdown Verification
We use [remark ](https://remark.js.org/ ) to verify our markdown. You can easily run this tool simply by using our `npm` package:
```console
npm install
npm run lint
```
2020-03-24 06:11:07 +00:00
## Spec lifecycle
2019-04-15 05:07:19 +00:00
2020-03-24 06:11:07 +00:00
Every spec has its own lifecycle that shows its maturity. We indicate this in a similar fashion to [COSS Lifecycle ](https://rfc.unprotocols.org/spec:2/COSS/ ):
![](assets/lifecycle.png)
2019-07-12 03:17:30 +00:00
2020-03-30 05:53:10 +00:00
At present (March 30, 2020) this means stable specs are what is in v1 of the Status App. Drafts and raw are work in progress specs.
2020-03-26 14:39:08 +00:00
2020-03-30 05:53:10 +00:00
## Status Improvement Proposals (SIPs)
2020-03-24 06:11:07 +00:00
2020-03-30 05:53:10 +00:00
The main specification for writing a Status client is [1/CLIENT ](https://specs.status.im/spec/1 ).
2020-03-24 06:11:07 +00:00
2020-03-30 05:53:10 +00:00
For all full index of all specs, see [specs.status.im ](https://specs.status.im/ ), especially stable specs.
2020-03-24 06:11:07 +00:00
2019-07-12 03:17:30 +00:00
## Protocol Research
2019-04-25 03:58:22 +00:00
2019-07-12 03:17:30 +00:00
These are protocols that are currently being researched. These are designed to
be useful outside of Status as well. To the extent that these protocols are used
within Status clients, they will show up as SIPs in the future.
2019-04-22 04:43:13 +00:00
2020-03-30 05:53:10 +00:00
To see more on this, please visit the current home: [vac protocol ](https://specs.vac.dev ).