# Welcome to Fabric’s documentation!

This site covers Fabric’s usage & API documentation. For basic info on what Fabric is, including its public changelog & how the project is maintained, please see the main project website.

## Getting started

Many core ideas & API calls are explained in the tutorial/getting-started document:

- Getting started
  - A note about imports
  - Run commands via Connections and `run`
  - Superuser privileges via auto-response
  - Transfer files
  - Multiple actions
  - Multiple servers
  - Bringing it all together
  - Addendum: the `fab` command-line tool

## Upgrading from 1.x

Looking to upgrade from Fabric 1.x? See our detailed upgrade guide on the nonversioned main project site.

## Concepts

Dig deeper into specific topics:

- Authentication
  - Private key files
  - Private key objects
  - SSH agents
  - Passwords
  - GSSAPI
- Configuration
  - Basics
  - Default configuration values
  - Loading and using `ssh_config` files
- Networking
  - SSH connection gateways

## The `fab` CLI tool

Details on the CLI interface to Fabric, how it extends Invoke’s CLI machinery, and examples of shortcuts for executing tasks across hosts or groups.

- Command-line interface
  - Options & arguments
  - Seeking & loading tasks
  - Runtime specification of host lists
  - Executing arbitrary/ad-hoc commands

## API

Know what you’re looking for & just need API details? View our auto-generated API documentation:

- `auth`
- `config`
- `connection`
- `exceptions`
- `executor`
- `group`
- `runners`
- `tasks`
- `testing`
- `transfer`
- `tunnels`
- `util`