# Getting started

Welcome to the official docs for whale! Whale is an open-source CLI-based data discovery and SQL-runner built and maintained by [hyperquery](https://hyperquery.ai/?utm_source=whale).

## Installation

### Mac OS

```
brew install hyperqueryhq/tap/whale
```

### All others (and local development)

{% hint style="warning" %}
You'll need to have rust installed for the following commands to work.

[**Click here for installation instructions**](https://www.rust-lang.org/tools/install)**.**
{% endhint %}

If you are not on macOS (or are looking to build whale from source for development purposes), you should (a) clone the whale repository and run (b)**`make && make install`** in the base directory of the repo.

```
git clone https://github.com/dataframehq/whale.git
cd whale/
make && make install
```

The Makefile commands don't explicitly add an alias for the `whale` binary, so you'll want to add the following alias to your `.bash_profile` or `.zshrc` file.

```
alias wh=~/.whale/bin/whale
```

This method is generally preferred for development as well, as the virtual environment is exposed and modifiable in `~/.whale/libexec/env`.

### Advanced syntax highlighting

We highly recommend installing [`bat`](https://github.com/sharkdp/bat) to enable advanced syntax highlighting (once detected, whale will use `bat` over `cat` automatically).

## Quick start (local usage)

Start by running:

```
wh init
```

This will assist you in:

* Setting up the necessary file structure in `~/.whale`.
* Setting up your warehouse connection credentials.
* Registering a cron job in your `crontab`, so whale can periodically scrape metadata.

Once that is complete, either wait for the cron job to run, or run `wh pull &` to manually kick off a job in the background, if you're feeling impatient.

**If you instead want to use a git server like github to back your catalog, see** [**Git setup**](/whale/setup/getting-started-for-teams.md)**.**

## Basic usage

To obtain a list of available commands, run:

```
wh -h
```

To run whale's search engine, run:

```
wh
```


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rsyi.gitbook.io/whale/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
