⚗ The most advanced CLI template on earth! Featuring automatic releases, website generation and a custom CI-System out of the box.

cli-template

A template for beautiful, modern, cross-platform compatible CLI tools written with Go!

Screenshot


Getting Started | Wiki


This template features
Modern Style 💎
Build on top of cobra 🐍
Automatic Releases 🚀
Easy installation for your users (one command) 🐥
Automatic Website/Docs Generation 🌐
Automatic Deployment 🔝
Update Checking
Custom CI-System 🤖
Custom Libraries 🔬

Getting Started

You can find an in-depth tutorial in the Wiki here: Getting Started

  1. Click on Use this template on the top of the page.
  2. Enable GitHub Pages and set the path to /docs.
  3. Create a personal access token (with repo scope) and add it as a repository secret (name: REPO_ACCESS_TOKEN).
  4. Clone and open your repository to change the description of your CLI in ./cmd/root.go.
  5. After you have set up your programm you have to create the very first release manually (v0.0.1), to initialize the CI-System. (Don't worry if your CLI tool doesn't do anything yet. It's common that the v0.0.1 release is just the plain project setup)
  6. The setup is done and you can start to code!

This template uses spf13/cobra as CLI framework.
You can find their documentation here: cobra.dev

Features

Modern Style

PTerm Documentation Link

This template uses PTerm to provide colorful, cross-platform compatible output by default!
By using PTerm, you can output progressbars, colored text, charts and many more.

Build on top of cobra

Cobra Documentation Link

Cobra is a popular CLI framework for Go.

Automatic Releases

Documentation link

Our custom made CI system will detect when you change the version of your CLI and will automatically create a new GitHub release for you. You'll never have to deploy your CLI tools manually again!

Install Ready

Instl Documentation link

The automatic releases contain binaries, for the most common operating systems.
This binaries can be installed using instl.sh.

This means that your users, can install your CLI Tool with a single command!
The command will automatically be put into your README.md, after you click Use this template.

The commands will look like below, depending on the OS, your user has.

Windows

iwr instl.sh/username/reponame/windows | iex 

macOS

curl -sSL instl.sh/username/reponame/macos | sudo bash   

Linux

curl -sSL instl.sh/username/reponame/linux | sudo bash  

Automatic Website Generation

Documentation link

Every time you push a new commit, a GitHub Pages website is created/updated, which documents your whole CLI tool automatically. You don't need to document anything by yourself.

You only need to enable GitHub Pages by going to your repository settings (set the path to /docs).

Automatic Deployment

Goreleaser Documentation link

This template uses Goreleaser to build binaries of GitHub releases, for the most common operating systems.
Since we feature Automatic Releases, your whole deployment process is automated, when you increase the version of your CLI tool.

Update Checking

Your users will be notified if a new version of your tool is availble.

Custom CI-System

Documentation link

We wrote a custom CI-System, which will be included in your repository.
It sets up the template, creates/updates the website, writes docs for you and run your tests. (And much more!)

Custom Libraries

We use libraries, which were specially made for this template, to give you the best user experience without a ton of code.

Owner
✨ A modern go module to beautify console output. Featuring charts, progressbars, tables, trees and many more 🚀 It's completely configurable and cross-platform!
null
Comments
  • Setup script fails for repositories cloned with SSH credentials

    Setup script fails for repositories cloned with SSH credentials

    Remotes for repositories cloned with SSH credentials have a slightly different format:

    [email protected]:organisation/cli.git

    This means that in the setup script, matching on "https://github.com/" isn't enough. Ideally, you would want to match on either https://github.com/ or [email protected].

  • chore(deps): bump github.com/pterm/pterm from 0.12.24 to 0.12.26

    chore(deps): bump github.com/pterm/pterm from 0.12.24 to 0.12.26

    Bumps github.com/pterm/pterm from 0.12.24 to 0.12.26.

    Release notes

    Sourced from github.com/pterm/pterm's releases.

    v0.12.26

    Bug Fixes

    • spinner: Override previous text in UpdateText

    v0.12.25

    Features

    • table: add Boxed option
    Changelog

    Sourced from github.com/pterm/pterm's changelog.

    [Unreleased]

    Chore

    • trigger build
    • trigger build
    • github: add codespaces support
    • gitpod: remove gitpod config file
    • vsc: add recommended extensions for VS Code

    Documentation Changes

    • fix live printer template comment
    • add live printer template

    Features

    • table: add Boxed option

    Test

    • add tests for boxed TablePrinter

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @MarvinJWendt.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/spf13/cobra from 1.4.0 to 1.6.0

    chore(deps): bump github.com/spf13/cobra from 1.4.0 to 1.6.0

    Bumps github.com/spf13/cobra from 1.4.0 to 1.6.0.

    Release notes

    Sourced from github.com/spf13/cobra's releases.

    v1.6.0

    Summer 2022 Release

    Some exciting changes make their way to Cobra! Command completions continue to get better and better (including adding --help and --version automatic flags to the completions list). Grouping is now possible in your help output as well! And you can now use the OnFinalize method to cleanup things when all "work" is done. Checkout the full changelog below:


    Features 🌠

    Deprecation 👎🏼

    • ExactValidArgs is deprecated (but not being removed entirely). This is abit nuanced, so checkout #1643 for further information and the updated user_guide.md on how this may affect you (and how you can take advantage of the correct behavior in the validators): @​umarcor #1643

    Bug fixes 🐛

    Dependencies 🗳️

    Testing 🤔

    Docs ✏️

    Misc 💭

    Note: Per #1804, we will be moving away from "seasonal" releases and doing more generic point release targets. Continue to track the milestones and issues in the spf13/cobra GitHub repository for more information!

    Great work everyone! Cobra would never be possible without your contributions! 🐍

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.49

    chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.49

    Bumps github.com/pterm/pterm from 0.12.38 to 0.12.49.

    Release notes

    Sourced from github.com/pterm/pterm's releases.

    v0.12.49

    What's Changed

    Fixes 🔧

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.48...v0.12.49

    v0.12.48

    What's Changed

    Exciting New Features 🎉

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.47...v0.12.48

    v0.12.47

    What's Changed

    Exciting New Features 🎉

    Other Changes

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.46...v0.12.47

    v0.12.46

    What's Changed

    Exciting New Features 🎉

    Fixes 🔧

    Other Changes

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.45...v0.12.46

    v0.12.45

    ... (truncated)

    Changelog

    Sourced from github.com/pterm/pterm's changelog.

    [v0.12.49] - 2022-10-03

    [v0.12.48] - 2022-10-02

    Features

    • custom select/confirm key for interactive printer
    • add flag to disable filter/search for interactive printer

    [v0.12.47] - 2022-09-19

    Features

    • adding interactive continue printer

    Bug Fixes

    • typo
    • append the selected value to the prompt

    Code Refactoring

    • ignore invalid custom handles
    • initiazile handles on getSuffix
    • comment format
    • address renaming PR comments
    • show full handles by default
    • use a map for the options

    Reverts

    • refactor: use a map for the options

    [v0.12.46] - 2022-09-05

    Features

    • putils: add CenterText in putils

    Bug Fixes

    • textinput: fixed overwriting the default values

    [v0.12.45] - 2022-07-26

    Bug Fixes

    • make sure the interactive printers can cleanup after Ctrl+C
    • the interactive confirm answers should match the confirm/reject text

    Test

    • add tests for custom answers

    ... (truncated)

    Commits
    • ed2d166 docs: autoupdate
    • ab30f0c Merge pull request #409 from pterm/352-dont-stop-liveprinters-if-they-are-alr...
    • 4594983 fixed #352
    • d5e6ca6 docs: autoupdate
    • b14fbe3 Merge pull request #402 from jochil/customizable-multiselect-printer
    • 0250cff refactored example
    • 24d0594 feat: custom select/confirm key for interactive printer
    • 853f3e2 feat: add flag to disable filter/search for interactive printer
    • 0da799e docs: autoupdate
    • b17aa32 refactored WithXxx functions that set boolean options
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.48

    chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.48

    Bumps github.com/pterm/pterm from 0.12.38 to 0.12.48.

    Release notes

    Sourced from github.com/pterm/pterm's releases.

    v0.12.48

    What's Changed

    Exciting New Features 🎉

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.47...v0.12.48

    v0.12.47

    What's Changed

    Exciting New Features 🎉

    Other Changes

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.46...v0.12.47

    v0.12.46

    What's Changed

    Exciting New Features 🎉

    Fixes 🔧

    Other Changes

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.45...v0.12.46

    v0.12.45

    What's Changed

    Fixes 🔧

    New Contributors

    ... (truncated)

    Changelog

    Sourced from github.com/pterm/pterm's changelog.

    [Unreleased]

    Features

    • custom select/confirm key for interactive printer
    • add flag to disable filter/search for interactive printer

    [v0.12.47] - 2022-09-19

    Features

    • adding interactive continue printer

    Bug Fixes

    • typo
    • append the selected value to the prompt

    Code Refactoring

    • ignore invalid custom handles
    • initiazile handles on getSuffix
    • comment format
    • address renaming PR comments
    • show full handles by default
    • use a map for the options

    Reverts

    • refactor: use a map for the options

    [v0.12.46] - 2022-09-05

    Features

    • putils: add CenterText in putils

    Bug Fixes

    • textinput: fixed overwriting the default values

    [v0.12.45] - 2022-07-26

    Bug Fixes

    • make sure the interactive printers can cleanup after Ctrl+C
    • the interactive confirm answers should match the confirm/reject text

    Test

    • add tests for custom answers

    [v0.12.44] - 2022-07-22

    ... (truncated)

    Commits
    • b14fbe3 Merge pull request #402 from jochil/customizable-multiselect-printer
    • 0250cff refactored example
    • 24d0594 feat: custom select/confirm key for interactive printer
    • 853f3e2 feat: add flag to disable filter/search for interactive printer
    • 0da799e docs: autoupdate
    • b17aa32 refactored WithXxx functions that set boolean options
    • 0ca1b0d Merge pull request #384 from luisdavim/interactive_continue_printer
    • 0511586 refactor: ignore invalid custom handles
    • f3af99e fix: typo
    • 85ecd59 refactor: initiazile handles on getSuffix
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.47

    chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.47

    Bumps github.com/pterm/pterm from 0.12.38 to 0.12.47.

    Release notes

    Sourced from github.com/pterm/pterm's releases.

    v0.12.47

    What's Changed

    Exciting New Features 🎉

    Other Changes

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.46...v0.12.47

    v0.12.46

    What's Changed

    Exciting New Features 🎉

    Fixes 🔧

    Other Changes

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.45...v0.12.46

    v0.12.45

    What's Changed

    Fixes 🔧

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.44...v0.12.45

    v0.12.44

    What's Changed

    Exciting New Features 🎉

    ... (truncated)

    Changelog

    Sourced from github.com/pterm/pterm's changelog.

    [Unreleased]

    Features

    • adding interactive continue printer

    Bug Fixes

    • typo
    • append the selected value to the prompt

    Code Refactoring

    • ignore invalid custom handles
    • initiazile handles on getSuffix
    • comment format
    • address renaming PR comments
    • show full handles by default
    • use a map for the options

    [v0.12.46] - 2022-09-05

    Features

    • putils: add CenterText in putils

    Bug Fixes

    • textinput: fixed overwriting the default values

    [v0.12.45] - 2022-07-26

    Bug Fixes

    • make sure the interactive printers can cleanup after Ctrl+C
    • the interactive confirm answers should match the confirm/reject text

    Test

    • add tests for custom answers

    [v0.12.44] - 2022-07-22

    [v0.12.43] - 2022-07-17

    Bug Fixes

    • spinner: fix line didn't clear properly
    • table: fixed column length calculation for Chinese strings

    [v0.12.42] - 2022-06-21

    ... (truncated)

    Commits
    • 0da799e docs: autoupdate
    • b17aa32 refactored WithXxx functions that set boolean options
    • 0ca1b0d Merge pull request #384 from luisdavim/interactive_continue_printer
    • 0511586 refactor: ignore invalid custom handles
    • f3af99e fix: typo
    • 85ecd59 refactor: initiazile handles on getSuffix
    • 04b0e45 refactor: comment format
    • 4201245 fix: append the selected value to the prompt
    • 2e8d9c0 refactor: address renaming PR comments
    • 5be8768 refactor: show full handles by default
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.46

    chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.46

    Bumps github.com/pterm/pterm from 0.12.38 to 0.12.46.

    Release notes

    Sourced from github.com/pterm/pterm's releases.

    v0.12.46

    What's Changed

    Exciting New Features 🎉

    Fixes 🔧

    Other Changes

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.45...v0.12.46

    v0.12.45

    What's Changed

    Fixes 🔧

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.44...v0.12.45

    v0.12.44

    What's Changed

    Exciting New Features 🎉

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.43...v0.12.44

    v0.12.43

    What's Changed

    Fixes 🔧

    ... (truncated)

    Changelog

    Sourced from github.com/pterm/pterm's changelog.

    [Unreleased]

    Features

    • putils: add CenterText in putils

    Bug Fixes

    • textinput: fixed overwriting the default values

    [v0.12.45] - 2022-07-26

    Bug Fixes

    • make sure the interactive printers can cleanup after Ctrl+C
    • the interactive confirm answers should match the confirm/reject text

    Test

    • add tests for custom answers

    [v0.12.44] - 2022-07-22

    [v0.12.43] - 2022-07-17

    Bug Fixes

    • spinner: fix line didn't clear properly
    • table: fixed column length calculation for Chinese strings

    [v0.12.42] - 2022-06-21

    Features

    • input: added text input printer

    [v0.12.41] - 2022-04-12

    [v0.12.40] - 2022-03-28

    Features

    • added a custom writer for all printers

    [v0.12.39] - 2022-03-18

    Features

    • use fallback color in BigTextPrinter when RGB is not supported

    ... (truncated)

    Commits
    • 3cd12db docs: autoupdate
    • da3b3f5 Merge pull request #399 from pterm/putils_center_text
    • 5bad05a docs(putils): add CenterText in docs
    • e706b12 feat(putils): add CenterText in putils
    • b33cb19 docs: autoupdate
    • 12bd74e Merge pull request #398 from pterm/387-user-input-reappears-with-interactivet...
    • 317f2bf fix(textinput): fixed overwriting the default values
    • 63b9d9e docs: autoupdate
    • 454a6f0 Merge pull request #393 from adombeck/master
    • d9e5425 fix index out of range in InteractiveMultiselectPrinter
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.45

    chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.45

    Bumps github.com/pterm/pterm from 0.12.38 to 0.12.45.

    Release notes

    Sourced from github.com/pterm/pterm's releases.

    v0.12.45

    What's Changed

    Fixes 🔧

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.44...v0.12.45

    v0.12.44

    What's Changed

    Exciting New Features 🎉

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.43...v0.12.44

    v0.12.43

    What's Changed

    Fixes 🔧

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.42...v0.12.43

    v0.12.42 | Interactive Printers 🎉

    PTerm got its own docs site! 📖

    --> https://docs.pterm.sh <--

    We now feature interactive printers! 🥳🎉

    More here: https://docs.pterm.sh/printers/interactive

    ... (truncated)

    Changelog

    Sourced from github.com/pterm/pterm's changelog.

    [Unreleased]

    Bug Fixes

    • make sure the interactive printers can cleanup after Ctrl+C
    • the interactive confirm answers should match the confirm/reject text

    Test

    • add tests for custom answers

    [v0.12.44] - 2022-07-22

    [v0.12.43] - 2022-07-17

    Bug Fixes

    • spinner: fix line didn't clear properly
    • table: fixed column length calculation for Chinese strings

    [v0.12.42] - 2022-06-21

    Features

    • input: added text input printer

    [v0.12.41] - 2022-04-12

    [v0.12.40] - 2022-03-28

    Features

    • added a custom writer for all printers

    [v0.12.39] - 2022-03-18

    Features

    • use fallback color in BigTextPrinter when RGB is not supported

    Test

    • fix BigTextPrinter test
    • removed testdata
    • removed snapshot testing

    Commits
    • e373573 docs: autoupdate
    • c98a71d Merge pull request #383 from jochil/jochil/cleanup-after-cancelation
    • 63b4ba3 Merge branch 'master' into jochil/cleanup-after-cancelation
    • 814a52d docs: autoupdate
    • c358754 Merge pull request #382 from luisdavim/confirm_answers
    • be55629 fix: make sure the interactive printers can cleanup after Ctrl+C
    • 561cda9 chore: disable gocritic "preferDecodeRune"
    • f1c8f2b test: add tests for custom answers
    • ba28126 fix: the interactive confirm answers should match the confirm/reject text
    • 8acc75a docs: autoupdate
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.44

    chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.44

    Bumps github.com/pterm/pterm from 0.12.38 to 0.12.44.

    Release notes

    Sourced from github.com/pterm/pterm's releases.

    v0.12.44

    What's Changed

    Exciting New Features 🎉

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.43...v0.12.44

    v0.12.43

    What's Changed

    Fixes 🔧

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.42...v0.12.43

    v0.12.42 | Interactive Printers 🎉

    PTerm got its own docs site! 📖

    --> https://docs.pterm.sh <--

    We now feature interactive printers! 🥳🎉

    More here: https://docs.pterm.sh/printers/interactive

    What's Changed

    Exciting New Features 🎉

    Other Changes

    ... (truncated)

    Changelog

    Sourced from github.com/pterm/pterm's changelog.

    [Unreleased]

    [v0.12.43] - 2022-07-17

    Bug Fixes

    • spinner: fix line didn't clear properly
    • table: fixed column length calculation for Chinese strings

    [v0.12.42] - 2022-06-21

    Features

    • input: added text input printer

    [v0.12.41] - 2022-04-12

    [v0.12.40] - 2022-03-28

    Features

    • added a custom writer for all printers

    [v0.12.39] - 2022-03-18

    Features

    • use fallback color in BigTextPrinter when RGB is not supported

    Test

    • fix BigTextPrinter test
    • removed testdata
    • removed snapshot testing

    Commits
    • 8acc75a docs: autoupdate
    • d436318 Merge pull request #380 from orobardet/spinner-with-info-printer
    • 4c9ffb6 Adds InfoPrinter in SpinnerPrinter
    • 86a935d docs: autoupdate
    • f873e45 Merge pull request #378 from opsnull/master
    • f8f2d26 fix(table): fixed column length calculation for Chinese strings
    • 1109943 docs: autoupdate
    • 9d221f1 Merge pull request #375 from pterm/374-spinner-doesnt-clean-output-area-when-...
    • efba353 fix(spinner): fix line didn't clear properly
    • 8dc2bc1 docs: autoupdate
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.42

    chore(deps): bump github.com/pterm/pterm from 0.12.38 to 0.12.42

    Bumps github.com/pterm/pterm from 0.12.38 to 0.12.42.

    Release notes

    Sourced from github.com/pterm/pterm's releases.

    v0.12.42 | Interactive Printers 🎉

    PTerm got its own docs site! 📖

    --> https://docs.pterm.sh <--

    We now feature interactive printers! 🥳🎉

    More here: https://docs.pterm.sh/printers/interactive

    What's Changed

    Exciting New Features 🎉

    Other Changes

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.41...v0.12.42

    v0.12.41

    What's Changed

    Fixes 🔧

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.40...v0.12.41

    v0.12.40

    What's Changed

    Exciting New Features 🎉

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.39...v0.12.40

    ... (truncated)

    Changelog

    Sourced from github.com/pterm/pterm's changelog.

    [Unreleased]

    Features

    • input: added text input printer

    [v0.12.41] - 2022-04-12

    [v0.12.40] - 2022-03-28

    Features

    • added a custom writer for all printers

    [v0.12.39] - 2022-03-18

    Features

    • use fallback color in BigTextPrinter when RGB is not supported

    Test

    • fix BigTextPrinter test
    • removed testdata
    • removed snapshot testing

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0

    chore(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0

    Bumps github.com/spf13/cobra from 1.4.0 to 1.5.0.

    Release notes

    Sourced from github.com/spf13/cobra's releases.

    v1.5.0

    Spring 2022 Release 🌥️

    Hello everyone! Welcome to another release of cobra. Completions continue to get better and better. This release adds a few really cool new features. We also continue to patch versions of our dependencies as they become available via dependabot. Happy coding!

    Active help 👐🏼

    Shout out to @​marckhouzam for a big value add: Active Help spf13/cobra#1482. With active help, a program can provide some inline warnings or hints for users as they hit tab. Now, your CLIs can be even more intuitive to use!

    Currently active help is only supported for bash V2 and zsh. Marc wrote a whole guide on how to do this, so make sure to give it a good read to learn how you can add this to your cobra code! https://github.com/spf13/cobra/blob/master/active_help.md

    Group flags 🧑🏼‍🤝‍🧑🏼

    Cobra now has the ability to mark flags as required or exclusive as a group. Shout out to our newest maintainer @​johnSchnake for this! spf13/cobra#1654 Let's say you have a username flag that MUST be partnered with a password flag. Well, now, you can enforce those as being required together:

    rootCmd.Flags().StringVarP(&u, "username", "u", "", "Username (required if password is set)")
    rootCmd.Flags().StringVarP(&pw, "password", "p", "", "Password (required if username is set)")
    rootCmd.MarkFlagsRequiredTogether("username", "password")
    

    Flags may also be marked as "mutally exclusive" with the MarkFlagsMutuallyExclusive(string, string ... ) command API. Refer to our user guide documentation for further info!

    Completions 👀

    Documentation 📝

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/pterm/pterm from 0.12.50 to 0.12.51

    chore(deps): bump github.com/pterm/pterm from 0.12.50 to 0.12.51

    Bumps github.com/pterm/pterm from 0.12.50 to 0.12.51.

    Release notes

    Sourced from github.com/pterm/pterm's releases.

    v0.12.51

    What's Changed

    Fixes 🔧

    New Contributors

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.50...v0.12.51

    Changelog

    Sourced from github.com/pterm/pterm's changelog.

    [Unreleased]

    Bug Fixes

    • Make sure the confirm printer can clean up after Ctrl+C

    Commits
    • cd598d2 Merge pull request #426 from sephiroth74/feature/option_style
    • 22f4f96 docs: autoupdate
    • 6347b39 Merge pull request #425 from adombeck/master
    • 5cf48e5 fix: Make sure the confirm printer can clean up after Ctrl+C
    • a331e6f use correct style for search text
    • 223fd94 render menu with correct style
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/spf13/cobra from 1.4.0 to 1.6.1

    chore(deps): bump github.com/spf13/cobra from 1.4.0 to 1.6.1

    Bumps github.com/spf13/cobra from 1.4.0 to 1.6.1.

    Release notes

    Sourced from github.com/spf13/cobra's releases.

    v1.6.1

    Bug fixes 🐛

    • Fixes a panic when AddGroup isn't called before AddCommand(my-sub-command) is executed. This can happen within more complex cobra file structures that have many different inits to be executed. Now, the check for groups has been moved to ExecuteC and provides more flexibility when working with grouped commands - @​marckhouzam (and shout out to @​aawsome, @​andig and @​KINGSABRI for a deep investigation into this! 👏🏼)

    v1.6.0

    Summer 2022 Release

    Some exciting changes make their way to Cobra! Command completions continue to get better and better (including adding --help and --version automatic flags to the completions list). Grouping is now possible in your help output as well! And you can now use the OnFinalize method to cleanup things when all "work" is done. Checkout the full changelog below:


    Features 🌠

    Deprecation 👎🏼

    • ExactValidArgs is deprecated (but not being removed entirely). This is abit nuanced, so checkout #1643 for further information and the updated user_guide.md on how this may affect you (and how you can take advantage of the correct behavior in the validators): @​umarcor #1643

    Bug fixes 🐛

    Dependencies 🗳️

    Testing 🤔

    Docs ✏️

    Misc 💭

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Template for advanced Telegram bots using telebot.v3

Telebot Template $ git clone https://github.com/massbots/template . $ chmod +x init.sh; ./init.sh NOTE The script will delete itself after the configu

Dec 30, 2022
Simple system for writing HTML/XML as Go code. Better-performing replacement for html/template and text/template

Simple system for writing HTML as Go code. Use normal Go conditionals, loops and functions. Benefit from typing and code analysis. Better performance than templating. Tiny and dependency-free.

Dec 5, 2022
The world’s most powerful template engine and Go embeddable interpreter.
The world’s most powerful template engine and Go embeddable interpreter.

The world’s most powerful template engine and Go embeddable interpreter

Dec 23, 2022
Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.

goview Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application. Contents Inst

Dec 25, 2022
A template to build dynamic web apps quickly using Go, html/template and javascript
A template to build dynamic web apps quickly using Go, html/template and javascript

gomodest-template A modest template to build dynamic web apps in Go, HTML and sprinkles and spots of javascript. Why ? Build dynamic websites using th

Dec 29, 2022
Wrapper package for Go's template/html to allow for easy file-based template inheritance.

Extemplate Extemplate is a small wrapper package around html/template to allow for easy file-based template inheritance. File: templates/parent.tmpl <

Dec 6, 2022
Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/template

quicktemplate A fast, powerful, yet easy to use template engine for Go. Inspired by the Mako templates philosophy. Features Extremely fast. Templates

Dec 26, 2022
Made from template temporalio/money-transfer-project-template-go
Made from template temporalio/money-transfer-project-template-go

Temporal Go Project Template This is a simple project for demonstrating Temporal with the Go SDK. The full 20 minute guide is here: https://docs.tempo

Jan 6, 2022
Go-project-template - Template for a golang project

This is a template repository for golang project Usage Go to github: https://git

Oct 25, 2022
Go-api-template - A rough template to give you a starting point for your API

Golang API Template This is only a rough template to give you a starting point f

Jan 14, 2022
Api-go-template - A simple Go API template that uses a controller-service based model to build its routes

api-go-template This is a simple Go API template that uses a controller-service

Feb 18, 2022
The powerful template system that Go needs

Plush Plush is the templating system that Go both needs and deserves. Powerful, flexible, and extendable, Plush is there to make writing your template

Dec 29, 2022
A general purpose golang CLI template for Github and Gitlab

golang-cli-template A general purpose project template for golang CLI applications This template serves as a starting point for golang commandline app

Dec 2, 2022
A template and a functioning example for a basic JFrog CLI plugin

hello-frog About this plugin This plugin is a template and a functioning example for a basic JFrog CLI plugin. This README shows the expected structur

Dec 8, 2021
Standup a new website in 2 commands.
Standup a new website in 2 commands.

Page CLI Getting Started Download latest release for your operating system. Install by unzipping it and moving the file to a directory included in you

Nov 18, 2022
Go CLI Template

go-cli-template This is template that help you to quick implement some CLI using Go. This repository is contains following. minimal CLI implementation

Dec 27, 2022
Fusozay Var Var: A CLI tool for quick text template rendering

fvv - Fusozay Var Var A CLI tool for quick text template rendering Fusozay Var Var means "have fun" It is a reference to something I see a lot Fusozay

Dec 11, 2021
Programatic document generation as a HTTP service. Render PDFs using LaTeX templates and JSON.
Programatic document generation as a HTTP service. Render PDFs using LaTeX templates and JSON.

LaTTe Generate PDFs using LaTeX templates and JSON. Try out the demo! Find LaTTe on Docker Hub Table of Contents About Obtaining LaTTe Running & Using

Dec 29, 2022
Allows you to fill in variables in your custom project templates.

go-templater The best project templater go-templater lets you use any project template you want and replace the variables with values from the config.

Nov 6, 2021