cli.yml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. name: sync-it
  2. author: Samuel W. Flint <swflint@flintfam.org>
  3. about: Synchronize directories flexibly
  4. settings:
  5. - SubcommandRequired
  6. args:
  7. - config:
  8. short: c
  9. long: config
  10. value_name: FILE
  11. help: Sets a custom config file
  12. takes_value: true
  13. - license:
  14. short: l
  15. long: license
  16. help: Shows license
  17. takes_value: false
  18. subcommands:
  19. - run:
  20. about: Run sychronization for repositories and groups
  21. aliases:
  22. - sync
  23. - rr
  24. args:
  25. - name:
  26. index: 1
  27. multiple: true
  28. value_name: REPO_OR_GROUP
  29. help: The name of a repository or group to sync
  30. - command:
  31. short: C
  32. long: comand
  33. value_name: COMMAND
  34. help: Run named command
  35. takes_value: true
  36. - repository:
  37. about: Create and manage repositories
  38. settings:
  39. - SubcommandRequired
  40. aliases:
  41. - repo
  42. - r
  43. subcommands:
  44. - list:
  45. about: List repositories
  46. - register:
  47. about: Register the current directory as a repository
  48. args:
  49. - type:
  50. index: 1
  51. value_name: REPO_TYPE
  52. help: The type of repository
  53. required: true
  54. - name:
  55. long: name
  56. short: n
  57. value_name: REPO_NAME
  58. help: The name of the repository
  59. - options:
  60. index: 2
  61. value_name: OPTION
  62. help: Type-specific options, in form "name=value"
  63. multiple: true
  64. - config:
  65. about: Configure a repository
  66. args:
  67. - name:
  68. index: 1
  69. value_name: NAME
  70. help: The name of the repository
  71. required: true
  72. - autocreate:
  73. long: autocreate
  74. value_name: YES/NO
  75. help: Enable autocreation
  76. takes_value: true
  77. multiple: false
  78. - disable:
  79. long: disable
  80. value_name: YES/NO
  81. help: Disable repository
  82. takes_value: true
  83. multiple: false
  84. - options:
  85. long: options
  86. value_name: OPTION=VALUE
  87. help: Type-specific options
  88. multiple: true
  89. takes_value: true
  90. - remove:
  91. about: Remove a repository from the configuration
  92. args:
  93. - name:
  94. index: 1
  95. value_name: NAME
  96. help: The name of the repository
  97. required: true
  98. - show:
  99. about: Show information about a repository
  100. args:
  101. - name:
  102. index: 1
  103. value_name: NAME
  104. help: The name of the repository
  105. required: true
  106. - group:
  107. about: Create and manage groups of repositories
  108. settings:
  109. - SubcommandRequired
  110. subcommands:
  111. - create:
  112. about: Create a group
  113. args:
  114. - name:
  115. index: 1
  116. value_name: GROUP_NAME
  117. help: The name of the group
  118. required: true
  119. - delete:
  120. about: Delete a group
  121. args:
  122. - name:
  123. index: 1
  124. value_name: GROUP_NAME
  125. help: The name of the group
  126. required: true
  127. - add:
  128. about: Add a repo to a group
  129. args:
  130. - name:
  131. index: 1
  132. value_name: GROUP_NAME
  133. help: The name of the group
  134. required: true
  135. - repo:
  136. index: 2
  137. value_name: REPO_NAME
  138. help: The name of the repo
  139. required: true
  140. - act:
  141. about: Add action to a group
  142. args:
  143. - name:
  144. index: 1
  145. value_name: GROUP_NAME
  146. help: The name of the group
  147. required: true
  148. - action:
  149. index: 2
  150. value_name: ACTION_NAME
  151. help: The name of the action
  152. required: true
  153. - remove:
  154. about: Remove a repo from a group
  155. args:
  156. - name:
  157. index: 1
  158. value_name: GROUP_NAME
  159. help: The name of the group
  160. required: true
  161. - repo:
  162. index: 2
  163. value_name: REPO_NAME
  164. help: The name of the repo
  165. required: true
  166. - drop:
  167. about: Remove a group
  168. args:
  169. - name:
  170. index: 1
  171. value_name: GROUP_NAME
  172. help: The name of the group
  173. required: true
  174. - show:
  175. about: Show information about a group
  176. args:
  177. - name:
  178. index: 1
  179. value_name: NAME
  180. help: The name of the group
  181. required: true
  182. - list:
  183. about: List known groups
  184. - type:
  185. about: Create and manage repository types
  186. settings:
  187. - SubcommandRequired
  188. subcommands:
  189. - create:
  190. about: Create a new repository type
  191. args:
  192. - name:
  193. index: 1
  194. value_name: NAME
  195. help: Name of the repository type
  196. required: true
  197. - description:
  198. long: description
  199. takes_value: true
  200. help: Description of the repository type
  201. - create:
  202. long: create
  203. takes_value: true
  204. help: Command to create a repository of type NAME
  205. - inward:
  206. long: inward
  207. takes_value: true
  208. help: Command to perform inward sync of a repository of type NAME
  209. - outward:
  210. long: outward
  211. takes_value: true
  212. help: Command to perform outward sync of a repository of type NAME
  213. - status:
  214. long: status
  215. takes_value: true
  216. help: Command to display status of repository
  217. - pre_inward:
  218. long: pre-inward
  219. takes_value: true
  220. help: Command describing potential pre-inward action
  221. - post_inward:
  222. long: post-inward
  223. takes_value: true
  224. help: Command describing post-inward action
  225. - post_outward:
  226. long: post-outward
  227. takes_value: true
  228. help: Command describing post-outward action
  229. - config:
  230. about: Configure a repository type
  231. args:
  232. - name:
  233. index: 1
  234. value_name: NAME
  235. help: Name of the repository type
  236. required: true
  237. - description:
  238. long: description
  239. takes_value: true
  240. help: Description of the repository type
  241. - create:
  242. long: create
  243. takes_value: true
  244. help: Command to create a repository of type NAME
  245. - inward:
  246. long: inward
  247. takes_value: true
  248. help: Command to perform inward sync of a repository of type NAME
  249. - outward:
  250. long: outward
  251. takes_value: true
  252. help: Command to perform outward sync of a repository of type NAME
  253. - status:
  254. long: status
  255. takes_value: true
  256. help: Command to display status of repository
  257. - pre_inward:
  258. long: pre-inward
  259. takes_value: true
  260. help: Command describing potential pre-inward action
  261. - post_inward:
  262. long: post-inward
  263. takes_value: true
  264. help: Command describing post-inward action
  265. - post_outward:
  266. long: post-outward
  267. takes_value: true
  268. help: Command describing post-outward action
  269. - command:
  270. about: Manage commands in a repo type
  271. settings:
  272. - SubcommandRequired
  273. subcommands:
  274. - add:
  275. about: Create a new command
  276. args:
  277. - type:
  278. index: 1
  279. value_name: REPO_TYPE
  280. help: Repository Type
  281. required: true
  282. - name:
  283. index: 2
  284. value_name: COMMAND_NAME
  285. help: Command Name
  286. required: true
  287. - command:
  288. index: 3
  289. value_name: COMMAND
  290. help: Command
  291. required: true
  292. - change:
  293. about: Change a command
  294. args:
  295. - type:
  296. index: 1
  297. value_name: REPO_TYPE
  298. help: Repository Type
  299. required: true
  300. - name:
  301. index: 2
  302. value_name: COMMAND_NAME
  303. help: Command Name
  304. required: true
  305. - command:
  306. index: 3
  307. value_name: COMMAND
  308. help: Command
  309. required: true
  310. - remove:
  311. about: Remove a command
  312. args:
  313. - type:
  314. index: 1
  315. value_name: REPO_TYPE
  316. help: Repository Type
  317. required: true
  318. - name:
  319. index: 2
  320. value_name: COMMAND_NAME
  321. help: Command Name
  322. required: true
  323. - show:
  324. about: Show information about a type
  325. args:
  326. - name:
  327. index: 1
  328. value_name: NAME
  329. help: The name of the repository type
  330. required: true
  331. - list:
  332. about: List known repository types
  333. - action:
  334. about: Create and manage actions
  335. settings:
  336. - SubcommandRequired
  337. subcommands:
  338. - create:
  339. about: Create a new action
  340. args:
  341. - name:
  342. index: 1
  343. value_name: NAME
  344. help: The name of the action
  345. required: true
  346. - command:
  347. index: 2
  348. value_name: COMMAND
  349. help: The command the action runs
  350. required: true
  351. - description:
  352. long: description
  353. value_name: DESCRIPTION
  354. help: Description of the action
  355. takes_value: true
  356. - config:
  357. about: Configure an action
  358. args:
  359. - name:
  360. index: 1
  361. value_name: NAME
  362. help: The name of the action
  363. required: true
  364. - disabled:
  365. long: disabled
  366. value_name: YES/NO
  367. help: Enable this action
  368. takes_value: true
  369. - command:
  370. long: command
  371. value_name: COMMAND
  372. help: The command the action runs
  373. takes_value: true
  374. required: true
  375. - description:
  376. long: description
  377. value_name: DESCRIPTION
  378. help: Description of the action
  379. takes_value: true
  380. - show:
  381. about: Show information about an action
  382. args:
  383. - name:
  384. index: 1
  385. value_name: NAME
  386. help: The name of the repository type
  387. required: true
  388. - list:
  389. about: List known actions