/kindly

Kindly install tool.

Primary LanguageGoApache License 2.0Apache-2.0


Logo

Kindly

Release build Go Report Card GitHub Donate Buy me a coffee Open in Visual Studio Code

Kindly is a free and open-source software package management CLI tool that simplifies the installation of software.

Documentation

All documentation at kindly.sh.

Install

Download

  1. Download a prebuilt executable binary for your operating system from the GitHub releases page.
  2. Unzip the archive and place the executable binary wherever you would like to run it from. Additionally consider adding the location directory in the PATH variable if you would like the kindly command to be available everywhere.

Compile

Clone

git clone https://github.com/borkod/kindly

Build using make

TODO

make build

Build using go

cd kindly
go build .

Usage

Usage:
  kindly [command]

Available Commands:
  check       Check if a package is available.
  help        Help about any command
  install     Installs one or many packages.
  list        Lists available packages.
  remove      Removes a previously installed package.
  template    Generate a Kindly YAML spec template for a GitHub repo.

Flags:
      --Arch string               Architecture (default is current architecture)
      --ManifestDir string        Default kindly manifests directory (default is $HOME/.kindly/manifests/)
      --OS string                 Operating System (default is current OS)
      --OutBinDir string          Default binary file output directory (default is $HOME/.kindly/bin/)
      --OutCompletionDir string   Default completions file output directory (default is $HOME/.kindly/completion/)
      --OutManDir string          Default man pages output directory (default is $HOME/.kindly/man/)
      --Source string             Source of package spec files (default "https://raw.githubusercontent.com/borkod/kindly-specs/main/specs/")
      --completion string         Completion shell setting (default "bash")
      --config string             config file (default is $HOME/.kindly/.kindly.yaml)
  -h, --help                      help for kindly
  -v, --verbose                   Verbose output
      --version                   version for kindly

Roadmap / TODO

  • Refactor Cobra commands to remove init
  • Add functionality to accept sources of spec files as an array; Search for a package through the list of sources.
  • Testing
  • Add more packages
  • Github workflows
  • Install command:
    • Update command to accept local Kindly spec YAML files, or full remote URL
    • If user installs a new version of a package that has less files or different file names than a previously installed version - remove may not properly remove all files as the package manifest (and hence file names) will be rewritten. User will have to manually delete any unwanted files from the previous version. Ensure this is documented.
  • Add Update command
    • Updates all installed packages if new version available
  • Add command to list locally installed packages

Go Package

TODO

Development

TODO

Credit

TODO

License

Apache-2.0