> ## Documentation Index
> [HTML page](https://blode.co/edda/docs/cli/overview)
> [Documentation index](https://blode.co/edda/docs/llms.txt)
> Use the index to discover all available pages before exploring further.

# CLI overview

Install the edda CLI, authenticate with GitHub, and use login, new, validate, dev, push, and analytics commands from your terminal.

The edda CLI lets you authenticate, create, validate, preview, and deploy documentation from your terminal.

## Installation

```bash
npm i -g edda-docs
```

Requires Node.js 24.x. The current version is **0.0.8**.

## Commands

- `login` (type: command): Authenticate with Edda via GitHub in your browser.
- `logout` (type: command): Remove stored credentials from your machine.
- `whoami` (type: command): Show the current authentication status.
- `new` (type: command): Create a new documentation site with a starter docs.json and index page.
- `validate` (type: command): Validate your docs.json configuration file against the schema.
- `push` (type: command): Deploy documentation to Edda.
- `dev` (type: command): Start a local development server for real-time preview.

## Command reference

  ### [edda login](/cli/login)

Sign in with GitHub in your browser.
  ### [edda new](/cli/new)

Create a docs directory with starter files.
  ### [edda push](/cli/push)

Deploy your documentation to Edda.
  ### [edda dev](/cli/dev)

Run a local dev server with live reload.
  ### [edda validate](/cli/validate)

Validate your docs.json before deploying.

## Global behavior

### Credentials

The CLI stores all authentication state at `~/.config/blodemd/credentials.json` and never sends credentials to any third party.

### Environment variables

You can configure the CLI with environment variables instead of flags.

- `BLODEMD_API_URL` (type: string, default: https://api.blode.md): Override the API base URL.
- `BLODEMD_PROJECT` (type: string): Project slug. Overrides docs.json `slug`.
- `BLODEMD_BRANCH` (type: string): Git branch name for the deployment.
- `BLODEMD_COMMIT_MESSAGE` (type: string): Commit message attached to the deployment.

## Related pages

- [edda login](/cli/login) -- authenticate with GitHub
- [edda new](/cli/new) -- scaffold a new docs site
- [Continuous deployment](/deployment/ci) -- automate deploys from GitHub Actions