A CLI tool for development productivity.
go install github.com/unmango/devctl/cmd
The current supported functionalitly includes listing source code files and managing dependency version files.
Useful for make
targets
$ devctl list --go
# cmd/devctl_suite_test.go
# cmd/init_test.go
# cmd/main.go
# cmd/version_test.go
# ...
$ devctl list --go --exclude-tests
# cmd/main.go
# pkg/cmd/init/version.go
# pkg/cmd/init.go
# ...
This is a convention based versioning system where version numbers are stored in plaintext files located in the .versions
directory of a given repository's root.
$ devctl init version foo v0.0.69 && cat .versions/foo
# 0.0.69
$ devctl version foo
# 0.0.69
This convention is useful alongside make
where version updates can trigger targets:
bin/mybin: .versions/mybin
go install mybin@$(shell devctl $<)