caperoma 4.0.1 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/Capefile +6 -6
  3. data/Capefile.template +4 -1
  4. data/Gemfile +1 -5
  5. data/Gemfile.lock +3 -45
  6. data/HELP +84 -13
  7. data/README.md +165 -29
  8. data/Rakefile +25 -22
  9. data/VERSION +1 -1
  10. data/bin/caperoma +6 -9
  11. data/caperoma.gemspec +15 -13
  12. data/config/crontab +0 -2
  13. data/config/schedule.rb +17 -19
  14. data/config/unschedule.rb +3 -0
  15. data/images/circle.png +0 -0
  16. data/images/report.png +0 -0
  17. data/lib/caperoma.rb +308 -98
  18. data/lib/caperoma/models/account.rb +1 -1
  19. data/lib/caperoma/models/project.rb +1 -2
  20. data/lib/caperoma/models/report.rb +15 -15
  21. data/lib/caperoma/models/task.rb +203 -46
  22. data/lib/caperoma/models/tasks/chore.rb +2 -0
  23. data/lib/caperoma/models/tasks/feature.rb +1 -0
  24. data/lib/caperoma/models/tasks/fix.rb +2 -0
  25. data/lib/caperoma/models/tasks/meeting.rb +2 -0
  26. data/lib/caperoma/models/tasks/modules/git.rb +94 -15
  27. data/lib/caperoma/models/tasks/task_with_commit.rb +8 -5
  28. data/lib/caperoma/models/tasks/task_with_separate_branch.rb +6 -4
  29. data/spec/caperoma_spec.rb +558 -2
  30. data/spec/factories/accounts.rb +1 -1
  31. data/spec/factories/projects.rb +1 -1
  32. data/spec/factories/report_recipients.rb +1 -1
  33. data/spec/factories/reports.rb +1 -1
  34. data/spec/factories/tasks.rb +1 -2
  35. data/spec/features/command_unknown_spec.rb +0 -1
  36. data/spec/features/feature_spec.rb +64 -44
  37. data/spec/features/init_spec.rb +20 -0
  38. data/spec/features/status_spec.rb +12 -11
  39. data/spec/models/project_spec.rb +0 -1
  40. data/spec/models/task_spec.rb +811 -27
  41. data/spec/models/task_with_commit_spec.rb +0 -4
  42. data/spec/models/task_with_separate_branch_spec.rb +4 -4
  43. data/spec/models/three_day_report_spec.rb +2 -3
  44. data/spec/spec_helper.rb +2 -0
  45. data/spec/support/capefile_generator.rb +35 -27
  46. data/spec/support/stubs.rb +7 -74
  47. metadata +47 -24
  48. data/lib/caperoma/models/branch.rb +0 -6
  49. data/lib/caperoma/services/airbrake_email_processor.rb +0 -47
  50. data/lib/caperoma/services/pivotal_fetcher.rb +0 -108
  51. data/spec/factories/branches.rb +0 -9
  52. data/spec/models/branch_spec.rb +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a648f676cfe9c4062e1598073274c668162b813e7ddfeba586d3c46479bfe76
4
- data.tar.gz: 91239642ce5d990d056f72c2c1147ce37ba9252bbe69c180cdd11e7232f2d229
3
+ metadata.gz: 67af398ebdf45f5e2e1f10a6a95a2794681b559d120008d1e31397499e3e68aa
4
+ data.tar.gz: 7a5836a2d061e3e6bda0c24028fb17c4731a42564d6d6d1bc26f9089451b8506
5
5
  SHA512:
6
- metadata.gz: afa44dd7474666982ee43221b177cc6c27837df1ac5dbe472abbe2a6b3a4260c0e8618924d82d0bbcb204dadbefb8784f694b43be1237b28997fdf4f51bdf19e
7
- data.tar.gz: b5414cb1fa697731ebdf4172519862506a0531fb3f554c4307503e62100ec821e5800585d40848a604b3ca0990cf88fb62e9f0a670fe6511fde6f9dbd34360fd
6
+ metadata.gz: 3ffc2a6c69b8b362b809e25ef7197685399f8a674a2c9527794d4c2b70d0689e27e946ffe30e455e2ad24f105ac32fbd935c8b6d734d642a23481bea462adb50
7
+ data.tar.gz: 16efe9f7c82c5d09079fc0f29af56b9036e7b0aee8657c1f8995aca623e9a74f1835b3f7927d06aa07c8ae16346477fc865ec464e8480818e638da5aacfab465
data/Capefile CHANGED
@@ -16,18 +16,18 @@ github_repo: zoopyserg/caperoma
16
16
 
17
17
  # --- JIRA SETTINGS:
18
18
  ## The full URL of your Jira server where you will create tasks.
19
- jira_url: https://zoopyserg.atlassian.net/
19
+ jira_url: https://sergevinogradoff.atlassian.net/
20
20
 
21
21
  ## The ID of this project on your Jira system.
22
22
  jira_project_id: 10001
23
23
 
24
24
  ## Issue identifiers of various types on your Jira system.
25
25
  jira_issue_type_ids:
26
- feature: 10101
27
- bug: 10103
28
- chore: 10100
29
- fix: 10101
30
- meeting: 10100
26
+ feature: 10001
27
+ bug: 10004
28
+ chore: 10001
29
+ fix: 10001
30
+ meeting: 10001
31
31
 
32
32
  ## Jira conversion identifiers.
33
33
  jira_transition_ids:
@@ -19,9 +19,11 @@
19
19
  # jira_url: https://example.atlassian.net/
20
20
 
21
21
  ## The ID of this project on your Jira system.
22
+ ## If you are not sure what is Jira ID of this project, run the command "caperoma get_jira_project_ids" and paste here the ID that you see in the result.
22
23
  # jira_project_id: 12345
23
24
 
24
25
  ## Issue identifiers of various types on your Jira system.
26
+ ## If you are not sure what are Jira Issue Type IDs of this project, run the command "caperoma get_jira_issue_type_ids" and paste here the IDs that you see in the result.
25
27
  # jira_issue_type_ids:
26
28
  # feature: 10101
27
29
  # bug: 10103
@@ -29,7 +31,8 @@
29
31
  # fix: 10101
30
32
  # meeting: 10100
31
33
 
32
- ## Jira conversion identifiers.
34
+ ## Jira transition identifiers.
35
+ ## If you are not sure what are Jira Transition IDs of this project, run the command "caperoma get_jira_transition_ids" and paste here the IDs that you see in the result.
33
36
  # jira_transition_ids:
34
37
  # todo: 11
35
38
  # in_progress: 21
data/Gemfile CHANGED
@@ -2,17 +2,13 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- ruby '2.6.3'
6
-
7
5
  # Runtime dependencies
8
6
  gem 'actionpack'
9
7
  gem 'actionview'
10
8
  gem 'activerecord'
11
- gem 'activesupport'
12
9
  gem 'faraday'
13
10
  gem 'gmail'
14
11
  gem 'jbuilder'
15
- gem 'pivotal-tracker'
16
12
  gem 'rubocop'
17
13
  gem 'sqlite3'
18
14
  gem 'time_difference'
@@ -21,7 +17,7 @@ gem 'whenever', require: false
21
17
  group :development do
22
18
  gem 'bundler'
23
19
  gem 'database_cleaner'
24
- gem 'factory_bot_rails'
20
+ gem 'factory_girl'
25
21
  gem 'juwelier'
26
22
  gem 'rdoc'
27
23
  gem 'rspec'
@@ -32,21 +32,14 @@ GEM
32
32
  builder (3.2.3)
33
33
  chronic (0.10.2)
34
34
  concurrent-ruby (1.1.5)
35
- crack (0.4.3)
36
- safe_yaml (~> 1.0.0)
37
35
  crass (1.0.4)
38
36
  database_cleaner (1.7.0)
39
37
  descendants_tracker (0.0.4)
40
38
  thread_safe (~> 0.3, >= 0.3.1)
41
39
  diff-lcs (1.3)
42
- domain_name (0.5.20190701)
43
- unf (>= 0.0.5, < 1.0.0)
44
40
  erubi (1.8.0)
45
- factory_bot (5.0.2)
46
- activesupport (>= 4.2.0)
47
- factory_bot_rails (5.0.2)
48
- factory_bot (~> 5.0.2)
49
- railties (>= 4.2.0)
41
+ factory_girl (4.9.0)
42
+ activesupport (>= 3.0.0)
50
43
  faraday (0.15.4)
51
44
  multipart-post (>= 1.2, < 3)
52
45
  git (1.5.0)
@@ -63,8 +56,6 @@ GEM
63
56
  oauth (>= 0.3.6)
64
57
  hashie (3.6.0)
65
58
  highline (2.0.2)
66
- http-cookie (1.0.3)
67
- domain_name (~> 0.5)
68
59
  i18n (1.6.0)
69
60
  concurrent-ruby (~> 1.0)
70
61
  jaro_winkler (1.5.3)
@@ -90,21 +81,14 @@ GEM
90
81
  nokogiri (>= 1.5.9)
91
82
  mail (2.7.1)
92
83
  mini_mime (>= 0.1.1)
93
- method_source (0.9.2)
94
- mime-types (3.2.2)
95
- mime-types-data (~> 3.2015)
96
- mime-types-data (3.2019.0331)
97
84
  mini_mime (1.0.2)
98
85
  mini_portile2 (2.4.0)
99
86
  minitest (5.11.3)
100
87
  multi_json (1.13.1)
101
88
  multi_xml (0.6.0)
102
89
  multipart-post (2.1.1)
103
- netrc (0.11.0)
104
90
  nokogiri (1.10.3)
105
91
  mini_portile2 (~> 2.4.0)
106
- nokogiri-happymapper (0.8.1)
107
- nokogiri (~> 1.5)
108
92
  oauth (0.5.4)
109
93
  oauth2 (1.4.1)
110
94
  faraday (>= 0.8, < 0.16.0)
@@ -115,12 +99,6 @@ GEM
115
99
  parallel (1.17.0)
116
100
  parser (2.6.3.0)
117
101
  ast (~> 2.4.0)
118
- pivotal-tracker (0.5.13)
119
- builder
120
- crack
121
- nokogiri (>= 1.5.5)
122
- nokogiri-happymapper (>= 0.5.4)
123
- rest-client (>= 1.8.0)
124
102
  psych (3.1.0)
125
103
  public_suffix (3.1.1)
126
104
  rack (2.0.7)
@@ -131,19 +109,9 @@ GEM
131
109
  nokogiri (>= 1.6)
132
110
  rails-html-sanitizer (1.0.4)
133
111
  loofah (~> 2.2, >= 2.2.2)
134
- railties (5.2.3)
135
- actionpack (= 5.2.3)
136
- activesupport (= 5.2.3)
137
- method_source
138
- rake (>= 0.8.7)
139
- thor (>= 0.19.0, < 2.0)
140
112
  rainbow (3.0.0)
141
113
  rake (12.3.3)
142
114
  rdoc (6.1.1)
143
- rest-client (2.0.2)
144
- http-cookie (>= 1.0.2, < 2.0)
145
- mime-types (>= 1.16, < 4.0)
146
- netrc (~> 0.8)
147
115
  rspec (3.8.0)
148
116
  rspec-core (~> 3.8.0)
149
117
  rspec-expectations (~> 3.8.0)
@@ -165,22 +133,17 @@ GEM
165
133
  ruby-progressbar (~> 1.7)
166
134
  unicode-display_width (>= 1.4.0, < 1.7)
167
135
  ruby-progressbar (1.10.1)
168
- safe_yaml (1.0.5)
169
136
  semver2 (3.4.2)
170
137
  shoulda (2.11.3)
171
138
  shoulda-matchers (4.1.1)
172
139
  activesupport (>= 4.2.0)
173
140
  sqlite3 (1.4.1)
174
- thor (0.20.3)
175
141
  thread_safe (0.3.6)
176
142
  time_difference (0.7.0)
177
143
  activesupport (~> 5.1)
178
144
  timecop (0.9.1)
179
145
  tzinfo (1.2.5)
180
146
  thread_safe (~> 0.1)
181
- unf (0.1.4)
182
- unf_ext
183
- unf_ext (0.0.7.6)
184
147
  unicode-display_width (1.6.0)
185
148
  whenever (1.0.0)
186
149
  chronic (>= 0.6.3)
@@ -192,15 +155,13 @@ DEPENDENCIES
192
155
  actionpack
193
156
  actionview
194
157
  activerecord
195
- activesupport
196
158
  bundler
197
159
  database_cleaner
198
- factory_bot_rails
160
+ factory_girl
199
161
  faraday
200
162
  gmail
201
163
  jbuilder
202
164
  juwelier
203
- pivotal-tracker
204
165
  rdoc
205
166
  rspec
206
167
  rubocop
@@ -211,8 +172,5 @@ DEPENDENCIES
211
172
  timecop
212
173
  whenever
213
174
 
214
- RUBY VERSION
215
- ruby 2.6.3p62
216
-
217
175
  BUNDLED WITH
218
176
  1.17.3
data/HELP CHANGED
@@ -8,9 +8,15 @@ Available commands
8
8
  ### Initialize
9
9
  `caperoma init` - initializes Caperoma inside a project (creates Capefile).
10
10
 
11
+ ### Get Project IDs from Jira
12
+ `caperoma get_jira_project_ids` - see what project IDs does your Jira support, to put them into the Capefile.
13
+
11
14
  ### Get Issue IDs from Jira
12
15
  `caperoma get_jira_issue_type_ids` - see what issue IDs does your Jira support, to put them into the Capefile.
13
16
 
17
+ ### Get Transition IDs from Jira
18
+ `caperoma get_jira_transition_ids` - see what transition IDs does your Jira support, to put them into the Capefile.
19
+
14
20
  ### Status
15
21
  `caperoma status` - shows a task you are working on now.
16
22
  Example:
@@ -30,6 +36,7 @@ $ caperoma status
30
36
  You are not working on anything now.
31
37
  ```
32
38
 
39
+ ### Projects List
33
40
  `caperoma projects` - shows the list of projects on this computer.
34
41
  Example:
35
42
  ```bash
@@ -52,16 +59,24 @@ $ caperoma projects
52
59
  - *If the -p parameter is specified, Caperoma starts Pivotal task with this ID.*
53
60
  - *If the -p parameter is not specified, Caperoma will create a new task in Pivotal, start it and use its ID.*
54
61
  - *The creation of certain types of tasks in Pivotal (when -p is absent) can be turned on or off in Capefile.*
55
- - *If you are already working on something, you won't be able to start a new task. You will have to finish or pause the current task.*
62
+ - *If you are already working on something, you won't be able to start a new task. First, you will have to finish or pause the current task.*
56
63
 
57
64
  `options`:
58
- `-t, --title` - The name of the feature (for a commit, pull request, tasks in Jira and Pivotal). ` -t` and `--title` are different versions of the same option.
59
- `-d, --description` - The description (for a task in Jira and Pivotal).
60
- `-p, -ptid, --pivotal_task_id` - ID of task in Pivotal (automatically gets started/finished during the work on it in Caperoma).
61
- `-a, --additional_time` - Additional time (in minutes). Intended for cases when you want to indicate that you started working on it X minutes ago (X minutes before starting Caperoma timer). For example, for 1 hour you tried to reproduce the problem before you realized that you need to start a new task. Or if you forgot to start Caperoma. Additional time is always in minutes. Adding 125 minutes (-a 125) will mean that you spent 2h 5m on the task before turning on Caperoma timer.
62
65
 
63
- *The order of options is not important.
64
- Immediately after the operator must be a value.*
66
+ `-t`, `--title` - The name of the feature (for a commit, pull request, tasks in Jira and Pivotal). ` -t` and `--title` are different versions of the same option.
67
+
68
+
69
+ `-d`, `--description` - The description (for a task in Jira and Pivotal).
70
+
71
+
72
+ `-p`, `-ptid`, `--pivotal_task_id` - ID of task in Pivotal (automatically gets started/finished during the work on it in Caperoma).
73
+
74
+
75
+ `-a`, `--additional_time` - Additional time (in minutes). Intended for cases when you want to indicate that you started working on it X minutes ago (X minutes before starting Caperoma timer). For example, for 1 hour you tried to reproduce the problem before you realized that you need to start a new task. Or if you forgot to start Caperoma. Additional time is always in minutes. Adding 125 minutes (-a 125) will mean that you spent 2h 5m on the task before turning on Caperoma timer.
76
+
77
+ *The order of options is not important.*
78
+
79
+ *Immediately after the operator must be a value.*
65
80
 
66
81
  Examples:
67
82
  ```bash
@@ -76,12 +91,18 @@ caperoma feature -t "title" -d "description" -p 4830184 -a 48
76
91
 
77
92
  caperoma feature --title "title" --description "description" --pivotal_task_id 1000001 --additional_time 5
78
93
  # (create the feature "title" with the description of "description" and Pivotal ID #1000001, on which you started working 5 minutes ago)
94
+
95
+ caperoma feature -p 12345678
96
+ # (it will take title and description from Pivotal task with id 12345678)
79
97
  ```
80
98
 
81
99
  #### Start a Bug
82
100
  `caperoma bug [options]` - Creates a bug in the new branch.
101
+
83
102
  Does almost the same thing as `caperoma feature`, just starts everywhere the tasks of a type "bug".
103
+
84
104
  `options`: same as for `caperoma feature`
105
+
85
106
  Example:
86
107
  ```bash
87
108
  caperoma bug -t "something isn't working" -a 20
@@ -90,13 +111,18 @@ caperoma bug -t "something isn't working" -a 20
90
111
 
91
112
  #### Start a Fix
92
113
  `caperoma fix [options]` - Creates a fix in the CURRENT branch, doing at the end just "git push" into the branch, not a pull request.
114
+
93
115
  Everything else is almost the same as `caperoma feature`.
116
+
94
117
  This command is created for the cases when you already have a remote branch, or if you already made a pull request, and you need to go back to it and add something.
118
+
95
119
  This command considers the specifics of work with open pull requests and remote branches:
96
120
  - Downloads the latest version of the current branch before starting the work and again before pushing the changes.
97
121
  - Changes are made in a new commit instead of a potentially conflicting amend.
98
122
  - Leaves the title and description of pull requests.
123
+
99
124
  `options`: same as for `caperoma feature`
125
+
100
126
  Example:
101
127
  ```bash
102
128
  caperoma fix --title "Spelling fix" -d "Fix the spelling mistake"
@@ -105,15 +131,23 @@ caperoma fix --title "Spelling fix" -d "Fix the spelling mistake"
105
131
 
106
132
  #### Start a Meeting
107
133
  `caperoma meeting [options]` - Creates a meeting.
134
+
108
135
  For cases when you need to record to Jira the facts of talking on the phone with your coworkers.
136
+
109
137
  Jira ID for the meeting (as for other types of tasks) can be set in Capefile (by default it has the same value as a chore).
138
+
110
139
  In Pivotal creating meetings is off by default. It can be turned on in Capefile. If it is on, Caperoma will create "chores".
140
+
111
141
  `options`: same as for `caperoma feature`
112
142
 
113
143
  This feature is sometimes used to automate logging phone calls to Jira.
144
+
114
145
  For example, in Skype, you could configure it to call the command `caperoma meeting -t "meeting"` when you pick up the phone and call `caperoma finish` when you hang up.
146
+
115
147
  As a result, Skype conversations will automatically be entered into Jira with accuracy up to a minute.
148
+
116
149
  5-10 people can participate in a conference call, so if each of them sets up Caperoma, you can save a couple of man-hours for each call.
150
+
117
151
  Example:
118
152
  ```bash
119
153
  caperoma meeting -t "title"
@@ -121,9 +155,13 @@ caperoma meeting -t "title"
121
155
 
122
156
  #### Start a Chore
123
157
  `caperoma chore [options]` - Creates a chore. Without branch and commit.
158
+
124
159
  For cases when the goal of the task is not committing code.
160
+
125
161
  For example, you need to configure something on a remote server.
162
+
126
163
  `options`: same as for `caperoma feature`
164
+
127
165
  Example:
128
166
  ```bash
129
167
  caperoma chore -t "going downtown to pick up a new computer" -a 10
@@ -134,6 +172,7 @@ caperoma chore -t "going downtown to pick up a new computer" -a 10
134
172
 
135
173
  #### Finish current task
136
174
  `caperoma finish [optional comment]` - ends a task of any type.
175
+
137
176
  Do everything that you usually do after finishing a task:
138
177
  - git commit (feature, bug, fix) [commit name consists of the task title, Jira ID and Pivotal ID]
139
178
  - runs style guide checks (rubocop -a)
@@ -155,29 +194,39 @@ caperoma finish "completed"
155
194
 
156
195
  #### Abort current task
157
196
  `caperoma abort [optional comment]` - finish without committing / pushing changes.
197
+
158
198
  This command does what you usually need to do to interrupt the task:
159
199
  - Logs time to Jira.
160
200
  - changes the status of Jira task to "done"
161
201
  - changes the status of Pivotal task to "finished"
162
202
  - switches to the main branch
203
+
163
204
  All changes to files remain uncommitted.
205
+
164
206
  Examples:
165
207
  ```bash
166
208
  caperoma abort "can't reproduce"
167
209
  # interrupt + write a comment "can't reproduce" in Jira
168
210
 
169
211
  caperoma abort
212
+ # keep comment blank
170
213
  ```
171
214
 
172
215
  #### Abort current task without logging time
173
216
  `caperoma abort_without_time [optional comment]` - same as abort, but does not log time to Jira
217
+
174
218
  Only changes the status of Jira task to "done".
219
+
175
220
  Pivotal task remains started.
221
+
176
222
  Files remain uncommitted.
177
223
 
178
224
  Example:
225
+
179
226
  Suppose you started a task and fall asleep.
227
+
180
228
  You wake up, the timer is still running.
229
+
181
230
  You stop the timer without logging time to Jira:
182
231
  ```
183
232
  caperoma abort_without_time
@@ -185,6 +234,7 @@ caperoma abort_without_time
185
234
 
186
235
  #### Pause current task
187
236
  `caperoma pause [optional comment]` — stop work on the task, but not consider it completed (don't make a pull request).
237
+
188
238
  What it will do:
189
239
  - git commit (feature, bug, fix) [commit name consists of the task title, Jira ID and Pivotal ID]
190
240
  - runs style guide checks (rubocop -a)
@@ -200,6 +250,7 @@ To finish the paused task, you will need to manually switch into its branch and
200
250
  Finishing the task will be done by new independent tasks in Jira.
201
251
 
202
252
  Example:
253
+
203
254
  Suppose you need to urgently switch to another task.
204
255
  ```bash
205
256
  ...
@@ -224,10 +275,15 @@ caperoma finish
224
275
 
225
276
  #### Adding Accounts
226
277
  `caperoma accounts [add command] [account_type] [login] [password] [assignee]` - add (or overwrite) an account of type [account_type] to the database.
278
+
227
279
  `[add command]`: `-a`, `add`, `--add`, `-c`, `create`, `--create` (all these are equivalent).
280
+
228
281
  `[account_type]`: One of: `--jira`, `--pivotal` `--git`, `--gmail`
282
+
229
283
  `[login]` is your account login (email or username).
284
+
230
285
  `[password]` for --jira and --pivotal should be api_tokens (password won't do). for --git and --gmail it should be your password.
286
+
231
287
  `[assignee]` is only for --jira, for other types no need to write anything there.
232
288
 
233
289
  Examples:
@@ -243,7 +299,9 @@ caperoma accounts --create --gmail login password # Add Gmail account for repo
243
299
 
244
300
  #### Removing accounts
245
301
  `caperoma accounts [remove_command] [account_type]` - remove an account of a given type.
302
+
246
303
  `[remove_command]`: `remove`, `--remove`, `-r`, `delete`, `--delete`, `-d` (all these are equivalent).
304
+
247
305
  `[account_type]`: One of the following: `--jira`, `--pivotal`, `--git`, `--gmail`
248
306
 
249
307
  Examples:
@@ -256,10 +314,18 @@ caperoma accounts -delete --gmail # Remove Gmail account for reports
256
314
 
257
315
  ### Deleting all data from this computer
258
316
  `caperoma delete_history` - removes the caperoma database, so deletes the information on the tasks, time spent, branch names, account credentials, etc.
317
+
259
318
  Keeps the folders of your projects intact.
260
319
 
320
+
321
+ ### Deleting all tasks from this computer
322
+ `caperoma delete_tasks` - removes the tasks from the database, so deletes the information on the task names, time spent, branch names, etc.
323
+
324
+ Keeps other settings (accounts, projects) and the folders of your projects intact.
325
+
261
326
  ### Version:
262
327
  `caperoma -v` - shows Caperoma version
328
+
263
329
  `caperoma version` - shows Caperoma version
264
330
 
265
331
  ### Recipients
@@ -268,7 +334,9 @@ Keeps the folders of your projects intact.
268
334
 
269
335
  #### Adding Report Recipients:
270
336
  `caperoma recipients [add command] [email]` - adds an email of a recipient of your reports to the database.
337
+
271
338
  `[add command]`: `-a`, `add`, `--add`, `-c`, `create`, `--create` (all these are equivalent).
339
+
272
340
  `[email]` - the email of the recipient
273
341
 
274
342
  Examples:
@@ -282,6 +350,7 @@ caperoma recipients --add "your_techlead@domain.com"
282
350
 
283
351
  #### Removing Report Recipients
284
352
  `caperoma recipients [remove command] [email]` - removes the `[email]` of the recipient of your reports from the database.
353
+
285
354
  `[remove command]`: `remove`, `--remove`, `-r`, `delete`, `--delete`, `-d` (all these are equivalent).
286
355
 
287
356
  Examples:
@@ -293,17 +362,19 @@ caperoma recipients --delete "your_supervisor@domain.com"
293
362
 
294
363
  ### Automatic Reports
295
364
  `caperoma report auto on` - turns on automatic report sending to all your recipients.
365
+
296
366
  `caperoma report auto off` - turn off automatic report sending to all your recipients.
297
367
 
298
368
  ### Sending Reports Manually
299
- `caperoma report daily` - send a daily report right now
300
- `caperoma report -d` - send a daily report right now
369
+ `caperoma report [option]` - send a report right now.
370
+
371
+ `[option]`:
372
+
373
+ `daily`, `-d` - send a daily report right now
301
374
 
302
- `caperoma report three_day` - send a three-day report right now
303
- `caperoma report -t` - send a three-day report right now
375
+ `three_day`, `-t` - send a three-day report right now
304
376
 
305
- `caperoma report weekly` - send a weekly report right now
306
- `caperoma report -w` - send a weekly report right now
377
+ `weekly`, `-w` - send a weekly report right now
307
378
 
308
379
  ### Support me on Patreon.
309
380
  https://www.patreon.com/sergevinogradoff