Project Abstract
Weekly Summary
Pull Requests & Issues
Would like to sync?
Links
Charmil is a framework for building command line plugins on top of Golang Cobra Library. Charmil will grant your cobra-based CLI superpowers that cobra does not support and that show to be crucial tools for efficiency and effectiveness. These CLI’s can also be added to any Host CLI as plugins.
Cobra is standard and very famous in the CLI industry and is being used in many industry projects such as Kubernetes, rhoas, gh-cli, etc. To make the development process easier we introduced Charmil.
Charmil solves many problems/issues faced by developers during development of CLI’s. The major feature that Charmil brings on the table is the ability to develop multiple fragmented CLI’s, maintained/working in separate repositories, and later embed/combine them in a single Host CLI.
For detailed description visit Charmil
This summarizes my work during this summer with Aerogear
Pull Request | Related Issue |
---|---|
#45 charmil as wrapper for cobra | Charmil Core |
#48 Factory(RHOAS) for driving charmil | Charmil Core |
#52 Add i18n support & improve logging | issue#50 #51 |
#82 Validator for cobra commands | issue#58 |
#83 CI/CD & issue pr templates | issue#53 |
#97 fix: traverse all the child cmds + duplicates | issue#95 |
#101 test for validator & add it to CI/CD | issue#94 issue#92 |
#767 add cobra commands validator in Rhoas | issue#777 |
#103 validate rules in loop | issue#98 issue#93 issue#53 |
#105 refactor RuleConfig + overriding default values | issue#110 issue#104 issue#133 |
#139 Regex validation in command name(UseMatches rule) | issue#84 |
#142 Set up gh-pages and settings for docusaurus | issue#140 |
#144 Config with array of commands during validation | issue#86 |
#154 Pull pkg from starter to charmil core | issue#149 |
#814 Update charmil & validatorOptions in rhoas | Breaking changes in new release |
#155 Charmil CLI for starter project | issue#143 |
#159 feat: example validation | issue#116 |
#160 chore: refactor docs & contributing.md | issue#148 issue#126 issue#111 issue#54 |
#161 fix: skip validation for children | issue#151 |
#170 feat: charmil init command | issue#165 issue#164 |
#173 chore: remove starter from main | Charmil Core |
#182 feat: Punctuation rule in validator | issue#168 |
#188 chore: refactor repo structure | issue#180 |
#860 docs: remove full stops from flags | issue#830 |
#193 fix: goreleaser build path | Build issue |
#195 chore: move factory to starter | issue#162 |
#201 fix: update starter url and imports | Charmil Init Command |
#900 fix: locale key err in cluster_kubernetes | issue#899 |
#202 feat: disable validation rule option | issue#197 |
#203 feat: check for updates in starter | issue#138 |
#207 feat: add command in charmil cli | issue#166 |
#209 docs: update i18n docs | issue#163 |
#219 chore: refactor core package | issue#213 issue#183 issue#185 |
#223 feat: example builder utility | issue#218 |
The Summer was productive for us, but there are some things we can do better. Mostly the future goals depends upon - charmil issues, on which we will be continuing working on after GSoC ends. Here are some of the issues to catch up.
A big thanks to my mentors Wojciech Trocki, Jack Delahunt, Dimitri Saridakis, JJ Kiely, Ramakrishna Pattnaik, Maksym Vavilov for being active and guiding us during the whole period.
Thank you for including me in the project’s development; it was a fantastic learning experience for me this summer.