From d29cac96917046cf18775b03c435385b2bd26fe6 Mon Sep 17 00:00:00 2001 From: ChronosX88 Date: Mon, 29 Jul 2019 16:53:50 +0400 Subject: [PATCH] docs: Refactor README (for Standard README compliance), add CONTRIBUTING file [WIP] --- CONTRIBUTING.md | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 66 +++++++++++++++++++++++++++++++---------- STATUS.md | 12 ++++++++ 3 files changed, 141 insertions(+), 15 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 STATUS.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..65e9058 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,78 @@ +# Contributing +When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. + +## Code +`// TODO` + +## Commit message format + +### Message Structure + +A commit messages consists of three distinct parts separated by a blank line: the title, an optional body and an optional footer. The layout looks like this: +``` +type: subject + +body + +footer +``` +The title consists of the type of the message and subject. + +### The Type + +The type is contained within the title and can be one of these types: +* feat: a new feature +* fix: a bug fix +* docs: changes to documentation +* style: formatting, missing semi colons, etc; no code change +* refactor: refactoring production code +* test: adding tests, refactoring test; no production code change +* chore: updating build tasks, package manager configs, etc; no production code change + +### The Subject + +Subjects should be no greater than 50 characters, should begin with a capital letter and do not end with a period. + +Use an imperative tone to describe what a commit does, rather than what it did. For example, use change; not changed or changes. + +### The Body + +Not all commits are complex enough to warrant a body, therefore it is optional and only used when a commit requires a bit of explanation and context. Use the body to explain the what and why of a commit, not the how. + +When writing a body, the blank line between the title and the body is required and you should limit the length of each line to no more than 72 characters. + +### The Footer + +The footer is optional and is used to reference issue tracker IDs. + +### Example Commit Message + +``` +feat: Summarize changes in around 50 characters or less + +More detailed explanatory text, if necessary. Wrap it to about 72 +characters or so. In some contexts, the first line is treated as the +subject of the commit and the rest of the text as the body. The +blank line separating the summary from the body is critical (unless +you omit the body entirely); various tools like `log`, `shortlog` +and `rebase` can get confused if you run the two together. + +Explain the problem that this commit is solving. Focus on why you +are making this change as opposed to how (the code explains that). +Are there side effects or other unintuitive consequenses of this +change? Here's the place to explain them. + +Further paragraphs come after blank lines. + + - Bullet points are okay, too + + - Typically a hyphen or asterisk is used for the bullet, preceded + by a single space, with blank lines in between, but conventions + vary here + +If you use an issue tracker, put references to them at the bottom, +like this: + +Resolves: #123 +See also: #456, #789 +``` \ No newline at end of file diff --git a/README.md b/README.md index 6d0c8bd..4f19737 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,56 @@ -Signaller -========= - -*Simple Matrix server written in Go.* - -Currently only memory backend are supported. +# Signaller +[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme) [![Build Status](https://travis-ci.com/nxshock/signaller.svg?branch=master)](https://travis-ci.com/nxshock/signaller) [![Coverage Status](https://coveralls.io/repos/github/nxshock/signaller/badge.svg)](https://coveralls.io/github/nxshock/signaller) -Implemented from [Client-Server API](https://matrix.org/docs/spec/client_server/latest): +> A Matrix homeserver, which written in Go language. -- [x] [5.4.1 GET /_matrix/client/r0/login](https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-login) -- [x] [5.4.2 POST /_matrix/client/r0/login](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-login) -- [x] [5.4.3 POST /_matrix/client/r0/logout](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-logout) -- [x] [5.4.4 POST /_matrix/client/r0/logout/all](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-logout-all) -- [x] [5.5.4 POST /_matrix/client/r0/account/password](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-account-password) -- [x] [5.7.1 GET /_matrix/client/r0/account/whoami](https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-account-whoami) -- [x] [6.1 GET /_matrix/client/r0/capabilities](https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-capabilities) -- [x] [10.4.1 GET /_matrix/client/r0/joined_rooms](https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-joined-rooms) +This is a lightweight (but full-featured) Matrix server, written in Go language, which has ease of deployment. The implementation is aimed specifically to HOMEservers (which are usually small, for example, Raspberry Pi). + +## Table of Contents + +- [Signaller](#Signaller) + - [Table of Contents](#Table-of-Contents) + - [Building](#Building) + - [Usage](#Usage) + - [Project status](#Project-status) + - [Maintainers](#Maintainers) + - [Contributing](#Contributing) + - [License](#License) + +## Building + +``` +$ git clone https://github.com/nxshock/signaller.git +$ cd signaller +$ make +``` + +## Usage + +```bash +# TODO +./signaller +``` + +## Project status + +Currect implemented Matrix APIs (version of specs: r0.5.0): see [STATUS](STATUS.md) document. + +## Maintainers + +[@nxshock](https://github.com/nxshock) +[@ChronosX88](https://github.com/ChronosX88) + +## Contributing + +See [the contributing file](CONTRIBUTING.md)! + +PRs accepted. + +Small note: If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification. + +## License + +MIT © 2019 nxshock \ No newline at end of file diff --git a/STATUS.md b/STATUS.md new file mode 100644 index 0000000..2e988f6 --- /dev/null +++ b/STATUS.md @@ -0,0 +1,12 @@ +# API implementation status + +Implemented from [Client-Server API](https://matrix.org/docs/spec/client_server/latest): + +- [x] [5.4.1 GET /_matrix/client/r0/login](https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-login) +- [x] [5.4.2 POST /_matrix/client/r0/login](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-login) +- [x] [5.4.3 POST /_matrix/client/r0/logout](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-logout) +- [x] [5.4.4 POST /_matrix/client/r0/logout/all](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-logout-all) +- [x] [5.5.4 POST /_matrix/client/r0/account/password](https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-account-password) +- [x] [5.7.1 GET /_matrix/client/r0/account/whoami](https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-account-whoami) +- [x] [6.1 GET /_matrix/client/r0/capabilities](https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-capabilities) +- [x] [10.4.1 GET /_matrix/client/r0/joined_rooms](https://matrix.org/docs/spec/client_server/latest#get-matrix-client-r0-joined-rooms) \ No newline at end of file