{"id":13677573,"url":"https://github.com/bootdotdev/bootdev","last_synced_at":"2025-04-14T03:57:28.890Z","repository":{"id":236871407,"uuid":"782193127","full_name":"bootdotdev/bootdev","owner":"bootdotdev","description":"A CLI used to complete coding challenges and lessons on Boot.dev","archived":false,"fork":false,"pushed_at":"2025-03-14T14:33:56.000Z","size":141,"stargazers_count":981,"open_issues_count":1,"forks_count":32,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-07T01:01:43.523Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.boot.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bootdotdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-04T20:18:52.000Z","updated_at":"2025-04-06T17:52:05.000Z","dependencies_parsed_at":"2024-05-31T01:31:42.813Z","dependency_job_id":"5e61b1e9-9d36-4515-a581-e30d1fd65ee0","html_url":"https://github.com/bootdotdev/bootdev","commit_stats":null,"previous_names":["bootdotdev/bootdev","bootdotdev/bootdev-cli"],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bootdotdev%2Fbootdev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bootdotdev%2Fbootdev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bootdotdev%2Fbootdev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bootdotdev%2Fbootdev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bootdotdev","download_url":"https://codeload.github.com/bootdotdev/bootdev/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248362686,"owners_count":21091177,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T13:00:44.198Z","updated_at":"2025-04-14T03:57:28.872Z","avatar_url":"https://github.com/bootdotdev.png","language":"Go","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/bootdotdev/bootdev/assets/4583705/7a1184f1-bb43-45fa-a363-f18f8309056f\" /\u003e\n\u003c/p\u003e\n\n# Bootdev CLI\n\nThe official command line tool for [Boot.dev](https://www.boot.dev). It allows you to submit lessons and do other such nonsense.\n\n⭐ Hit the repo with a star if you're enjoying Boot.dev ⭐\n\n## Installation\n\n### 1. Install Go 1.22 or later\n\nThe 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:\n\n**Option 1**: [The webi installer](https://webinstall.dev/golang/) is the simplest way for most people. Just run this in your terminal:\n\n```bash\ncurl -sS https://webi.sh/golang | sh\n```\n\n_Read the output of the command and follow any instructions._\n\n**Option 2**: Use the [official installation instructions](https://go.dev/doc/install).\n\nRun `go version` on your command line to make sure the installation worked. If it did, _move on to step 2_.\n\n**Optional troubleshooting:**\n\n- If you already had Go installed with webi, you should be able to run the same webi command to update it.\n- 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.\n- 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:\n\n- `~/.local/opt/go/bin` (webi)\n- `/usr/local/go/bin` (official installation)\n- Somewhere else?\n\nYou 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:\n\n```bash\n# For Linux/WSL\necho 'export PATH=$PATH:$HOME/.local/opt/go/bin' \u003e\u003e ~/.bashrc\n# next, reload your shell configuration\nsource ~/.bashrc\n```\n\n```bash\n# For Mac OS\necho 'export PATH=$PATH:$HOME/.local/opt/go/bin' \u003e\u003e ~/.zshrc\n# next, reload your shell configuration\nsource ~/.zshrc\n```\n\n### 2. Install the Boot.dev CLI\n\nThis command will download, build, and install the `bootdev` command into your Go toolchain's `bin` directory. Go ahead and run it:\n\n```bash\ngo install github.com/bootdotdev/bootdev@latest\n```\n\nRun `bootdev --version` on your command line to make sure the installation worked. If it did, _move on to step 3_.\n\n**Optional troubleshooting:**\n\nIf 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`:\n\n```bash\n# For Linux/WSL\necho 'export PATH=$PATH:$HOME/go/bin' \u003e\u003e ~/.bashrc\n# next, reload your shell configuration\nsource ~/.bashrc\n```\n\n```bash\n# For Mac OS\necho 'export PATH=$PATH:$HOME/go/bin' \u003e\u003e ~/.zshrc\n# next, reload your shell configuration\nsource ~/.zshrc\n```\n\n### 3. Login to the CLI\n\nRun `bootdev login` to authenticate with your Boot.dev account. After authenticating, you're ready to go!\n\n## Configuration\n\nThe Boot.dev CLI offers a couple of configuration options that are stored in a config file (default is `~/.bootdev.yaml`).\n\nAll commands have `-h`/`--help` flags if you want to see available options on the command line.\n\n### Base URL for HTTP tests\n\nFor 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.\n\n- To set the base URL run:\n\n```bash\nbootdev configure base_url \u003curl\u003e\n```\n\n*Make sure you include the protocol scheme (`http://`) in the URL.*\n\n- To get the current base URL (the default is an empty string), run:\n\n```bash\nbootdev configure base_url\n```\n\n- To reset the base URL and revert to using the lessons' defaults, run:\n\n```bash\nbootdev configure base_url --reset\n```\n\n### CLI colors\n\nThe CLI text output is rendered with extra colors: green (e.g., success messages), red (e.g., error messages), and gray (e.g., secondary text).\n\n- To customize these colors, run:\n\n```bash\nbootdev configure colors --red \u003cvalue\u003e --green \u003cvalue\u003e --gray \u003cvalue\u003e\n```\n\n*You can use an [ANSI color code](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) or a hex string as the `\u003cvalue\u003e`.*\n\n- To get the current colors, run:\n\n```bash\nbootdev configure colors\n```\n\n- To reset the colors to their default values, run:\n\n```bash\nbootdev configure colors --reset\n```\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbootdotdev%2Fbootdev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbootdotdev%2Fbootdev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbootdotdev%2Fbootdev/lists"}