Skip to content
Bake CLI - A companion CLI for contributing to
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Linting, Pre-Commit, and Release (#20) May 17, 2019
.golangci.yml Linting, Pre-Commit, and Release (#20) May 17, 2019
.goreleaser.yml Linting, Pre-Commit, and Release (#20) May 17, 2019
LICENSE Linting, Pre-Commit, and Release (#20) May 17, 2019
version.go Linting, Pre-Commit, and Release (#20) May 17, 2019

BreadTube Bake CLI

The bake cli is a companion CLI to the breadtubetv/breadtubetv project.


Scripts are being written in Go, this keeps the scripting and operational language the same, provides cross system compatibility, and gives everyone an opportunity to learn a new programming language.


The compiled bake binary has no dependencies, so you can download your platforms release from the release page, pop it in your $PATH and off you go.

If you want to build from source you will need the Go programming language installed, and your $GOPATH configured.

# Enable Go 1.11+ module support
export GO111MODULE=on
go get

This will install the binary into your $GOPATH/bin folder. If you don't already it's recommended you add this directory to your $PATH.


Configuring the bake CLI

The .bake.yaml configuration file can be stored in the following locations:

  • $HOME/.bake.yaml
  • ./bake.yaml (In other words, the current directory from which you're running the CLI)

Current configuration options and default values:

  • projectRoot: "../" : Directory of channel data files.
    E.g. $GOPATH/src/


Once you have bake installed:

Import a Channel

bake channel import creator_slug youtube channel_url

Import a Video

Using the Video ID
bake import video --creator creator_slug --provider youtube --id VIDEO_ID
Using the Video URL
bake import video --creator creator_slug --provider youtube --url https://VIDEO_URL

Note: The following formats are supported


You'll need the Go programming language installed. We recommend version v1.12+. This is going to be dependent on your system, we recommend following

Clone the repo and pull dependencies:

# Enable Go 1.11 module support
export GO111MODULE=on
# Clone directory
git clone
cd bake
# Download dependencies
go mod download

NOTE: The spf13/cobra generator CLI won't work if you don't clone the project into $GOPATH. This is not a requirement to develop for the project.

Linting & Pre-Commit

We recommend using golangci/golangci-lint for linting. A development config ( is provided. To use this config:

golangci-lint run

A .pre-commit-config.yaml is provided for pre-commit hooks using pre-commit/pre-commit.

Submitting a PR

We welcome PRs! The only thing we ask is that you ensure you keep the go.mod and go.sum files clean by running the following:

GO111MODULE=on go mod tidy


Bake has some very basic tests for now, they can be run with the standard go test command line:

go get -t ./...
go test ./...


Releasing is automated via git tag and CircleCI. Users with write permissions will be able to create tags. To create a new release:

# vX.Y.Z needs to be a valid SemVer version number
git tag vX.Y.Z
git push --tags

CircleCI will do the rest!

You can’t perform that action at this time.