> For the complete documentation index, see [llms.txt](https://commandbox.ortusbooks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://commandbox.ortusbooks.com/5.8.0/usage/bullet-train-prompt.md).

# Bullet Train Prompt

This module will customize your CommandBox prompt while in the interactive shell. It has multiple "cars" that are part of the train and each car can contribute some output to the prompt that is working directory-aware.

**THIS MODULE REQUIRES COMMANDBOX 4.0.0!**

This project is based on the Zsh Bullet Train theme which is based on the Powerline shell prompt. The goal is to add in additional information to your prompt that is specific to the current working directory, or the last command you ran.

![CommandBox Bullet Train Prompt](https://2672973532-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LA-UVvV3_TgzQyCXMWK%2Fsync%2F4f77b43edf856173a0a0514b32ca40c31ea9788d.png?generation=1619819029743162\&alt=media)

## Installation

Install the module like so:

```
install commandbox-bullet-train
```

## Fonts

This module uses some special Unicode characters to draw the prompt that may not be in your default terminal. You can turn off all Uniode chars and live with an uglier shell like so:

```
config set modules.commandbox-bullet-train.unicode=false
```

Or try a font like `Consolas`, `DejaVu Sans Mono`, or `Fira Code`. The best way to get all the characters to work is to install a "Powerline patched" font and set your terminal to use it. This may differ based on your operating system.

<https://github.com/powerline/fonts.git>

Here is a guide for setting a new font up to be used with the Windows cmd terminal:

<https://www.techrepublic.com/blog/windows-and-office/quick-tip-add-fonts-to-the-command-prompt/>

For Windows users, we also recommend using ConEMU as your terminal.

## Usage

You don't need to do anything special. Just continue to use the CommandBox interactive shell like you always do.\
You'll notice that the prompt is spanned across two lines and contains additional information.\
Cars that do not apply to the current directory will simply not be displayed. Familiarize yourself with what each bullet train "car" represents and soon you'll be using the data in the prompt without even thinking about it!

## Customize it!

You can customize the cars that show, change the colors of existing cars and even create your own custom additions to Bullet Train. Read all about it in the readme of the Module homepage on ForgeBox.

{% embed url="<https://www.forgebox.io/view/commandbox-bullet-train>" %}
CommandBox Bullet Train Module on ForgeBox.io
{% endembed %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://commandbox.ortusbooks.com/5.8.0/usage/bullet-train-prompt.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
