Adding a new capability#
By design, gitlabctl breaks every unique network scan into its own top level command. If you are looking to add a brand new capability to the tool, you can take the following steps.
- Add a file to
cmd/
that corresponds to the sub-command name you'd like to add to thegitlabctl
CLI - You can use
cmd/projects.go
as a template - Your file needs to be a member function of the
gitlabctl
struct and should be of the formInit<cmd>Command
- Add a new member to the
gitlabctl
struct incmd/root.go
that corresponsds to your command name. Remember, the first letter must be capitalized. - Call your
Init
function frommain.go
- Add logic to your commands runtime and put it in its own package within
internal
(e.g.,internal/projects
)