UNPKG

4.28 kBMarkdownView Raw
1# standup-boy [![Build Status](https://travis-ci.org/vikepic/standup-boy.svg?branch=master)](https://travis-ci.org/vikepic/standup-boy) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo)
2
3> A simple module to create daily standup texts :clock10:
4
5`standup-boy` helps you create daily standup texts fast and easy.
6It prompts you the usual stuff for a daily standup, then outputs a nicely-formatted, emoji-ready text for you to use in whatever platform you desire.
7Assumes markdown formatting.
8
9## Install
10
11```
12$ npm install --global standup-boy
13```
14
15```
16$ standup-boy --help
17
18 Usage
19 standup-boy [--path | -p | --project projectName]
20
21 Examples
22 $ standup-boy
23 ? What did I accomplish yesterday? Something!
24 ? What will I do today? Something Else!
25 ? What obstacles are impeding my progress? Any info I need or want to share? Not much...
26
27 :triumph: **`What did I accomplish yesterday`**
28 Something!
29 :scream_cat: **`What will I do today`**
30 Something Else!
31 :cry: **`What obstacles are impeding my progress? Any info I need or want to share?`**
32 Not much...
33 Copied the result to the clipboard!
34
35 Options
36 --path -p Get the path to the configuration file (read-only).
37 --project Specify the name of the project you want to send the message to.
38```
39
40## Configuration
41
42You can obtain the path to the configuration file by simply running `standup-boy --path` (read-only). Edit the resulting file to override the defaults.
43
44Mind that this configuration only alters the final text that gets copied into your clipboard.
45
46### Templates
47
48One can configure `standup-boy` to replace the default templates for the resulting standup text.
49
50An example of an alternative configuration, written in JSON format:
51
52```json
53{
54 "yesterday": "Hey, you! What did you do yesterday?",
55
56 "today": "Oh really? And what are you gonna do today?",
57
58 "obstacles": "Did you find any obstacles along the way, tho?"
59}
60```
61
62### Replace words
63
64`standup-boy` can also be configured to search and replace certain keywords for, for example, automatically link to JIRA tasks. RegExp syntax is supported.
65
66If you want to introduce the matched string into the replaced value, you can add the `%VAL%` keyword anywhere in your resulting text to interpolate the matched variable into it.
67
68An example of an alternative configuration, written in JSON format:
69
70```json
71{
72 "replace" :
73 {
74 "JIRA-[0-9]*": "[%VAL%](https://your-jira.url/%VAL%)"
75 }
76}
77```
78
79This results in this text:
80
81```
82I completed JIRA-220 today!
83```
84
85Being replaced by:
86
87```
88I completed [JIRA-220](https://your-jira.url/JIRA-220) today!
89```
90
91If translated to markdown, a nice link appears in place of the old, lame, jira task name.
92
93### Slack / Mattermost integration
94
95This module can also be configured to automatically send the resulting message to your desired slack / mattermost channel once you've answered all the questions.
96
97If your configuration is valid, a prompt should appear once your message has been written:
98
99```
100? Slack / Mattermost integration details found. Do you want to send the message? (Y/n)
101```
102
103On confirmation, the message will be sent to the destination specified by your configuration.
104
105An example of a valid configuration, written in JSON format:
106
107```json
108{
109 "username" : "vikepic",
110 "channel" : "daily-standup",
111 "url" : "https://your-slack-url"
112}
113```
114
115Alternatively, you can have more than one project on your configuration file:
116
117```json
118{
119 "projects" :
120 {
121 "project-turnip":
122 {
123 "username" : "vikepic",
124 "channel" : "daily-standup-turnip",
125 "url" : "https://your-slack-url"
126 },
127 "project-avocado":
128 {
129 "username" : "vikepic",
130 "channel" : "daily-standup-avocado",
131 "url" : "https://your-slack-url"
132 }
133 }
134}
135```
136
137If that is the case, you can specify with the `--project` flag which one will you send the message to. If not specified, the program will prompt to you which of the existing projects you want to use to send your message:
138
139```
140? Multiple projects found. Please, select the project you want to send the results to. (Use arrow keys)
141❯ project-turnip
142 project-avocado
143```
144
145Once selected, `standup-boy` will send the message to the project of your choice.
146
147## License
148
149MIT © [vikepic](https://vikepic.github.io)