## Stripe CLI Documentation

This documentation covers the Stripe Command Line Interface (CLI), a powerful tool for building, testing, and managing your Stripe integration directly from your terminal.

### Getting Started

*   **Installation:** Follow the [installation guide](https://docs.stripe.com/stripe-cli.md#install) to set up the Stripe CLI.
*   **Login:** Connect the CLI to your Stripe account using `stripe login`. This command persists your secret key locally and can be configured globally or per project using the `--project-name` flag. For environments without browser access, use `stripe login --interactive`.
    *   See: `/cli.md`, `/cli/login.md`, `/cli/api_keys.md`

### Core Functionality

*   **API Keys:** Understand the different ways to set and use Stripe API keys with the CLI, including `stripe login`, `stripe config`, the `--api-key` flag, and environment variables.
    *   See: `/cli/api_keys.md`
*   **Configuration:** Manually set and manage CLI configuration options using the `stripe config` command. This includes setting, unsetting, listing options, and editing the configuration file. Project-specific configurations can be managed with the `--project-name` flag.
    *   See: `/cli/config.md`, `/cli.md`, `/cli/login.md`
*   **Resources and HTTP Commands:** Interact with Stripe API resources using resource commands (e.g., `stripe customers create`) or convenient HTTP shorthand commands. All commands support making live requests with the `--live` flag.
    *   See: `/cli/intro_resources_http.md`, `/cli/resources.md`
*   **Fixtures:** Use JSON files to issue a series of API requests, useful for generating sample data, executing flows, or testing API behavior. Responses can be referenced in subsequent requests.
    *   See: `/cli/fixtures.md`
*   **Stripe Samples:** Download, build, and serve complete Stripe integration examples using the `stripe samples` commands.
    *   See: `/cli/intro_stripe_samples.md`, `/cli/samples/create.md`, `/cli/samples/list.md`
*   **Serve:** Start an HTTP server to serve static files, which works well with Stripe Samples for local development.
    *   See: `/cli/intro_stripe_samples.md`

### Additional Commands

*   **Completion:** Set up shell autocompletion for Bash and ZSH to simplify command usage.
    *   See: `/cli/completion.md`
*   **Terminal Quickstart:** Get started quickly with Stripe Terminal and the Verifone P400 reader.
    *   See: `/cli/intro_additional_commands.md`, `/cli/terminal/quickstart.md`
*   **Logout:** Remove credentials that connect the CLI to your Stripe account, either for the default project, a specific project, or all projects.
    *   See: `/cli/intro_additional_commands.md`, `/cli/logout.md`
*   **Feedback:** Find information on how to provide feedback for the Stripe CLI via GitHub issues and a feedback form.
    *   See: `/cli/intro_additional_commands.md`, `/cli/feedback.md`
*   **Help:** Get help documentation for any command using `stripe help [command]` or the `-h`/`--help` flags.
    *   See: `/cli/intro_additional_commands.md`, `/cli/help.md`
*   **Version:** Check the Stripe CLI version and if software updates are available.
    *   See: `/cli/version.md`

### Advanced Information

*   **Global Flags:** Understand the flags that apply to all Stripe CLI commands, such as `--api-key`, `--color`, `--config`, `--device-name`, `--help`, `--log-level`, `--project-name`, and `--version`.
    *   See: `/cli/flags.md`
*   **Docker:** Run the Stripe CLI in a Docker container. Note that `stripe-cli login` requires a data volume; use the `--api-key` flag instead.
    *   See: `/cli/intro_further_information.md`, `/cli/docker.md`
*   **Telemetry:** Learn about the CLI's telemetry feature, which collects usage data to improve the developer experience. Understand what data is collected, what is not, and how to opt out.
    *   See: `/cli/intro_further_information.md`, `/cli/telemetry.md`
*   **License:** View the license information for the Stripe CLI.
    *   See: `/cli/license.md`