rbcli 0.2.11 → 0.2.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (426) hide show
  1. checksums.yaml +4 -4
  2. data/.rakeTasks +7 -0
  3. data/.rbenv-gemsets +1 -0
  4. data/CHANGELOG.md +22 -0
  5. data/Gemfile.lock +25 -24
  6. data/README.md +2 -2
  7. data/docs-src/archetypes/default.md +6 -0
  8. data/docs-src/config.toml +37 -0
  9. data/docs-src/{docs/index.md → content/_index.md} +4 -4
  10. data/docs-src/content/advanced/_index.md +11 -0
  11. data/docs-src/{docs → content}/advanced/automatic_updates.md +6 -2
  12. data/docs-src/{docs → content}/advanced/command_types.md +8 -4
  13. data/docs-src/{docs → content}/advanced/distributed_state_locking.md +6 -2
  14. data/docs-src/{docs → content}/advanced/hooks.md +6 -2
  15. data/docs-src/{docs → content}/advanced/interactive_commands.md +5 -1
  16. data/docs-src/{docs → content}/advanced/logging.md +6 -2
  17. data/docs-src/{docs → content}/advanced/remote_execution.md +5 -1
  18. data/docs-src/{docs → content}/advanced/state_storage.md +6 -3
  19. data/docs-src/{docs → content}/advanced/user_config_files.md +5 -1
  20. data/docs-src/content/development/_index.md +11 -0
  21. data/docs-src/{docs/imported → content/development}/changelog.md +58 -6
  22. data/docs-src/{docs → content}/development/code_of_conduct.md +8 -1
  23. data/docs-src/{docs → content}/development/contributing.md +16 -1
  24. data/docs-src/{docs → content}/development/license.md +9 -2
  25. data/docs-src/{docs/imported/quick_reference.md → content/quick_reference/_index.md} +8 -1
  26. data/docs-src/{docs → content}/tutorial/10-getting_started.md +7 -1
  27. data/docs-src/{docs → content}/tutorial/20-project_layout.md +10 -2
  28. data/docs-src/{docs → content}/tutorial/30-your_first_command.md +10 -4
  29. data/docs-src/{docs → content}/tutorial/40-options_parameters_and_arguments.md +9 -3
  30. data/docs-src/{docs → content}/tutorial/50-publishing.md +9 -3
  31. data/docs-src/content/tutorial/_index.md +11 -0
  32. data/docs-src/{docs/whoami.md → content/whoami/_index.md} +11 -5
  33. data/docs-src/layouts/partials/logo.html +3 -0
  34. data/docs-src/makesite.sh +33 -7
  35. data/docs-src/mkdocs-archived.tar.gz +0 -0
  36. data/docs-src/runsite.sh +6 -1
  37. data/docs-src/themes/hugo-theme-learn/.editorconfig +16 -0
  38. data/docs-src/themes/hugo-theme-learn/.gitignore +3 -0
  39. data/docs-src/themes/hugo-theme-learn/.grenrc.yml +25 -0
  40. data/docs-src/themes/hugo-theme-learn/CHANGELOG.md +154 -0
  41. data/docs-src/themes/hugo-theme-learn/LICENSE.md +22 -0
  42. data/docs-src/themes/hugo-theme-learn/README.md +60 -0
  43. data/docs-src/themes/hugo-theme-learn/archetypes/chapter.md +13 -0
  44. data/docs-src/themes/hugo-theme-learn/archetypes/default.md +7 -0
  45. data/docs-src/themes/hugo-theme-learn/exampleSite/LICENSE.md +20 -0
  46. data/docs-src/themes/hugo-theme-learn/exampleSite/config.toml +75 -0
  47. data/docs-src/themes/hugo-theme-learn/exampleSite/content/_index.en.md +41 -0
  48. data/docs-src/themes/hugo-theme-learn/exampleSite/content/_index.fr.md +43 -0
  49. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/_index.en.md +12 -0
  50. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/_index.fr.md +12 -0
  51. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.en.md +58 -0
  52. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.fr.md +54 -0
  53. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.en.md +102 -0
  54. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.fr.md +100 -0
  55. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/installation/images/chapter.png +0 -0
  56. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.en.md +11 -0
  57. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.fr.md +11 -0
  58. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif +0 -0
  59. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.en.md +194 -0
  60. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.fr.md +194 -0
  61. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/images/blue-variant.png +0 -0
  62. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/images/green-variant.png +0 -0
  63. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/images/red-variant.png +0 -0
  64. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/_index.en.md +12 -0
  65. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/_index.fr.md +12 -0
  66. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.en.md +57 -0
  67. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.fr.md +57 -0
  68. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.en.md +78 -0
  69. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.fr.md +78 -0
  70. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/i18n/images/i18n-menu.gif +0 -0
  71. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/icons.en.md +41 -0
  72. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/markdown.en.md +665 -0
  73. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/markdown.fr.md +666 -0
  74. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.en.md +109 -0
  75. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.fr.md +109 -0
  76. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.en.md +166 -0
  77. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.fr.md +146 -0
  78. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/images/frontmatter-icon.png +0 -0
  79. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/images/pages-chapter.png +0 -0
  80. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/images/pages-default.png +0 -0
  81. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/tags.en.md +39 -0
  82. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/tags.fr.md +40 -0
  83. data/docs-src/themes/hugo-theme-learn/exampleSite/content/credits.en.md +28 -0
  84. data/docs-src/themes/hugo-theme-learn/exampleSite/content/credits.fr.md +28 -0
  85. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/_index.en.md +16 -0
  86. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/_index.fr.md +16 -0
  87. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/BachGavotteShort.mp3 +0 -0
  88. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/Carroll_AliceAuPaysDesMerveilles.pdf +0 -0
  89. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/adivorciarsetoca00cape.pdf +0 -0
  90. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/hugo.png +0 -0
  91. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/movieselectricsheep-flock-244-32500-2.mp4 +0 -0
  92. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.md +85 -0
  93. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3 +0 -0
  94. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/Carroll_AliceAuPaysDesMerveilles.pdf +0 -0
  95. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/adivorciarsetoca00cape.pdf +0 -0
  96. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/hugo.png +0 -0
  97. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4 +0 -0
  98. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.md +85 -0
  99. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.en.md +16 -0
  100. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.fr.md +16 -0
  101. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/_index.en.md +45 -0
  102. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/_index.fr.md +45 -0
  103. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/_index.en.md +6 -0
  104. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/_index.fr.md +6 -0
  105. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/_index.en.md +6 -0
  106. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/_index.fr.md +6 -0
  107. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/_index.en.md +6 -0
  108. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/_index.fr.md +6 -0
  109. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/_index.en.md +6 -0
  110. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/_index.fr.md +6 -0
  111. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/children-1-1-1-1-1/_index.en.md +6 -0
  112. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/children-1-1-1-1-1/_index.fr.md +6 -0
  113. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-2/_index.en.md +11 -0
  114. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-2/_index.fr.md +11 -0
  115. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-2/test3.en.md +6 -0
  116. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-2/test3.fr.md +6 -0
  117. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-3/_index.en.md +6 -0
  118. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-3/_index.fr.md +6 -0
  119. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-4/_index.en.md +7 -0
  120. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-4/_index.fr.md +7 -0
  121. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/test.en.md +6 -0
  122. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/test.fr.md +6 -0
  123. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/expand.en.md +45 -0
  124. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/expand.fr.md +45 -0
  125. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.en.md +283 -0
  126. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.fr.md +283 -0
  127. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/notice.en.md +62 -0
  128. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/notice.fr.md +62 -0
  129. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/siteparam.en.md +23 -0
  130. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/siteparam.fr.md +23 -0
  131. data/docs-src/themes/hugo-theme-learn/exampleSite/content/showcase.en.md +10 -0
  132. data/docs-src/themes/hugo-theme-learn/exampleSite/content/showcase.fr.md +11 -0
  133. data/docs-src/themes/hugo-theme-learn/exampleSite/layouts/partials/custom-footer.html +10 -0
  134. data/docs-src/themes/hugo-theme-learn/exampleSite/layouts/partials/logo.html +39 -0
  135. data/docs-src/themes/hugo-theme-learn/exampleSite/layouts/partials/menu-footer.html +14 -0
  136. data/docs-src/themes/hugo-theme-learn/exampleSite/layouts/shortcodes/ghcontributors.html +31 -0
  137. data/docs-src/themes/hugo-theme-learn/exampleSite/static/css/theme-mine.css +104 -0
  138. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.eot +0 -0
  139. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.svg +237 -0
  140. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.ttf +0 -0
  141. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff +0 -0
  142. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff2 +0 -0
  143. data/docs-src/themes/hugo-theme-learn/exampleSite/static/images/showcase/tat.png +0 -0
  144. data/docs-src/themes/hugo-theme-learn/i18n/en.toml +26 -0
  145. data/docs-src/themes/hugo-theme-learn/i18n/es.toml +26 -0
  146. data/docs-src/themes/hugo-theme-learn/i18n/fr.toml +26 -0
  147. data/docs-src/themes/hugo-theme-learn/i18n/id.toml +26 -0
  148. data/docs-src/themes/hugo-theme-learn/i18n/nl.toml +26 -0
  149. data/docs-src/themes/hugo-theme-learn/i18n/pt.toml +26 -0
  150. data/docs-src/themes/hugo-theme-learn/i18n/tr.toml +26 -0
  151. data/docs-src/themes/hugo-theme-learn/images/screenshot.png +0 -0
  152. data/docs-src/themes/hugo-theme-learn/images/tn.png +0 -0
  153. data/docs-src/themes/hugo-theme-learn/layouts/404.html +56 -0
  154. data/docs-src/themes/hugo-theme-learn/layouts/_default/list.html +22 -0
  155. data/docs-src/themes/hugo-theme-learn/layouts/_default/single.html +13 -0
  156. data/docs-src/themes/hugo-theme-learn/layouts/index.html +31 -0
  157. data/docs-src/themes/hugo-theme-learn/layouts/index.json +12 -0
  158. data/docs-src/themes/hugo-theme-learn/layouts/partials/custom-comments.html +3 -0
  159. data/docs-src/themes/hugo-theme-learn/layouts/partials/custom-footer.html +5 -0
  160. data/docs-src/themes/hugo-theme-learn/layouts/partials/custom-header.html +5 -0
  161. data/docs-src/themes/hugo-theme-learn/layouts/partials/favicon.html +1 -0
  162. data/docs-src/themes/hugo-theme-learn/layouts/partials/footer.html +78 -0
  163. data/docs-src/themes/hugo-theme-learn/layouts/partials/header.html +109 -0
  164. data/docs-src/themes/hugo-theme-learn/layouts/partials/logo.html +19 -0
  165. data/docs-src/themes/hugo-theme-learn/layouts/partials/menu-footer.html +1 -0
  166. data/docs-src/themes/hugo-theme-learn/layouts/partials/menu.html +150 -0
  167. data/docs-src/themes/hugo-theme-learn/layouts/partials/meta.html +2 -0
  168. data/docs-src/themes/hugo-theme-learn/layouts/partials/search.html +16 -0
  169. data/docs-src/themes/hugo-theme-learn/layouts/partials/tags.html +7 -0
  170. data/docs-src/themes/hugo-theme-learn/layouts/partials/toc.html +5 -0
  171. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/attachments.html +36 -0
  172. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/button.html +14 -0
  173. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/children.html +101 -0
  174. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/expand.html +17 -0
  175. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/mermaid.html +2 -0
  176. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/notice.html +2 -0
  177. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/ref.html +14 -0
  178. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/relref.html +14 -0
  179. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/siteparam.html +7 -0
  180. data/docs-src/themes/hugo-theme-learn/netlify.toml +24 -0
  181. data/docs-src/themes/hugo-theme-learn/static/css/atom-one-dark-reasonable.css +77 -0
  182. data/docs-src/themes/hugo-theme-learn/static/css/auto-complete.css +47 -0
  183. data/docs-src/themes/hugo-theme-learn/static/css/featherlight.min.css +8 -0
  184. data/docs-src/themes/hugo-theme-learn/static/css/fontawesome-all.min.css +1 -0
  185. data/docs-src/themes/hugo-theme-learn/static/css/hugo-theme.css +254 -0
  186. data/docs-src/themes/hugo-theme-learn/static/css/hybrid.css +102 -0
  187. data/docs-src/themes/hugo-theme-learn/static/css/nucleus.css +615 -0
  188. data/docs-src/themes/hugo-theme-learn/static/css/perfect-scrollbar.min.css +2 -0
  189. data/docs-src/themes/hugo-theme-learn/static/css/tags.css +49 -0
  190. data/docs-src/themes/hugo-theme-learn/static/css/theme-blue.css +111 -0
  191. data/docs-src/themes/hugo-theme-learn/static/css/theme-green.css +111 -0
  192. data/docs-src/themes/hugo-theme-learn/static/css/theme-red.css +111 -0
  193. data/docs-src/themes/hugo-theme-learn/static/css/theme.css +1132 -0
  194. data/docs-src/themes/hugo-theme-learn/static/fonts/Inconsolata.eot +0 -0
  195. data/docs-src/themes/hugo-theme-learn/static/fonts/Inconsolata.svg +359 -0
  196. data/docs-src/themes/hugo-theme-learn/static/fonts/Inconsolata.ttf +0 -0
  197. data/docs-src/themes/hugo-theme-learn/static/fonts/Inconsolata.woff +0 -0
  198. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot +0 -0
  199. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg +1019 -0
  200. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf +0 -0
  201. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff +0 -0
  202. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff2 +0 -0
  203. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.eot +0 -0
  204. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg +918 -0
  205. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf +0 -0
  206. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff +0 -0
  207. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff2 +0 -0
  208. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot +0 -0
  209. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg +332 -0
  210. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf +0 -0
  211. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff +0 -0
  212. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff2 +0 -0
  213. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot +0 -0
  214. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg +331 -0
  215. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf +0 -0
  216. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff +0 -0
  217. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2 +0 -0
  218. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.eot +0 -0
  219. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg +333 -0
  220. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf +0 -0
  221. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff +0 -0
  222. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff2 +0 -0
  223. data/docs-src/themes/hugo-theme-learn/static/images/clippy.svg +1 -0
  224. data/docs-src/themes/hugo-theme-learn/static/images/favicon.png +0 -0
  225. data/docs-src/themes/hugo-theme-learn/static/images/gopher-404.jpg +0 -0
  226. data/docs-src/themes/hugo-theme-learn/static/js/auto-complete.js +223 -0
  227. data/docs-src/themes/hugo-theme-learn/static/js/clipboard.min.js +7 -0
  228. data/docs-src/themes/hugo-theme-learn/static/js/featherlight.min.js +9 -0
  229. data/docs-src/themes/hugo-theme-learn/static/js/highlight.pack.js +3 -0
  230. data/docs-src/themes/hugo-theme-learn/static/js/html5shiv-printshiv.min.js +4 -0
  231. data/docs-src/themes/hugo-theme-learn/static/js/hugo-learn.js +91 -0
  232. data/docs-src/themes/hugo-theme-learn/static/js/jquery-3.3.1.min.js +2 -0
  233. data/docs-src/themes/hugo-theme-learn/static/js/jquery.sticky.js +288 -0
  234. data/docs-src/themes/hugo-theme-learn/static/js/learn.js +459 -0
  235. data/docs-src/themes/hugo-theme-learn/static/js/lunr.min.js +6 -0
  236. data/docs-src/themes/hugo-theme-learn/static/js/modernizr.custom-3.6.0.js +3 -0
  237. data/docs-src/themes/hugo-theme-learn/static/js/perfect-scrollbar.jquery.min.js +2 -0
  238. data/docs-src/themes/hugo-theme-learn/static/js/perfect-scrollbar.min.js +2 -0
  239. data/docs-src/themes/hugo-theme-learn/static/js/search.js +93 -0
  240. data/docs-src/themes/hugo-theme-learn/static/mermaid/mermaid.css +277 -0
  241. data/docs-src/themes/hugo-theme-learn/static/mermaid/mermaid.dark.css +278 -0
  242. data/docs-src/themes/hugo-theme-learn/static/mermaid/mermaid.forest.css +356 -0
  243. data/docs-src/themes/hugo-theme-learn/static/mermaid/mermaid.js +8 -0
  244. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.eot +0 -0
  245. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.svg +1260 -0
  246. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.ttf +0 -0
  247. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.woff +0 -0
  248. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.woff2 +0 -0
  249. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.eot +0 -0
  250. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.svg +471 -0
  251. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.ttf +0 -0
  252. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.woff +0 -0
  253. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.woff2 +0 -0
  254. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.eot +0 -0
  255. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.svg +2763 -0
  256. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.ttf +0 -0
  257. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.woff +0 -0
  258. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.woff2 +0 -0
  259. data/docs-src/themes/hugo-theme-learn/theme.toml +21 -0
  260. data/docs-src/themes/hugo-theme-learn/wercker.yml +16 -0
  261. data/docs/404.html +54 -670
  262. data/docs/advanced/automatic_updates/index.html +962 -635
  263. data/docs/advanced/command_types/index.html +1021 -736
  264. data/docs/advanced/distributed_state_locking/index.html +957 -622
  265. data/docs/advanced/hooks/index.html +968 -661
  266. data/docs/advanced/index.html +1099 -0
  267. data/docs/advanced/index.xml +117 -0
  268. data/docs/advanced/interactive_commands/index.html +960 -636
  269. data/docs/advanced/logging/index.html +963 -639
  270. data/docs/advanced/remote_execution/index.html +959 -634
  271. data/docs/advanced/state_storage/index.html +1049 -764
  272. data/docs/advanced/user_config_files/index.html +981 -649
  273. data/docs/categories/index.html +1094 -0
  274. data/docs/categories/index.xml +14 -0
  275. data/docs/css/atom-one-dark-reasonable.css +77 -0
  276. data/docs/css/auto-complete.css +47 -0
  277. data/docs/css/featherlight.min.css +8 -0
  278. data/docs/css/fontawesome-all.min.css +1 -0
  279. data/docs/css/hugo-theme.css +254 -0
  280. data/docs/css/hybrid.css +102 -0
  281. data/docs/css/nucleus.css +615 -0
  282. data/docs/css/perfect-scrollbar.min.css +2 -0
  283. data/docs/css/tags.css +49 -0
  284. data/docs/css/theme-blue.css +111 -0
  285. data/docs/css/theme-green.css +111 -0
  286. data/docs/css/theme-red.css +111 -0
  287. data/docs/css/theme.css +1132 -0
  288. data/docs/development/changelog/index.html +1368 -0
  289. data/docs/development/code_of_conduct/index.html +969 -687
  290. data/docs/development/contributing/index.html +993 -587
  291. data/docs/development/index.html +1099 -0
  292. data/docs/development/index.xml +54 -0
  293. data/docs/development/license/index.html +959 -579
  294. data/docs/fonts/Inconsolata.eot +0 -0
  295. data/docs/fonts/Inconsolata.svg +359 -0
  296. data/docs/fonts/Inconsolata.ttf +0 -0
  297. data/docs/fonts/Inconsolata.woff +0 -0
  298. data/docs/fonts/Novecentosanswide-Normal-webfont.eot +0 -0
  299. data/docs/fonts/Novecentosanswide-Normal-webfont.svg +1019 -0
  300. data/docs/fonts/Novecentosanswide-Normal-webfont.ttf +0 -0
  301. data/docs/fonts/Novecentosanswide-Normal-webfont.woff +0 -0
  302. data/docs/fonts/Novecentosanswide-Normal-webfont.woff2 +0 -0
  303. data/docs/fonts/Novecentosanswide-UltraLight-webfont.eot +0 -0
  304. data/docs/fonts/Novecentosanswide-UltraLight-webfont.svg +918 -0
  305. data/docs/fonts/Novecentosanswide-UltraLight-webfont.ttf +0 -0
  306. data/docs/fonts/Novecentosanswide-UltraLight-webfont.woff +0 -0
  307. data/docs/fonts/Novecentosanswide-UltraLight-webfont.woff2 +0 -0
  308. data/docs/fonts/Work_Sans_200.eot +0 -0
  309. data/docs/fonts/Work_Sans_200.svg +332 -0
  310. data/docs/fonts/Work_Sans_200.ttf +0 -0
  311. data/docs/fonts/Work_Sans_200.woff +0 -0
  312. data/docs/fonts/Work_Sans_200.woff2 +0 -0
  313. data/docs/fonts/Work_Sans_300.eot +0 -0
  314. data/docs/fonts/Work_Sans_300.svg +331 -0
  315. data/docs/fonts/Work_Sans_300.ttf +0 -0
  316. data/docs/fonts/Work_Sans_300.woff +0 -0
  317. data/docs/fonts/Work_Sans_300.woff2 +0 -0
  318. data/docs/fonts/Work_Sans_500.eot +0 -0
  319. data/docs/fonts/Work_Sans_500.svg +333 -0
  320. data/docs/fonts/Work_Sans_500.ttf +0 -0
  321. data/docs/fonts/Work_Sans_500.woff +0 -0
  322. data/docs/fonts/Work_Sans_500.woff2 +0 -0
  323. data/docs/images/clippy.svg +1 -0
  324. data/docs/images/favicon.png +0 -0
  325. data/docs/images/gopher-404.jpg +0 -0
  326. data/docs/imported/changelog/index.html +1208 -1020
  327. data/docs/imported/index.html +1191 -0
  328. data/docs/imported/index.xml +23 -0
  329. data/docs/index.html +907 -591
  330. data/docs/index.json +183 -0
  331. data/docs/index.xml +212 -0
  332. data/docs/js/auto-complete.js +223 -0
  333. data/docs/js/clipboard.min.js +7 -0
  334. data/docs/js/featherlight.min.js +9 -0
  335. data/docs/js/highlight.pack.js +3 -0
  336. data/docs/js/html5shiv-printshiv.min.js +4 -0
  337. data/docs/js/hugo-learn.js +91 -0
  338. data/docs/js/jquery-3.3.1.min.js +2 -0
  339. data/docs/js/jquery.sticky.js +288 -0
  340. data/docs/js/learn.js +459 -0
  341. data/docs/js/lunr.min.js +6 -0
  342. data/docs/js/modernizr.custom-3.6.0.js +3 -0
  343. data/docs/js/perfect-scrollbar.jquery.min.js +2 -0
  344. data/docs/js/perfect-scrollbar.min.js +2 -0
  345. data/docs/js/search.js +93 -0
  346. data/docs/mermaid/mermaid.css +277 -0
  347. data/docs/mermaid/mermaid.dark.css +278 -0
  348. data/docs/mermaid/mermaid.forest.css +356 -0
  349. data/docs/mermaid/mermaid.js +8 -0
  350. data/docs/quick_reference/index.html +1279 -0
  351. data/docs/quick_reference/index.xml +15 -0
  352. data/docs/sitemap.xml +135 -107
  353. data/docs/tags/index.html +1094 -0
  354. data/docs/tags/index.xml +14 -0
  355. data/docs/tutorial/10-getting_started/index.html +960 -649
  356. data/docs/tutorial/20-project_layout/index.html +1059 -778
  357. data/docs/tutorial/30-your_first_command/index.html +1040 -729
  358. data/docs/tutorial/40-options_parameters_and_arguments/index.html +1151 -868
  359. data/docs/tutorial/50-publishing/index.html +969 -676
  360. data/docs/tutorial/index.html +1099 -0
  361. data/docs/tutorial/index.xml +71 -0
  362. data/docs/webfonts/fa-brands-400.eot +0 -0
  363. data/docs/webfonts/fa-brands-400.svg +1260 -0
  364. data/docs/webfonts/fa-brands-400.ttf +0 -0
  365. data/docs/webfonts/fa-brands-400.woff +0 -0
  366. data/docs/webfonts/fa-brands-400.woff2 +0 -0
  367. data/docs/webfonts/fa-regular-400.eot +0 -0
  368. data/docs/webfonts/fa-regular-400.svg +471 -0
  369. data/docs/webfonts/fa-regular-400.ttf +0 -0
  370. data/docs/webfonts/fa-regular-400.woff +0 -0
  371. data/docs/webfonts/fa-regular-400.woff2 +0 -0
  372. data/docs/webfonts/fa-solid-900.eot +0 -0
  373. data/docs/webfonts/fa-solid-900.svg +2763 -0
  374. data/docs/webfonts/fa-solid-900.ttf +0 -0
  375. data/docs/webfonts/fa-solid-900.woff +0 -0
  376. data/docs/webfonts/fa-solid-900.woff2 +0 -0
  377. data/docs/whoami/index.html +947 -567
  378. data/docs/whoami/index.xml +15 -0
  379. data/exe/rbcli +1 -0
  380. data/lib/rbcli-tool/project.rb +6 -2
  381. data/lib/rbcli/version.rb +1 -1
  382. data/rbcli.gemspec +1 -1
  383. data/skeletons/project/.rakeTasks +7 -0
  384. data/skeletons/project/exe/executable +1 -3
  385. data/skeletons/project/lib/lib.erb +7 -0
  386. data/skeletons/project/untitled.gemspec +13 -15
  387. metadata +356 -65
  388. data/docs-src/mkdocs.yml +0 -79
  389. data/docs/assets/fonts/font-awesome.css +0 -4
  390. data/docs/assets/fonts/material-icons.css +0 -13
  391. data/docs/assets/fonts/specimen/FontAwesome.ttf +0 -0
  392. data/docs/assets/fonts/specimen/FontAwesome.woff +0 -0
  393. data/docs/assets/fonts/specimen/FontAwesome.woff2 +0 -0
  394. data/docs/assets/fonts/specimen/MaterialIcons-Regular.ttf +0 -0
  395. data/docs/assets/fonts/specimen/MaterialIcons-Regular.woff +0 -0
  396. data/docs/assets/fonts/specimen/MaterialIcons-Regular.woff2 +0 -0
  397. data/docs/assets/images/favicon.png +0 -0
  398. data/docs/assets/images/icons/bitbucket.1b09e088.svg +0 -20
  399. data/docs/assets/images/icons/github.f0b8504a.svg +0 -18
  400. data/docs/assets/images/icons/gitlab.6dd19c00.svg +0 -38
  401. data/docs/assets/javascripts/application.583bbe55.js +0 -1
  402. data/docs/assets/javascripts/lunr/lunr.da.js +0 -1
  403. data/docs/assets/javascripts/lunr/lunr.de.js +0 -1
  404. data/docs/assets/javascripts/lunr/lunr.du.js +0 -1
  405. data/docs/assets/javascripts/lunr/lunr.es.js +0 -1
  406. data/docs/assets/javascripts/lunr/lunr.fi.js +0 -1
  407. data/docs/assets/javascripts/lunr/lunr.fr.js +0 -1
  408. data/docs/assets/javascripts/lunr/lunr.hu.js +0 -1
  409. data/docs/assets/javascripts/lunr/lunr.it.js +0 -1
  410. data/docs/assets/javascripts/lunr/lunr.jp.js +0 -1
  411. data/docs/assets/javascripts/lunr/lunr.multi.js +0 -1
  412. data/docs/assets/javascripts/lunr/lunr.no.js +0 -1
  413. data/docs/assets/javascripts/lunr/lunr.pt.js +0 -1
  414. data/docs/assets/javascripts/lunr/lunr.ro.js +0 -1
  415. data/docs/assets/javascripts/lunr/lunr.ru.js +0 -1
  416. data/docs/assets/javascripts/lunr/lunr.stemmer.support.js +0 -1
  417. data/docs/assets/javascripts/lunr/lunr.sv.js +0 -1
  418. data/docs/assets/javascripts/lunr/lunr.tr.js +0 -1
  419. data/docs/assets/javascripts/lunr/tinyseg.js +0 -1
  420. data/docs/assets/javascripts/modernizr.1aa3b519.js +0 -1
  421. data/docs/assets/stylesheets/application-palette.22915126.css +0 -1176
  422. data/docs/assets/stylesheets/application.451f80e5.css +0 -2552
  423. data/docs/imported/quick_reference/index.html +0 -1120
  424. data/docs/search/search_index.json +0 -1
  425. data/docs/sitemap.xml.gz +0 -0
  426. data/skeletons/project/lib/.keep +0 -0
@@ -1,833 +1,717 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="js csstransforms3d">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta name="generator" content="Hugo 0.55.6" />
7
+ <meta name="description" content="">
1
8
 
2
9
 
10
+ <link rel="icon" href="/rbcli/images/favicon.png" type="image/png">
3
11
 
12
+ <title>The Project Layout :: RBCli Documentation</title>
4
13
 
5
- <!DOCTYPE html>
6
- <html lang="en" class="no-js">
7
- <head>
8
14
 
9
- <meta charset="utf-8">
10
- <meta name="viewport" content="width=device-width,initial-scale=1">
11
- <meta http-equiv="x-ua-compatible" content="ie=edge">
12
-
13
- <meta name="description" content="Description">
14
-
15
-
16
-
17
- <meta name="author" content="Andrew Khoury">
18
-
19
-
20
- <meta name="lang:clipboard.copy" content="Copy to clipboard">
21
-
22
- <meta name="lang:clipboard.copied" content="Copied to clipboard">
23
-
24
- <meta name="lang:search.language" content="en">
25
-
26
- <meta name="lang:search.pipeline.stopwords" content="True">
27
-
28
- <meta name="lang:search.pipeline.trimmer" content="True">
29
-
30
- <meta name="lang:search.result.none" content="No matching documents">
31
-
32
- <meta name="lang:search.result.one" content="1 matching document">
33
-
34
- <meta name="lang:search.result.other" content="# matching documents">
35
-
36
- <meta name="lang:search.tokenizer" content="[\s\-]+">
37
-
38
- <link rel="shortcut icon" href="../../assets/images/favicon.png">
39
- <meta name="generator" content="mkdocs-1.0.3, mkdocs-material-3.0.4">
15
+ <link href="/rbcli/css/nucleus.css?1561087612" rel="stylesheet">
16
+ <link href="/rbcli/css/fontawesome-all.min.css?1561087612" rel="stylesheet">
17
+ <link href="/rbcli/css/hybrid.css?1561087612" rel="stylesheet">
18
+ <link href="/rbcli/css/featherlight.min.css?1561087612" rel="stylesheet">
19
+ <link href="/rbcli/css/perfect-scrollbar.min.css?1561087612" rel="stylesheet">
20
+ <link href="/rbcli/css/auto-complete.css?1561087612" rel="stylesheet">
21
+ <link href="/rbcli/css/atom-one-dark-reasonable.css?1561087612" rel="stylesheet">
22
+ <link href="/rbcli/css/theme.css?1561087612" rel="stylesheet">
23
+ <link href="/rbcli/css/hugo-theme.css?1561087612" rel="stylesheet">
40
24
 
25
+ <link href="/rbcli/css/theme-blue.css?1561087612" rel="stylesheet">
41
26
 
27
+
28
+ <script src="/rbcli/js/jquery-3.3.1.min.js?1561087612"></script>
29
+
30
+ <style>
31
+ :root #header + #content > #left > #rlblock_left{
32
+ display:none !important;
33
+ }
42
34
 
43
- <title>The Project Layout - RBCli Documentation</title>
44
-
35
+ </style>
45
36
 
37
+ </head>
38
+ <body class="" data-url="/rbcli/tutorial/20-project_layout/">
39
+ <nav id="sidebar" class="">
40
+
41
+
42
+
43
+ <div id="header-wrapper">
44
+ <div id="header">
45
+ <a id="logo" href="https://akhoury6.github.io/rbcli/" style="font-size: 40px">
46
+ <span class="fas fa-terminal"></span>&nbsp;𝚁𝙱𝙲𝚕𝚒
47
+ </a>
48
+
49
+ </div>
46
50
 
47
- <link rel="stylesheet" href="../../assets/stylesheets/application.451f80e5.css">
48
-
49
-
51
+ <div class="searchbox">
52
+ <label for="search-by"><i class="fas fa-search"></i></label>
53
+ <input data-search-input id="search-by" type="search" placeholder="Search...">
54
+ <span data-search-clear=""><i class="fas fa-times"></i></span>
55
+ </div>
56
+
57
+ <script type="text/javascript" src="/rbcli/js/lunr.min.js?1561087612"></script>
58
+ <script type="text/javascript" src="/rbcli/js/auto-complete.js?1561087612"></script>
59
+ <script type="text/javascript">
50
60
 
61
+ var baseurl = "https:\/\/akhoury6.github.io\/rbcli\/";
51
62
 
52
- <script src="../../assets/javascripts/modernizr.1aa3b519.js"></script>
63
+ </script>
64
+ <script type="text/javascript" src="/rbcli/js/search.js?1561087612"></script>
65
+
53
66
 
67
+ </div>
68
+
69
+ <div class="highlightable">
70
+ <ul class="topics">
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
54
79
 
80
+ <li data-nav-id="/rbcli/quick_reference/" title="Quick Reference" class="dd-item
81
+
82
+
83
+
84
+ ">
85
+ <a href="/rbcli/quick_reference/">
86
+ Quick Reference
87
+
88
+ </a>
55
89
 
56
- <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
57
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
58
- <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
59
-
60
-
61
- <link rel="stylesheet" href="../../assets/fonts/material-icons.css">
62
-
63
-
64
- </head>
90
+
91
+ </li>
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
65
100
 
66
- <body dir="ltr">
67
-
68
- <svg class="md-svg">
69
- <defs>
70
-
71
-
72
- <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
73
- viewBox="0 0 416 448" id="__github">
74
- <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
75
- 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
76
- 18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
77
- 19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
78
- 18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
79
- 304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
80
- 2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
81
- 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
82
- 37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
83
- 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
84
- 1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
85
- 0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
86
- 30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
87
- 46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
88
- 99.5z" />
89
- </svg>
90
-
91
- </defs>
92
- </svg>
93
- <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
94
- <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
95
- <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
96
-
97
- <a href="../../#the-project-layout" tabindex="1" class="md-skip">
98
- Skip to content
99
- </a>
100
-
101
101
 
102
- <header class="md-header" data-md-component="header">
103
- <nav class="md-header-nav md-grid">
104
- <div class="md-flex">
105
- <div class="md-flex__cell md-flex__cell--shrink">
106
- <a href="../.." title="RBCli Documentation" class="md-header-nav__button md-logo">
102
+ <li data-nav-id="/rbcli/tutorial/" title="Tutorial" class="dd-item
103
+ parent
104
+
105
+
106
+ ">
107
+ <a href="/rbcli/tutorial/">
108
+ Tutorial
107
109
 
108
- <i class="md-icon">devices</i>
110
+ </a>
111
+
112
+
113
+ <ul>
109
114
 
110
- </a>
111
- </div>
112
- <div class="md-flex__cell md-flex__cell--shrink">
113
- <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
114
- </div>
115
- <div class="md-flex__cell md-flex__cell--stretch">
116
- <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
117
115
 
118
-
119
- <span class="md-header-nav__topic">
120
- RBCli Documentation
121
- </span>
122
- <span class="md-header-nav__topic">
123
- The Project Layout
124
- </span>
125
-
126
116
 
127
- </div>
128
- </div>
129
- <div class="md-flex__cell md-flex__cell--shrink">
130
-
131
-
132
- <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
133
-
134
- <div class="md-search" data-md-component="search" role="dialog">
135
- <label class="md-search__overlay" for="__search"></label>
136
- <div class="md-search__inner" role="search">
137
- <form class="md-search__form" name="search">
138
- <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
139
- <label class="md-icon md-search__icon" for="__search"></label>
140
- <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
141
- &#xE5CD;
142
- </button>
143
- </form>
144
- <div class="md-search__output">
145
- <div class="md-search__scrollwrap" data-md-scrollfix>
146
- <div class="md-search-result" data-md-component="result">
147
- <div class="md-search-result__meta">
148
- Type to start searching
149
- </div>
150
- <ol class="md-search-result__list"></ol>
151
- </div>
152
- </div>
153
- </div>
154
- </div>
155
- </div>
156
117
 
157
118
 
158
- </div>
159
-
160
- <div class="md-flex__cell md-flex__cell--shrink">
161
- <div class="md-header-nav__source">
119
+
120
+
162
121
 
163
122
 
164
123
 
124
+
125
+
126
+
127
+ <li data-nav-id="/rbcli/tutorial/10-getting_started/" title="Getting Started" class="dd-item ">
128
+ <a href="/rbcli/tutorial/10-getting_started/">
129
+ <b>1. </b>Getting Started
130
+
131
+ </a>
132
+ </li>
133
+
165
134
 
135
+
166
136
 
137
+
138
+
139
+
140
+
167
141
 
168
- <a href="https://github.com/akhoury6/rbcli/" title="Go to repository" class="md-source" data-md-source="github">
169
-
170
- <div class="md-source__icon">
171
- <svg viewBox="0 0 24 24" width="24" height="24">
172
- <use xlink:href="#__github" width="24" height="24"></use>
173
- </svg>
174
- </div>
175
-
176
- <div class="md-source__repository">
177
- GitHub
178
- </div>
179
- </a>
180
142
 
181
- </div>
182
- </div>
183
-
184
- </div>
185
- </nav>
186
- </header>
143
+
144
+
187
145
 
188
- <div class="md-container">
189
-
190
-
191
-
192
-
146
+ <li data-nav-id="/rbcli/tutorial/20-project_layout/" title="The Project Layout" class="dd-item active">
147
+ <a href="/rbcli/tutorial/20-project_layout/">
148
+ <b>2. </b>The Project Layout
193
149
 
194
-
150
+ </a>
151
+ </li>
152
+
195
153
 
154
+
196
155
 
197
- <nav class="md-tabs md-tabs--active" data-md-component="tabs">
198
- <div class="md-tabs__inner md-grid">
199
- <ul class="md-tabs__list">
200
-
201
-
202
- <li class="md-tabs__item">
203
-
204
- <a href="../.." title="Home" class="md-tabs__link">
205
- Home
206
- </a>
207
-
208
- </li>
156
+
157
+
158
+
159
+
209
160
 
210
-
211
-
212
-
213
-
214
-
161
+
162
+
215
163
 
216
- <li class="md-tabs__item">
217
-
218
- <a href="../10-getting_started/" title="Tutorial" class="md-tabs__link md-tabs__link--active">
219
- Tutorial
164
+
165
+ <li data-nav-id="/rbcli/tutorial/30-your_first_command/" title="Your First Command" class="dd-item ">
166
+ <a href="/rbcli/tutorial/30-your_first_command/">
167
+ <b>3. </b>Your First Command
168
+
220
169
  </a>
221
-
222
170
  </li>
171
+
223
172
 
173
+
224
174
 
225
-
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+ <li data-nav-id="/rbcli/tutorial/40-options_parameters_and_arguments/" title="Options, Parameters, and Arguments" class="dd-item ">
185
+ <a href="/rbcli/tutorial/40-options_parameters_and_arguments/">
186
+ <b>4. </b>Options, Parameters, and Arguments
226
187
 
188
+ </a>
189
+ </li>
190
+
227
191
 
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
228
201
 
229
- <li class="md-tabs__item">
230
-
231
- <a href="../../advanced/command_types/" title="Advanced Features" class="md-tabs__link">
232
- Advanced Features
202
+
203
+ <li data-nav-id="/rbcli/tutorial/50-publishing/" title="Publishing Your Application" class="dd-item ">
204
+ <a href="/rbcli/tutorial/50-publishing/">
205
+ <b>5. </b>Publishing Your Application
206
+
233
207
  </a>
234
-
235
208
  </li>
209
+
236
210
 
211
+
237
212
 
238
-
213
+
214
+
239
215
 
240
-
241
-
242
- <li class="md-tabs__item">
243
-
244
- <a href="../../development/contributing/" title="Development" class="md-tabs__link">
245
- Development
246
- </a>
247
-
216
+ </ul>
217
+
248
218
  </li>
249
219
 
220
+
250
221
 
251
-
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+ <li data-nav-id="/rbcli/advanced/" title="Advanced" class="dd-item
230
+
252
231
 
232
+
233
+ ">
234
+ <a href="/rbcli/advanced/">
235
+ Advanced
236
+
237
+ </a>
253
238
 
254
- </ul>
255
- </div>
256
- </nav>
257
239
 
258
- <main class="md-main">
259
- <div class="md-main__inner md-grid" data-md-component="container">
240
+ <ul>
241
+
242
+
243
+
244
+
245
+
260
246
 
261
247
 
262
- <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
263
- <div class="md-sidebar__scrollwrap">
264
- <div class="md-sidebar__inner">
265
- <nav class="md-nav md-nav--primary" data-md-level="0">
266
- <label class="md-nav__title md-nav__title--site" for="__drawer">
267
- <a href="../.." title="RBCli Documentation" class="md-nav__button md-logo">
268
-
269
- <i class="md-icon">devices</i>
270
-
271
- </a>
272
- RBCli Documentation
273
- </label>
274
-
275
- <div class="md-nav__source">
276
-
248
+
277
249
 
278
250
 
251
+
279
252
 
253
+
254
+ <li data-nav-id="/rbcli/advanced/automatic_updates/" title="Automatic Updates" class="dd-item ">
255
+ <a href="/rbcli/advanced/automatic_updates/">
256
+ Automatic Updates
257
+
258
+ </a>
259
+ </li>
260
+
261
+
262
+
280
263
 
264
+
265
+
266
+
267
+
281
268
 
282
- <a href="https://github.com/akhoury6/rbcli/" title="Go to repository" class="md-source" data-md-source="github">
283
-
284
- <div class="md-source__icon">
285
- <svg viewBox="0 0 24 24" width="24" height="24">
286
- <use xlink:href="#__github" width="24" height="24"></use>
287
- </svg>
288
- </div>
289
-
290
- <div class="md-source__repository">
291
- GitHub
292
- </div>
293
- </a>
294
269
 
295
- </div>
270
+
296
271
 
297
- <ul class="md-nav__list" data-md-scrollfix>
298
272
 
299
-
300
-
301
-
273
+ <li data-nav-id="/rbcli/advanced/command_types/" title="Command Types" class="dd-item ">
274
+ <a href="/rbcli/advanced/command_types/">
275
+ Command Types
276
+
277
+ </a>
278
+ </li>
279
+
280
+
281
+
302
282
 
283
+
284
+
285
+
286
+
303
287
 
304
- <li class="md-nav__item">
305
- <a href="../.." title="Home" class="md-nav__link">
306
- Home
307
- </a>
308
- </li>
309
288
 
289
+
290
+
310
291
 
311
-
312
-
313
-
292
+ <li data-nav-id="/rbcli/advanced/distributed_state_locking/" title="Distributed State and Locking" class="dd-item ">
293
+ <a href="/rbcli/advanced/distributed_state_locking/">
294
+ Distributed State and Locking
295
+
296
+ </a>
297
+ </li>
298
+
299
+
300
+
314
301
 
302
+
303
+
304
+
305
+
315
306
 
316
- <li class="md-nav__item">
317
- <a href="../../imported/quick_reference/" title="Quick Reference" class="md-nav__link">
318
- Quick Reference
319
- </a>
320
- </li>
321
307
 
308
+
309
+
322
310
 
323
-
324
-
325
-
326
-
311
+ <li data-nav-id="/rbcli/advanced/hooks/" title="Execution Hooks" class="dd-item ">
312
+ <a href="/rbcli/advanced/hooks/">
313
+ Execution Hooks
314
+
315
+ </a>
316
+ </li>
317
+
327
318
 
319
+
320
+
321
+
322
+
323
+
324
+
328
325
 
329
326
 
330
- <li class="md-nav__item md-nav__item--active md-nav__item--nested">
331
-
332
- <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3" checked>
327
+
328
+
333
329
 
334
- <label class="md-nav__link" for="nav-3">
335
- Tutorial
336
- </label>
337
- <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
338
- <label class="md-nav__title" for="nav-3">
339
- Tutorial
340
- </label>
341
- <ul class="md-nav__list" data-md-scrollfix>
330
+ <li data-nav-id="/rbcli/advanced/interactive_commands/" title="Interactive Commands" class="dd-item ">
331
+ <a href="/rbcli/advanced/interactive_commands/">
332
+ Interactive Commands
342
333
 
343
-
344
-
345
-
346
-
334
+ </a>
335
+ </li>
336
+
337
+
338
+
347
339
 
340
+
341
+
342
+
343
+
348
344
 
349
- <li class="md-nav__item">
350
- <a href="../10-getting_started/" title="Getting Started" class="md-nav__link">
351
- Getting Started
352
- </a>
353
- </li>
354
345
 
346
+
347
+
348
+
349
+ <li data-nav-id="/rbcli/advanced/logging/" title="Logging" class="dd-item ">
350
+ <a href="/rbcli/advanced/logging/">
351
+ Logging
355
352
 
356
-
357
-
358
-
359
-
353
+ </a>
354
+ </li>
355
+
360
356
 
357
+
361
358
 
362
-
363
- <li class="md-nav__item md-nav__item--active">
364
-
365
- <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
366
-
367
-
368
-
369
-
370
- <label class="md-nav__link md-nav__link--active" for="__toc">
371
- The Project Layout
372
- </label>
373
-
374
- <a href="./" title="The Project Layout" class="md-nav__link md-nav__link--active">
375
- The Project Layout
376
- </a>
377
-
378
-
379
- <nav class="md-nav md-nav--secondary">
380
-
359
+
360
+
361
+
362
+
363
+
364
+
365
+
381
366
 
382
367
 
383
-
384
-
385
- <label class="md-nav__title" for="__toc">Table of contents</label>
386
- <ul class="md-nav__list" data-md-scrollfix>
387
-
388
- <li class="md-nav__item">
389
- <a href="#project-initialization-types" title="Project Initialization Types" class="md-nav__link">
390
- Project Initialization Types
391
- </a>
392
-
393
- <nav class="md-nav">
394
- <ul class="md-nav__list">
368
+ <li data-nav-id="/rbcli/advanced/remote_execution/" title="Remote Execution" class="dd-item ">
369
+ <a href="/rbcli/advanced/remote_execution/">
370
+ Remote Execution
395
371
 
396
- <li class="md-nav__item">
397
- <a href="#project-mode" title="Project Mode" class="md-nav__link">
398
- Project Mode
399
- </a>
372
+ </a>
373
+ </li>
374
+
400
375
 
401
- </li>
402
-
403
- <li class="md-nav__item">
404
- <a href="#mini-micro-modes" title="Mini &amp; Micro Modes" class="md-nav__link">
405
- Mini &amp; Micro Modes
406
- </a>
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
407
385
 
408
- </li>
386
+
387
+ <li data-nav-id="/rbcli/advanced/state_storage/" title="State Storage" class="dd-item ">
388
+ <a href="/rbcli/advanced/state_storage/">
389
+ State Storage
409
390
 
410
- </ul>
411
- </nav>
412
-
413
- </li>
414
-
415
- <li class="md-nav__item">
416
- <a href="#project-mode-structure" title="Project Mode Structure" class="md-nav__link">
417
- Project Mode Structure
418
- </a>
419
-
420
- </li>
421
-
422
- <li class="md-nav__item">
423
- <a href="#git-rubygems-and-rspec" title="Git, RubyGems, and rspec" class="md-nav__link">
424
- Git, RubyGems, and rspec
425
- </a>
426
-
427
- </li>
428
-
429
- <li class="md-nav__item">
430
- <a href="#rbcli-folders" title="RBCli Folders" class="md-nav__link">
431
- RBCli Folders
432
- </a>
433
-
434
- </li>
435
-
436
- <li class="md-nav__item">
437
- <a href="#next-steps" title="Next Steps" class="md-nav__link">
438
- Next Steps
439
- </a>
391
+ </a>
392
+ </li>
393
+
440
394
 
441
- </li>
442
-
443
-
444
-
445
-
446
-
447
- </ul>
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
448
404
 
449
- </nav>
450
405
 
451
- </li>
452
-
406
+ <li data-nav-id="/rbcli/advanced/user_config_files/" title="User Configuration Files" class="dd-item ">
407
+ <a href="/rbcli/advanced/user_config_files/">
408
+ User Configuration Files
453
409
 
410
+ </a>
411
+ </li>
412
+
413
+
414
+
415
+
416
+
454
417
 
418
+
419
+ </ul>
420
+
421
+ </li>
422
+
423
+
424
+
455
425
 
456
426
 
457
427
 
458
428
 
459
- <li class="md-nav__item">
460
- <a href="../30-your_first_command/" title="Your First Command" class="md-nav__link">
461
- Your First Command
462
- </a>
463
- </li>
464
-
429
+
430
+
431
+
432
+ <li data-nav-id="/rbcli/development/" title="Development" class="dd-item
465
433
 
434
+
435
+
436
+ ">
437
+ <a href="/rbcli/development/">
438
+ Development
466
439
 
440
+ </a>
441
+
442
+
443
+ <ul>
467
444
 
468
445
 
469
-
470
-
471
- <li class="md-nav__item">
472
- <a href="../40-options_parameters_and_arguments/" title="Options, Parameters, and Arguments" class="md-nav__link">
473
- Options, Parameters, and Arguments
474
- </a>
475
- </li>
476
-
477
-
478
446
 
479
447
 
448
+
480
449
 
450
+
451
+
481
452
 
482
453
 
483
- <li class="md-nav__item">
484
- <a href="../50-publishing/" title="Publishing and Distribution" class="md-nav__link">
485
- Publishing and Distribution
486
- </a>
487
- </li>
488
-
454
+
455
+
456
+
457
+ <li data-nav-id="/rbcli/development/contributing/" title="Contribution Guide" class="dd-item ">
458
+ <a href="/rbcli/development/contributing/">
459
+ Contribution Guide
489
460
 
490
- </ul>
491
- </nav>
492
- </li>
461
+ </a>
462
+ </li>
463
+
464
+
465
+
493
466
 
494
-
495
-
496
-
497
-
467
+
468
+
469
+
470
+
498
471
 
499
472
 
500
- <li class="md-nav__item md-nav__item--nested">
501
-
502
- <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
473
+
474
+
503
475
 
504
- <label class="md-nav__link" for="nav-4">
505
- Advanced Features
506
- </label>
507
- <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
508
- <label class="md-nav__title" for="nav-4">
509
- Advanced Features
510
- </label>
511
- <ul class="md-nav__list" data-md-scrollfix>
512
-
476
+ <li data-nav-id="/rbcli/development/license/" title="License Info" class="dd-item ">
477
+ <a href="/rbcli/development/license/">
478
+ License Info
513
479
 
514
-
515
-
516
-
480
+ </a>
481
+ </li>
482
+
483
+
484
+
517
485
 
486
+
487
+
488
+
489
+
518
490
 
519
- <li class="md-nav__item">
520
- <a href="../../advanced/command_types/" title="Command Types" class="md-nav__link">
521
- Command Types
522
- </a>
523
- </li>
524
491
 
492
+
493
+
494
+
495
+ <li data-nav-id="/rbcli/development/code_of_conduct/" title="Code of Conduct" class="dd-item ">
496
+ <a href="/rbcli/development/code_of_conduct/">
497
+ Code of Conduct
525
498
 
526
-
527
-
528
-
499
+ </a>
500
+ </li>
501
+
502
+
503
+
529
504
 
505
+
506
+
507
+
508
+
530
509
 
531
- <li class="md-nav__item">
532
- <a href="../../advanced/user_config_files/" title="User Config Files" class="md-nav__link">
533
- User Config Files
534
- </a>
535
- </li>
536
510
 
511
+
512
+
513
+
514
+ <li data-nav-id="/rbcli/development/changelog/" title="Changelog" class="dd-item ">
515
+ <a href="/rbcli/development/changelog/">
516
+ Changelog
537
517
 
518
+ </a>
519
+ </li>
520
+
521
+
522
+
523
+
524
+
538
525
 
526
+
527
+ </ul>
528
+
529
+ </li>
530
+
531
+
532
+
539
533
 
540
534
 
541
535
 
542
536
 
543
- <li class="md-nav__item">
544
- <a href="../../advanced/hooks/" title="Hooks" class="md-nav__link">
545
- Hooks
546
- </a>
547
- </li>
548
-
537
+
538
+
539
+
540
+ <li data-nav-id="/rbcli/whoami/" title="My Letter To You" class="dd-item
549
541
 
542
+
543
+
544
+ ">
545
+ <a href="/rbcli/whoami/">
546
+ My Letter To You
550
547
 
551
-
552
-
553
-
548
+ </a>
549
+
550
+
551
+ </li>
552
+
553
+
554
554
 
555
- <li class="md-nav__item">
556
- <a href="../../advanced/logging/" title="Logging" class="md-nav__link">
557
- Logging
558
- </a>
559
- </li>
555
+
556
+
557
+ </ul>
560
558
 
561
-
559
+
560
+
561
+ <section id="shortcuts">
562
+ <h3>More</h3>
563
+ <ul>
562
564
 
565
+ <li>
566
+ <a class="padding" href="https://github.com/akhoury6/rbcli"><i class='fab fa-github'></i> Github repo</a>
567
+ </li>
563
568
 
569
+ <li>
570
+ <a class="padding" href="https://rubygems.org/gems/rbcli"><i class='far fa-gem'></i> Rubygems</a>
571
+ </li>
564
572
 
573
+ </ul>
574
+ </section>
575
+
576
+
577
+
578
+ <section id="footer">
579
+ <p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fas fa-heart"></i></a> from <a href="https://getgrav.org">Grav</a> and <a href="https://gohugo.io/">Hugo</a></p>
565
580
 
581
+ </section>
582
+ </div>
583
+ </nav>
566
584
 
567
- <li class="md-nav__item">
568
- <a href="../../advanced/automatic_updates/" title="Automatic Updates" class="md-nav__link">
569
- Automatic Updates
570
- </a>
571
- </li>
572
585
 
573
-
574
-
575
-
576
-
577
586
 
578
587
 
579
- <li class="md-nav__item">
580
- <a href="../../advanced/state_storage/" title="State Storage" class="md-nav__link">
581
- State Storage
582
- </a>
583
- </li>
584
588
 
585
-
589
+ <section id="body">
590
+ <div id="overlay"></div>
591
+ <div class="padding highlightable">
592
+
593
+ <div>
594
+ <div id="top-bar">
595
+
596
+
597
+ <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
598
+ <span id="sidebar-toggle-span">
599
+ <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
600
+ <i class="fas fa-bars"></i>
601
+ </a>
602
+ </span>
603
+
604
+ <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
605
+
606
+ <span class="links">
607
+
608
+
609
+
586
610
 
587
611
 
612
+
613
+
588
614
 
589
-
590
-
591
- <li class="md-nav__item">
592
- <a href="../../advanced/distributed_state_locking/" title="Distributed State Locking" class="md-nav__link">
593
- Distributed State Locking
594
- </a>
595
- </li>
596
-
597
-
598
615
 
616
+
617
+
599
618
 
600
619
 
620
+ <a href='/rbcli/'></a> > <a href='/rbcli/tutorial/'>Tutorial</a> > The Project Layout
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+ </span>
629
+ </div>
630
+
631
+ <div class="progress">
632
+ <div class="wrapper">
633
+ <nav id="TableOfContents">
634
+ <ul>
635
+ <li>
636
+ <ul>
637
+ <li><a href="#project-initialization-types">Project Initialization Types</a>
638
+ <ul>
639
+ <li><a href="#project-mode">Project Mode</a></li>
640
+ <li><a href="#mini-micro-modes">Mini &amp; Micro Modes</a></li>
641
+ </ul></li>
642
+ <li><a href="#project-mode-structure">Project Mode Structure</a></li>
643
+ <li><a href="#git-rubygems-and-rspec">Git, RubyGems, and rspec</a></li>
644
+ <li><a href="#rbcli-folders">RBCli Folders</a></li>
645
+ <li><a href="#next-steps">Next Steps</a></li>
646
+ </ul></li>
647
+ </ul>
648
+ </nav>
649
+ </div>
650
+ </div>
601
651
 
602
-
603
- <li class="md-nav__item">
604
- <a href="../../advanced/remote_execution/" title="Remote Execution" class="md-nav__link">
605
- Remote Execution
606
- </a>
607
- </li>
608
-
652
+
653
+ </div>
654
+ </div>
655
+
656
+ <div id="head-tags">
609
657
 
658
+ </div>
659
+
660
+ <div id="body-inner">
610
661
 
611
-
662
+ <h1>
663
+
664
+ The Project Layout
665
+ </h1>
612
666
 
613
667
 
668
+
614
669
 
615
- <li class="md-nav__item">
616
- <a href="../../advanced/interactive_commands/" title="Interactive Commands" class="md-nav__link">
617
- Interactive Commands
618
- </a>
619
- </li>
620
670
 
621
-
622
- </ul>
623
- </nav>
624
- </li>
625
671
 
626
-
627
-
628
-
629
-
630
672
 
631
673
 
632
- <li class="md-nav__item md-nav__item--nested">
633
-
634
- <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
635
-
636
- <label class="md-nav__link" for="nav-5">
637
- Development
638
- </label>
639
- <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
640
- <label class="md-nav__title" for="nav-5">
641
- Development
642
- </label>
643
- <ul class="md-nav__list" data-md-scrollfix>
644
-
645
-
646
-
647
-
648
-
674
+ <p>Now we will learn about what an RBCli project looks like and how to start using it.</p>
649
675
 
676
+ <h2 id="project-initialization-types">Project Initialization Types</h2>
650
677
 
651
- <li class="md-nav__item">
652
- <a href="../../development/contributing/" title="Contribution Guide" class="md-nav__link">
653
- Contribution Guide
654
- </a>
655
- </li>
678
+ <p>RBCli can initialize a tool in three different modes:</p>
656
679
 
657
-
658
-
659
-
660
-
680
+ <ul>
681
+ <li>Project Mode (default)</li>
682
+ <li>Mini Mode</li>
683
+ <li>Micro Mode</li>
684
+ </ul>
661
685
 
686
+ <h3 id="project-mode">Project Mode</h3>
662
687
 
663
- <li class="md-nav__item">
664
- <a href="../../development/license/" title="License Info" class="md-nav__link">
665
- License Info
666
- </a>
667
- </li>
688
+ <p>If you&rsquo;ve been following along with the tutorial, you&rsquo;ve already seen Project Mode. An RBCli Project consists of several folders, each of which has a specific function. The RBCli framework handles loading and parsing the code automatically. To generate a standard, full-featured RBCli project, run:</p>
668
689
 
669
-
670
-
671
-
672
-
690
+ <pre><code class="language-bash">rbcli init -n mytool
691
+ </code></pre>
673
692
 
693
+ <p>where <code>mytool</code> can be replaced with any other command name you&rsquo;d like. (We will continue using <code>mytool</code> in this tutorial though!)</p>
674
694
 
675
- <li class="md-nav__item">
676
- <a href="../../development/code_of_conduct/" title="Code of Conduct" class="md-nav__link">
677
- Code of Conduct
678
- </a>
679
- </li>
695
+ <p>Inside the newly created <code>mytool</code> folder you will see a bunch of files and folders related to your project. We will go over the structure later.</p>
680
696
 
681
-
682
-
683
-
684
-
697
+ <h3 id="mini-micro-modes">Mini &amp; Micro Modes</h3>
685
698
 
699
+ <p>If you need to write a CLI tool but project mode feels a bit overkill for you &ndash; if you think a single-file script is all that is needed &ndash; that&rsquo;s where the Mini and Micro modes come in. Instead of generating a full directory tree, you get only a single file that contains most of the functionality of RBCli. To use it, run:</p>
686
700
 
687
- <li class="md-nav__item">
688
- <a href="../../imported/changelog/" title="Changelog" class="md-nav__link">
689
- Changelog
690
- </a>
691
- </li>
701
+ <pre><code class="language-bash">rbcli init -n mytool -t mini
702
+ # or
703
+ rbcli init -n mytool -t micro
704
+ </code></pre>
692
705
 
693
-
694
- </ul>
695
- </nav>
696
- </li>
706
+ <p>The only difference between the two is that <code>mini</code> will show you all available options and some documentation to help you, while <code>micro</code> is for advanced users who just want the samllest file possible.</p>
697
707
 
698
-
699
-
700
-
701
-
708
+ <p>As far as documentation goes, every piece of code present in those files is identical to Project mode so it should be pretty easy to navigate.</p>
702
709
 
710
+ <h2 id="project-mode-structure">Project Mode Structure</h2>
703
711
 
704
- <li class="md-nav__item">
705
- <a href="../../whoami/" title="whoami" class="md-nav__link">
706
- whoami
707
- </a>
708
- </li>
712
+ <p>An RBCli project has the following structure:</p>
709
713
 
710
-
711
- </ul>
712
- </nav>
713
- </div>
714
- </div>
715
- </div>
716
-
717
-
718
- <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
719
- <div class="md-sidebar__scrollwrap">
720
- <div class="md-sidebar__inner">
721
-
722
- <nav class="md-nav md-nav--secondary">
723
-
724
-
725
-
726
-
727
-
728
- <label class="md-nav__title" for="__toc">Table of contents</label>
729
- <ul class="md-nav__list" data-md-scrollfix>
730
-
731
- <li class="md-nav__item">
732
- <a href="#project-initialization-types" title="Project Initialization Types" class="md-nav__link">
733
- Project Initialization Types
734
- </a>
735
-
736
- <nav class="md-nav">
737
- <ul class="md-nav__list">
738
-
739
- <li class="md-nav__item">
740
- <a href="#project-mode" title="Project Mode" class="md-nav__link">
741
- Project Mode
742
- </a>
743
-
744
- </li>
745
-
746
- <li class="md-nav__item">
747
- <a href="#mini-micro-modes" title="Mini &amp; Micro Modes" class="md-nav__link">
748
- Mini &amp; Micro Modes
749
- </a>
750
-
751
- </li>
752
-
753
- </ul>
754
- </nav>
755
-
756
- </li>
757
-
758
- <li class="md-nav__item">
759
- <a href="#project-mode-structure" title="Project Mode Structure" class="md-nav__link">
760
- Project Mode Structure
761
- </a>
762
-
763
- </li>
764
-
765
- <li class="md-nav__item">
766
- <a href="#git-rubygems-and-rspec" title="Git, RubyGems, and rspec" class="md-nav__link">
767
- Git, RubyGems, and rspec
768
- </a>
769
-
770
- </li>
771
-
772
- <li class="md-nav__item">
773
- <a href="#rbcli-folders" title="RBCli Folders" class="md-nav__link">
774
- RBCli Folders
775
- </a>
776
-
777
- </li>
778
-
779
- <li class="md-nav__item">
780
- <a href="#next-steps" title="Next Steps" class="md-nav__link">
781
- Next Steps
782
- </a>
783
-
784
- </li>
785
-
786
-
787
-
788
-
789
-
790
- </ul>
791
-
792
- </nav>
793
- </div>
794
- </div>
795
- </div>
796
-
797
-
798
- <div class="md-content">
799
- <article class="md-content__inner md-typeset">
800
-
801
-
802
-
803
- <h1 id="the-project-layout">The Project Layout</h1>
804
- <p>Now we will learn about what an RBCli project looks like and how to start using it.</p>
805
- <h2 id="project-initialization-types">Project Initialization Types</h2>
806
- <p>RBCli can initialize a tool in three different modes:</p>
807
- <ul>
808
- <li>Project Mode (default)</li>
809
- <li>Mini Mode</li>
810
- <li>Micro Mode</li>
811
- </ul>
812
- <h3 id="project-mode">Project Mode</h3>
813
- <p>If you've been following along with the tutorial, you've already seen Project Mode. An RBCli Project consists of several folders, each of which has a specific function. The RBCli framework handles loading and parsing the code automatically. To generate a standard, full-featured RBCli project, run:</p>
814
- <pre><code class="bash">rbcli init -n mytool
815
- </code></pre>
816
-
817
- <p>where <code>mytool</code> can be replaced with any other command name you'd like. (We will continue using <code>mytool</code> in this tutorial though!)</p>
818
- <p>Inside the newly created <code>mytool</code> folder you will see a bunch of files and folders related to your project. We will go over the structure later.</p>
819
- <h3 id="mini-micro-modes">Mini &amp; Micro Modes</h3>
820
- <p>If you need to write a CLI tool but project mode feels a bit overkill for you -- if you think a single-file script is all that is needed -- that's where the Mini and Micro modes come in. Instead of generating a full directory tree, you get only a single file that contains most of the functionality of RBCli. To use it, run:</p>
821
- <pre><code class="bash">rbcli init -n mytool -t mini
822
- # or
823
- rbcli init -n mytool -t micro
824
- </code></pre>
825
-
826
- <p>The only difference between the two is that <code>mini</code> will show you all available options and some documentation to help you, while <code>micro</code> is for advanced users who just want the samllest file possible.</p>
827
- <p>As far as documentation goes, every piece of code present in those files is identical to Project mode so it should be pretty easy to navigate.</p>
828
- <h2 id="project-mode-structure">Project Mode Structure</h2>
829
- <p>An RBCli project has the following structure:</p>
830
- <pre><code class="text">&lt;name&gt;/
714
+ <pre><code class="language-text">&lt;name&gt;/
831
715
  |--- application/
832
716
  | |--- commands/
833
717
  | | |--- scripts/
@@ -837,6 +721,8 @@ rbcli init -n mytool -t micro
837
721
  | |--- &lt;name&gt;
838
722
  |--- hooks/
839
723
  |--- lib/
724
+ | |--- &lt;name&gt;/
725
+ | |--- &lt;name&gt;.rb
840
726
  |--- spec/
841
727
  |--- userconf/
842
728
  |--- .gitignore
@@ -850,159 +736,554 @@ rbcli init -n mytool -t micro
850
736
  </code></pre>
851
737
 
852
738
  <h2 id="git-rubygems-and-rspec">Git, RubyGems, and rspec</h2>
853
- <p>A few files aren't part of RBCli itself, but are provided for your convenience. If you're experienced in Ruby and Git you can skip over this.</p>
739
+
740
+ <p>A few files aren&rsquo;t part of RBCli itself, but are provided for your convenience. If you&rsquo;re experienced in Ruby and Git you can skip over this.</p>
741
+
742
+ <ul>
743
+ <li><code>.gitignore</code>
744
+
745
+ <ul>
746
+ <li>Specifies which files to ignore in git. If you don&rsquo;t use git you can delete this file</li>
747
+ </ul></li>
748
+ <li><code>.rspec</code>
749
+
854
750
  <ul>
855
- <li><code>.gitignore</code><ul>
856
- <li>Specifies which files to ignore in git. If you don't use git you can delete this file</li>
857
- </ul>
858
- </li>
859
- <li><code>.rspec</code><ul>
860
751
  <li>Configures Rspec for testing your code</li>
861
- </ul>
862
- </li>
863
- <li><code>Gemfile</code><ul>
752
+ </ul></li>
753
+ <li><code>Gemfile</code>
754
+
755
+ <ul>
864
756
  <li>Allows declaring dependencies for when your users install your application</li>
865
- </ul>
866
- </li>
867
- <li><code>Gemspec</code><ul>
757
+ </ul></li>
758
+ <li><code>Gemspec</code>
759
+
760
+ <ul>
868
761
  <li>Same as above, but also lets you fill in more information so that you can publish your application as a gem</li>
869
- </ul>
870
- </li>
871
- <li><code>README.md</code><ul>
762
+ </ul></li>
763
+ <li><code>README.md</code>
764
+
765
+ <ul>
872
766
  <li>A skeleton README file that will appear as a front page documentation to your code in most source control systems (i.e. Github, Bitbucket)</li>
873
- </ul>
874
- </li>
875
- <li><code>CODE_OF_CONDUCT.md</code><ul>
767
+ </ul></li>
768
+ <li><code>CODE_OF_CONDUCT.md</code>
769
+
770
+ <ul>
876
771
  <li>Taken directly from the <a href="http://contributor-covenant.org">contributor covenant</a> for your convenience</li>
877
- </ul>
878
- </li>
879
- <li><code>Rakefile</code><ul>
772
+ </ul></li>
773
+ <li><code>Rakefile</code>
774
+
775
+ <ul>
880
776
  <li>So you can run rspec tests as a rake task</li>
777
+ </ul></li>
881
778
  </ul>
882
- </li>
883
- </ul>
779
+
884
780
  <p>There is a lot of controvesy online regarding using the <code>gemfile</code> vs the <code>gemspec</code>. If you are new to Ruby in general then I suggest declaring your dependencies in the gemspec and leaving the <code>gemfile</code> as-is. This keeps things simple and allows publishing and distributing your tool as a gem.</p>
781
+
885
782
  <p>Additionally, note that a git repo is not created automatically. Using git is out of scope of this tutorial, but you can find tutorials <a href="https://www.tutorialspoint.com/git/">here</a>.</p>
783
+
886
784
  <h2 id="rbcli-folders">RBCli Folders</h2>
785
+
786
+ <ul>
787
+ <li><code>application/</code>
788
+
887
789
  <ul>
888
- <li><code>application/</code><ul>
889
790
  <li>This is where the core of your application will live. You will define CLI options, commands, scripts, and hooks within this folder.</li>
890
- </ul>
891
- </li>
892
- <li><code>config/</code><ul>
893
- <li>This folder contains the configuration for RBCli's features; such as storage, logging, and automatic updates.</li>
894
- </ul>
895
- </li>
896
- <li><code>exe/</code><ul>
791
+ </ul></li>
792
+ <li><code>config/</code>
793
+
794
+ <ul>
795
+ <li>This folder contains the configuration for RBCli&rsquo;s features; such as storage, logging, and automatic updates.</li>
796
+ </ul></li>
797
+ <li><code>exe/</code>
798
+
799
+ <ul>
897
800
  <li>This folder contains the executable for your tool. You should not edit it; doing so may lead to unexpected behavior.</li>
898
- </ul>
899
- </li>
900
- <li><code>hooks/</code><ul>
901
- <li>RBCli has several hooks that can be used to run code at different times, such as the 'default' code that is run when no command is selected. This is where they are placed.</li>
902
- </ul>
903
- </li>
904
- <li><code>lib/</code><ul>
801
+ </ul></li>
802
+ <li><code>hooks/</code>
803
+
804
+ <ul>
805
+ <li>RBCli has several hooks that can be used to run code at different times, such as the &lsquo;default&rsquo; code that is run when no command is selected. This is where they are placed.</li>
806
+ </ul></li>
807
+ <li><code>lib/</code>
808
+
809
+ <ul>
905
810
  <li>This folder is for you to write any additional code as you see fit, for importing into your commands, scripts, and hooks. It is automatically added to the $LOAD_PATH for you, so you can just use require statements like <code>require 'abc.rb'</code> without worrying about where they are located on the filesystem.</li>
906
- </ul>
907
- </li>
908
- <li><code>userconf/</code><ul>
811
+ </ul></li>
812
+ <li><code>userconf/</code>
813
+
814
+ <ul>
909
815
  <li>This folder is for you to place the layout and defaults of any userspace config file. Acceptable formats are yaml and json, though we recommend YAML since it is by far easier to read and supports comments.</li>
910
- </ul>
911
- </li>
912
- <li><code>spec/</code><ul>
816
+ </ul></li>
817
+ <li><code>spec/</code>
818
+
819
+ <ul>
913
820
  <li>This folder is for your rspec tests.</li>
914
- </ul>
915
- </li>
916
- <li><code>.rbcli</code><ul>
821
+ </ul></li>
822
+ <li><code>.rbcli</code>
823
+
824
+ <ul>
917
825
  <li>This file is for internal use by RBCli. It should not be modified or deleted.</li>
826
+ </ul></li>
918
827
  </ul>
919
- </li>
920
- </ul>
828
+
921
829
  <h2 id="next-steps">Next Steps</h2>
922
- <p>For the purposes of getting started right now, you don't actually need to edit any of the defaults already present.</p>
923
- <p>We just finished going through what an RBCli project looks like. Now let's create our first application with it!</p>
830
+
831
+ <p>For the purposes of getting started right now, you don&rsquo;t actually need to edit any of the defaults already present.</p>
832
+
833
+ <p>We just finished going through what an RBCli project looks like. Now let&rsquo;s create our first application with it!</p>
834
+
835
+
836
+ <footer class=" footline" >
837
+
838
+ </footer>
839
+
840
+
841
+
842
+ </div>
843
+
844
+
845
+ </div>
846
+
847
+ <div id="navigation">
848
+
849
+
850
+
851
+
852
+
853
+
924
854
 
925
-
855
+
856
+
926
857
 
927
-
928
-
929
858
 
930
859
 
860
+
861
+
862
+
863
+
864
+
931
865
 
932
-
933
- </article>
934
- </div>
935
- </div>
936
- </main>
937
-
866
+
867
+
868
+
869
+
870
+
871
+
872
+
873
+
874
+
875
+
876
+
877
+
878
+
879
+
880
+
881
+
882
+
883
+
938
884
 
939
- <footer class="md-footer">
940
-
941
- <div class="md-footer-nav">
942
- <nav class="md-footer-nav__inner md-grid">
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
+
943
917
 
944
- <a href="../10-getting_started/" title="Getting Started" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
945
- <div class="md-flex__cell md-flex__cell--shrink">
946
- <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
947
- </div>
948
- <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
949
- <span class="md-flex__ellipsis">
950
- <span class="md-footer-nav__direction">
951
- Previous
952
- </span>
953
- Getting Started
954
- </span>
955
- </div>
956
- </a>
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+
932
+
933
+
957
934
 
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
958
953
 
959
- <a href="../30-your_first_command/" title="Your First Command" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
960
- <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
961
- <span class="md-flex__ellipsis">
962
- <span class="md-footer-nav__direction">
963
- Next
964
- </span>
965
- Your First Command
966
- </span>
967
- </div>
968
- <div class="md-flex__cell md-flex__cell--shrink">
969
- <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
970
- </div>
971
- </a>
954
+
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+
965
+
966
+
967
+
968
+
972
969
 
973
- </nav>
974
- </div>
975
-
976
- <div class="md-footer-meta md-typeset">
977
- <div class="md-footer-meta__inner md-grid">
978
- <div class="md-footer-copyright">
970
+
971
+
972
+
973
+
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+
982
+
983
+
984
+
979
985
 
980
- <div class="md-footer-copyright__highlight">
981
- Copyright © 2018 Andrew Khoury
982
- </div>
986
+
987
+
983
988
 
984
- powered by
985
- <a href="https://www.mkdocs.org">MkDocs</a>
986
- and
987
- <a href="https://squidfunk.github.io/mkdocs-material/">
988
- Material for MkDocs</a>
989
- </div>
990
-
989
+
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
991
1017
 
992
-
993
- </div>
994
- </div>
995
- </footer>
996
-
1018
+
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+
1064
+
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+
1113
+
1114
+
1115
+
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+
1155
+
1156
+
1157
+
1158
+
1159
+
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+
1255
+ <a class="nav nav-prev" href="/rbcli/tutorial/10-getting_started/" title="Getting Started"> <i class="fa fa-chevron-left"></i></a>
1256
+
1257
+
1258
+ <a class="nav nav-next" href="/rbcli/tutorial/30-your_first_command/" title="Your First Command" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
1259
+
1260
+
997
1261
  </div>
1262
+
1263
+ </section>
998
1264
 
999
- <script src="../../assets/javascripts/application.583bbe55.js"></script>
1000
-
1001
- <script>app.initialize({version:"1.0.3",url:{base:"../.."}})</script>
1002
-
1003
-
1004
-
1005
-
1265
+ <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
1266
+ <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
1267
+ </div>
1268
+ <script src="/rbcli/js/clipboard.min.js?1561087612"></script>
1269
+ <script src="/rbcli/js/perfect-scrollbar.min.js?1561087612"></script>
1270
+ <script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1561087612"></script>
1271
+ <script src="/rbcli/js/jquery.sticky.js?1561087612"></script>
1272
+ <script src="/rbcli/js/featherlight.min.js?1561087612"></script>
1273
+ <script src="/rbcli/js/html5shiv-printshiv.min.js?1561087612"></script>
1274
+ <script src="/rbcli/js/highlight.pack.js?1561087612"></script>
1275
+ <script>hljs.initHighlightingOnLoad();</script>
1276
+ <script src="/rbcli/js/modernizr.custom-3.6.0.js?1561087612"></script>
1277
+ <script src="/rbcli/js/learn.js?1561087612"></script>
1278
+ <script src="/rbcli/js/hugo-learn.js?1561087612"></script>
1279
+
1280
+ <link href="/rbcli/mermaid/mermaid.css?1561087612" rel="stylesheet" />
1281
+ <script src="/rbcli/mermaid/mermaid.js?1561087612"></script>
1282
+ <script>
1283
+ mermaid.initialize({ startOnLoad: true });
1284
+ </script>
1006
1285
 
1286
+
1007
1287
  </body>
1008
- </html>
1288
+ </html>
1289
+