> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cachethq.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Development

> Learn how to develop and contribute to Cachet.

Cachet is built using the Laravel PHP framework, and is a great way to get started with Laravel development.
If you're new to Laravel, you can learn more about it on the [Laravel website](https://laravel.com/docs).

<Steps>
  <Step title="Install Laravel Herd">
    We recommend installing [Laravel Herd](https://herd.laravel.com), a **free** local development environment for
    PHP Laravel. It's a great way to get started with Laravel development and is the perfect environment for
    contributing to Cachet.

    Herd will install PHP, Composer and NPM for you. You can manage each version through the Herd UI.
  </Step>

  <Step title="Clone Cachet's Core">
    The majority of development is done in the [`cachethq/core`](https://github.com/cachethq/core) repository.
    You'll need to clone this repository to your local machine.

    ```
    git clone git@github.com:cachethq/core.git cachet-core
    ```

    We recommend cloning the repository into a directory named `cachet-core` to keep things organized.
  </Step>

  <Step title="Install Dependencies">
    Once you've cloned the repository, you'll need to install the dependencies.

    ```bash theme={null}
    cd cachet-core
    composer install
    npm install
    ```
  </Step>

  <Step title="Running Cachet">
    With dependencies installed, you can now run Cachet using SQLite.

    ```bash theme={null}
    composer start
    ```

    Your local Cachet instance will now be accessible on `127.0.0.1:8000`. The terminal will include output for:

    * Vite assets
    * Laravel logs
    * Laravel queue

    You can stop the server at any time by pressing <kbd>Ctrl + C</kbd>.
  </Step>
</Steps>

## Video

<Frame>
  <iframe width="600" height="315" src="https://www.youtube.com/embed/68Ylt7QLu_U?si=-S9OHdPS6v-IhvVc" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>
