cli.yml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. name: sync-it
  2. version: "0.1.0"
  3. author: Samuel W. Flint <swflint@flintfam.org>
  4. about: Synchronize directories flexibly
  5. settings:
  6. - SubcommandRequired
  7. args:
  8. - config:
  9. short: c
  10. long: config
  11. value_name: FILE
  12. help: Sets a custom config file
  13. takes_value: true
  14. - license:
  15. short: l
  16. long: license
  17. help: Shows license
  18. takes_value: false
  19. subcommands:
  20. - run:
  21. about: Run sychronization for repositories and groups
  22. aliases:
  23. - sync
  24. - rr
  25. args:
  26. - name:
  27. index: 1
  28. multiple: true
  29. value_name: REPO_OR_GROUP
  30. help: The name of a repository or group to sync
  31. - repository:
  32. about: Create and manage repositories
  33. settings:
  34. - SubcommandRequired
  35. aliases:
  36. - repo
  37. - r
  38. subcommands:
  39. - register:
  40. about: Register the current directory as a repository
  41. args:
  42. - type:
  43. index: 1
  44. value_name: REPO_TYPE
  45. help: The type of repository
  46. required: true
  47. - name:
  48. index: 2
  49. value_name: REPO_NAME
  50. help: The name of the repository
  51. required: true
  52. - options:
  53. index: 3
  54. value_name: OPTION
  55. help: Type-specific options, in form "name=value"
  56. multiple: true
  57. - config:
  58. about: Configure a repository
  59. args:
  60. - name:
  61. index: 1
  62. value_name: NAME
  63. help: The name of the repository
  64. required: true
  65. - autocreate:
  66. long: autocreate
  67. value_name: YES/NO
  68. help: Enable autocreation
  69. takes_value: true
  70. multiple: false
  71. - disable:
  72. long: disable
  73. value_name: YES/NO
  74. help: Disable repository
  75. takes_value: true
  76. multiple: false
  77. - options:
  78. long: options
  79. value_name: OPTION=VALUE
  80. help: Type-specific options
  81. multiple: true
  82. takes_value: true
  83. - show:
  84. about: Show information about a repository
  85. args:
  86. - name:
  87. index: 1
  88. value_name: NAME
  89. help: The name of the repository
  90. required: true
  91. - group:
  92. about: Create and manage groups of repositories
  93. settings:
  94. - SubcommandRequired
  95. subcommands:
  96. - create:
  97. about: Create a group
  98. args:
  99. - name:
  100. index: 1
  101. value_name: GROUP_NAME
  102. help: The name of the group
  103. required: true
  104. - delete:
  105. about: Delete a group
  106. args:
  107. - name:
  108. index: 1
  109. value_name: GROUP_NAME
  110. help: The name of the group
  111. required: true
  112. - add:
  113. about: Add a repo to a group
  114. args:
  115. - group:
  116. index: 1
  117. value_name: GROUP_NAME
  118. help: The name of the group
  119. required: true
  120. - repo:
  121. index: 2
  122. value_name: REPO_NAME
  123. help: The name of the repo
  124. required: true
  125. - remove:
  126. about: Remove a repo from a group
  127. args:
  128. - group:
  129. index: 1
  130. value_name: GROUP_NAME
  131. help: The name of the group
  132. required: true
  133. - repo:
  134. index: 2
  135. value_name: REPO_NAME
  136. help: The name of the repo
  137. required: true
  138. - show:
  139. about: Show information about a group
  140. args:
  141. - name:
  142. index: 1
  143. value_name: NAME
  144. help: The name of the group
  145. required: true
  146. - type:
  147. about: Create and manage repository types
  148. settings:
  149. - SubcommandRequired
  150. subcommands:
  151. - create:
  152. about: Create a new repository type
  153. args:
  154. - name:
  155. index: 1
  156. value_name: NAME
  157. help: Name of the repository type
  158. required: true
  159. - description:
  160. long: description
  161. takes_value: true
  162. help: Description of the repository type
  163. - create:
  164. long: create
  165. takes_value: true
  166. help: Command to create a repository of type NAME
  167. - inward:
  168. long: inward
  169. takes_value: true
  170. help: Command to perform inward sync of a repository of type NAME
  171. - outward:
  172. long: outward
  173. takes_value: true
  174. help: Command to perform outward sync of a repository of type NAME
  175. - config:
  176. about: Configure a repository type
  177. args:
  178. - name:
  179. index: 1
  180. value_name: NAME
  181. help: Name of the repository type
  182. required: true
  183. - description:
  184. long: description
  185. takes_value: true
  186. help: Description of the repository type
  187. - create:
  188. long: create
  189. takes_value: true
  190. help: Command to create a repository of type NAME
  191. - inward:
  192. long: inward
  193. takes_value: true
  194. help: Command to perform inward sync of a repository of type NAME
  195. - outward:
  196. long: outward
  197. takes_value: true
  198. help: Command to perform outward sync of a repository of type NAME
  199. - show:
  200. about: Show information about a type
  201. args:
  202. - name:
  203. index: 1
  204. value_name: NAME
  205. help: The name of the repository type
  206. required: true
  207. - action:
  208. about: Create and manage actions
  209. settings:
  210. - SubcommandRequired
  211. subcommands:
  212. - create:
  213. about: Create a new action
  214. args:
  215. - name:
  216. index: 1
  217. value_name: NAME
  218. help: The name of the action
  219. required: true
  220. - command:
  221. index: 2
  222. value_name: COMMAND
  223. help: The command the action runs
  224. required: true
  225. - config:
  226. about: Configure an action
  227. args:
  228. - name:
  229. index: 1
  230. value_name: NAME
  231. help: The name of the action
  232. required: true
  233. - enabled:
  234. long: enabled
  235. value_name: YES/NO
  236. help: Enable this action
  237. - command:
  238. long: command
  239. value_name: COMMAND
  240. help: The command the action runs
  241. required: true
  242. - show:
  243. about: Show information about an action
  244. args:
  245. - name:
  246. index: 1
  247. value_name: NAME
  248. help: The name of the repository type
  249. required: true