mrlunchbox777 / basic-setup

basic box setup
MIT License
6 stars 3 forks source link

feature: Initial migration to golang #117

Closed mrlunchbox777 closed 3 months ago

mrlunchbox777 commented 4 months ago

Contact Details

mrlunchbox777@gmail.com

Feature Description

Prepare a golang CLI app that will be where the majority of the bash scripts will migrate to.

Why?

golang will reduce the amount of boiler plate code that the bash scripts currently have. It will also standardize how arguments are handled, help documentation is generated, and more. It makes code more maintainable and more reusable. Also doing it this way allows this to be a backwards compatible, incremental conversion.

What-should happen?

A new golang project should be created in a directory called bsctl/. This project should be a CLI application called bsctl. It should be abstracted enough to facilitate testing and modular replacement of packages as needed, i.e. using factories. It should maintain >80% test coverage from the start. Pipelines should be built to run tests, builds, releases, formatting checks, linting checks, and documentation bump checks. It should have a Makefile that supports standard development needs, e.g. build, test, coverage, etc. It should support versioning and a CHANGELOG. It should include documentation specific for developers and consumers of the application.

Steps to Test

Covers this TODO, this TODO, and this TODO

Code of Conduct

mrlunchbox777 commented 4 months ago

when working this issue we need to move these variables to the new configuration file implementation - the TODO

mrlunchbox777 commented 4 months ago

we should check this issue for comments about TODO's removed by this migration and ensure that they are actually resolved.

mrlunchbox777 commented 4 months ago

When creating the new issues for migrating functionality ensure to include verbosity. Covers this TODO.

Also these:

mrlunchbox777 commented 4 months ago

closed this accidentally

mrlunchbox777 commented 3 months ago

done