https://github.com/bootdotdev/bootdev
A CLI used to complete coding challenges and lessons on Boot.dev
https://github.com/bootdotdev/bootdev
Last synced: 15 days ago
JSON representation
A CLI used to complete coding challenges and lessons on Boot.dev
- Host: GitHub
- URL: https://github.com/bootdotdev/bootdev
- Owner: bootdotdev
- License: mit
- Created: 2024-04-04T20:18:52.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-14T14:33:56.000Z (about 2 months ago)
- Last Synced: 2025-04-07T01:01:43.523Z (22 days ago)
- Language: Go
- Homepage: https://www.boot.dev
- Size: 138 KB
- Stars: 981
- Watchers: 6
- Forks: 32
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
# Bootdev CLI
The official command line tool for [Boot.dev](https://www.boot.dev). It allows you to submit lessons and do other such nonsense.
⭐ Hit the repo with a star if you're enjoying Boot.dev ⭐
## Installation
### 1. Install Go 1.22 or later
The Boot.dev CLI requires a Golang installation, and only works on Linux and Mac. If you're on Windows, you'll need to use WSL. Make sure you install go in your Linux/WSL terminal, not your Windows terminal/UI. There are two options:
**Option 1**: [The webi installer](https://webinstall.dev/golang/) is the simplest way for most people. Just run this in your terminal:
```bash
curl -sS https://webi.sh/golang | sh
```_Read the output of the command and follow any instructions._
**Option 2**: Use the [official installation instructions](https://go.dev/doc/install).
Run `go version` on your command line to make sure the installation worked. If it did, _move on to step 2_.
**Optional troubleshooting:**
- If you already had Go installed with webi, you should be able to run the same webi command to update it.
- If you already had a version of Go installed a different way, you can use `which go` to find out where it is installed, and remove the old version manually.
- If you're getting a "command not found" error after installation, it's most likely because the directory containing the `go` program isn't in your [`PATH`](https://opensource.com/article/17/6/set-path-linux). You need to add the directory to your `PATH` by modifying your shell's configuration file. First, you need to know _where_ the `go` command was installed. It might be in:- `~/.local/opt/go/bin` (webi)
- `/usr/local/go/bin` (official installation)
- Somewhere else?You can ensure it exists by attempting to run `go` using its full filepath. For example, if you think it's in `~/.local/opt/go/bin`, you can run `~/.local/opt/go/bin/go version`. If that works, then you just need to add `~/.local/opt/go/bin` to your `PATH` and reload your shell:
```bash
# For Linux/WSL
echo 'export PATH=$PATH:$HOME/.local/opt/go/bin' >> ~/.bashrc
# next, reload your shell configuration
source ~/.bashrc
``````bash
# For Mac OS
echo 'export PATH=$PATH:$HOME/.local/opt/go/bin' >> ~/.zshrc
# next, reload your shell configuration
source ~/.zshrc
```### 2. Install the Boot.dev CLI
This command will download, build, and install the `bootdev` command into your Go toolchain's `bin` directory. Go ahead and run it:
```bash
go install github.com/bootdotdev/bootdev@latest
```Run `bootdev --version` on your command line to make sure the installation worked. If it did, _move on to step 3_.
**Optional troubleshooting:**
If you're getting a "command not found" error for `bootdev help`, it's most likely because the directory containing the `bootdev` program isn't in your [`PATH`](https://opensource.com/article/17/6/set-path-linux). You need to add the directory to your `PATH` by modifying your shell's configuration file. You probably need to add `$HOME/go/bin` (the default `GOBIN` directory where `go` installs programs) to your `PATH`:
```bash
# For Linux/WSL
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc
# next, reload your shell configuration
source ~/.bashrc
``````bash
# For Mac OS
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.zshrc
# next, reload your shell configuration
source ~/.zshrc
```### 3. Login to the CLI
Run `bootdev login` to authenticate with your Boot.dev account. After authenticating, you're ready to go!
## Configuration
The Boot.dev CLI offers a couple of configuration options that are stored in a config file (default is `~/.bootdev.yaml`).
All commands have `-h`/`--help` flags if you want to see available options on the command line.
### Base URL for HTTP tests
For lessons with HTTP tests, you can configure the CLI with a base URL that overrides any lesson's default. A common use case for that is when you want to run your server on a port other than the one specified in the lesson.
- To set the base URL run:
```bash
bootdev configure base_url
```*Make sure you include the protocol scheme (`http://`) in the URL.*
- To get the current base URL (the default is an empty string), run:
```bash
bootdev configure base_url
```- To reset the base URL and revert to using the lessons' defaults, run:
```bash
bootdev configure base_url --reset
```### CLI colors
The CLI text output is rendered with extra colors: green (e.g., success messages), red (e.g., error messages), and gray (e.g., secondary text).
- To customize these colors, run:
```bash
bootdev configure colors --red --green --gray
```*You can use an [ANSI color code](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) or a hex string as the ``.*
- To get the current colors, run:
```bash
bootdev configure colors
```- To reset the colors to their default values, run:
```bash
bootdev configure colors --reset
```