<commit_before># dnscli

dnscli is an app that interacts with DNSimple API from the CLI.<commit_msg>Update documentation<commit_after># dnscli

dnscli is an app that interacts with DNSimple API from the CLI.

### Introduction

Basic operations such as delete, create or update your DNS entries should be quick. If you  
deploy a new server, it should be pretty fast to have your DNS resolution,
this is why I came up with ```dnscli```.

### Installation

To install simply run:
```
$ go get -u github.com/sgmac/dnscli
```
The only dependency so far is [github.com/codegangsta/cli](https://github.com/codegangsta/cli)

Make sure you have properly set your GO environment before using the command. [See the install instructions](http://golang.org/doc/install.html).

### Configuration

The default path for the configuration is located in ```$HOME/.dnscli/config.json```. The first time you run ```dnscli``` it creates an empty configuration, 
you need to update the information with your credentials.

```
{
    "ApiURL": "https://api.dnsimple.com/v1/domains/",
    "Domain": "example.com",
    "Mail": "<EMAIL>",
    "Token": "<PASSWORD>"
}
```

### Getting started

You can manage your records on a daily basis from the CLI, operations such as ```list, delete, create, update and get``` are fully supported.


```
$ dnscli records list
Type         Name                     TTL       RecordID     Content
A            .example.com             3600      2193074      2.3.4.5
A            test.example.com         3600      4712596      192.168.127.12
A            nil.example.com          3600      2253342      1.2.3.6
A            lab.example.com          3600      2796691      172.16.17.32
A            monitoring.example.com   3600      2253149      192.168.3.11
A            dashb.example.com        3601      2193521      192.168.127.12
A            wiki.example.com         3600      2193141      172.16.31.10
CNAME        mail.example.com         3600      3009110      www.coolmail.com
CNAME        www.example.com          3600      3642864      example.com
MX           .example.com             3600      3009108      in1-smtp.com
MX           .example.com             3600      3009109      in2-smtp.com
SPF          .example.com             3600      3009111      v=spf1 include
TXT          .example.com             3600      3009112      v=spf1 include
```

You can provide a different domain from the CLI.

```$ dnscli -d example2.com records  list```

For operations such as ```delete, get or update``` you need to provide the **RecordID** as an option.
{'fraction_non_alphanumeric': 0.08984830805134189, 'fraction_numerical': 0.08012446518864255, 'mean_word_length': 2.072879330943847, 'pattern_counts': {'":': 4, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 7, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '994989', 'n_tokens_mistral': 880, 'n_tokens_neox': 743, 'n_words': 271}