readme.md 1.65 KB
Newer Older
Mihkel Putrinš's avatar
readme  
Mihkel Putrinš committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# LRTools

Library to manage and organize tools.  
Being library for tools handling multilingual content, library itself supports multiple languages - translations might be added as needed.


## Basic functions

### Install a new tool

Installing a new tool should be as simple as submitting a link to public git repository. As git is currently industry standard, it's the single supported repository type. New tool will be mirrored as a read-only project in our own git repository.

#### Requirements for tools

- Tool have to be published as open source;
- Tool have to be [clearly licensed](http://choosealicense.com) or else we would be sailing in [muddy waters](http://choosealicense.com/no-license);
- All tools have to adopt [Semantic Versioning](http://semver.org/);
- Tool have to have informative readme.md file in it's root folder;
- Tool must have some kind on configuration file native to it's projects language/framework.


### Organize tools

A simple labeling system will do. Author of a tool can choose between existing labels and add new ones. As LRTools is multi-lingual, then new labels have to be translated into all currently supported languages before they become active.

### Read and publish tool's metadata

Tools could be written in different languages/frameworks, but most of them have some kind of configuration/project/metadata file with project version, name, author, etc. LRTools will add support for new frameworks/languages as needed.

### Fetch installed tools

LRTools itself is a nodejs server and has a maintenance schedule for checking repositories of installed tools. If a new commit/release is detected, it mirrors the changes to our repository, too.