## Stripe CLI Documentation

This documentation outlines the various commands and functionalities of the Stripe Command-Line Interface (CLI). The Stripe CLI is a powerful tool that allows developers to interact with the Stripe API directly from their terminal, streamlining the process of building, testing, and managing Stripe integrations.

### Core Functionality

*   **Reference (`/cli.md`)**: Provides a comprehensive overview of all commands and flags available in the Stripe CLI. It details how the CLI can be used to manage API objects, tail API request logs, and securely test webhooks.
*   **Login (`/cli/login.md`)**: Explains how to connect the CLI to your Stripe account by logging in. This process persists your secret key locally and can be configured globally or on a per-project basis. It also covers interactive login and the storage of configuration files.
*   **API Keys (`/cli/api_keys.md`)**: Details the different methods for setting and using Stripe API keys with the CLI, including `stripe login`, `stripe config`, the `--api-key` flag, and environment variables.
*   **Configuration (`/cli/config.md`)**: Describes the `config` command for manually setting, unsetting, and listing CLI configuration options. It also highlights the `--project-name` flag for managing project-specific configurations.
*   **Resources (`/cli/resources.md`, `/cli/intro_resources_http.md`)**: Covers how to interact with Stripe API resources using the CLI. This includes both resource commands (managing specific API objects) and HTTP commands (shorthand for HTTP requests). It provides examples for creating, updating, and retrieving resources.
*   **Fixtures (`/cli/fixtures.md`)**: Explains how to use JSON files to issue a series of API requests, useful for generating sample data and testing API behavior. It details how to reference responses from previous requests.

### Samples and Development Tools

*   **Stripe Samples (`/cli/intro_stripe_samples.md`, `/cli/samples/create.md`, `/cli/samples/list.md`)**: Introduces Stripe Samples as complete examples for new integrations. The CLI allows you to download, build, and serve these samples locally. Commands for creating and listing available samples are covered.
*   **Serve (`/cli/intro_stripe_samples.md`)**: Details the `serve` command, which starts an HTTP server to serve static files. This is particularly useful for working with Stripe Samples.

### Additional Commands and Utilities

*   **Completion (`/cli/completion.md`)**: Explains how to set up shell autocompletion for the Stripe CLI on macOS and Linux to improve command-line usability.
*   **Global Flags (`/cli/flags.md`)**: Lists and describes the global flags that can be used with any Stripe CLI command, such as `--api-key`, `--color`, `--config`, `--device-name`, `--help`, `--log-level`, `--project-name`, and `--version`.
*   **Terminal Quickstart (`/cli/terminal/quickstart.md`, `/cli/intro_additional_commands.md`)**: Guides users through the `terminal quickstart` command for rapidly setting up Stripe Terminal with a Verifone P400 reader.
*   **Logout (`/cli/logout.md`, `/cli/intro_additional_commands.md`)**: Describes the `logout` command for removing credentials that connect the CLI to your Stripe account, with options to log out of specific projects or all projects.
*   **Feedback (`/cli/feedback.md`, `/cli/intro_additional_commands.md`)**: Provides information on how to give feedback for the Stripe CLI, directing users to GitHub issues and a dedicated feedback form.
*   **Help (`/cli/help.md`, `/cli/intro_additional_commands.md`)**: Explains how to get help for any command using `stripe help [command]` or the `-h`/`--help` flags.
*   **Version (`/cli/version.md`)**: Shows how to get the version of the Stripe CLI and check for available software updates.

### Advanced Information

*   **Docker (`/cli/docker.md`, `/cli/intro_further_information.md`)**: Details how to use the Stripe CLI within a Docker container, including environment variables and considerations for ephemeral containers.
*   **Telemetry (`/cli/telemetry.md`, `/cli/intro_further_information.md`)**: Explains the CLI's telemetry feature, which collects usage data to improve the developer experience. It outlines what data is collected, what is not, why it's collected, and how to opt out.
*   **License (`/cli/license.md`)**: Provides information about the license under which the Stripe CLI is distributed.