# Getting Started

## Introduction

Phecks (stands for PHP-Checks) is a custom Check Runner. It will run custom checks in your Laravel project and will make a report of violations that need fixing.

By its own, Phecks doesn't contain any checks. You and your team are responsible for defining and imlpementing these checks based on your architectural decisions. Phecks will provide you a framework to develop and run these checks easily.

{% hint style="success" %}
Phecks is recommended for big development teams with an adaptive architecture. Feel free to check [the idea behind phecks](/phecks/about-phecks/the-idea-behind-it.md) to understand what kind of problem it's trying to solve.
{% endhint %}

## The Basics

Phecks for now only works for Laravel projects.

It supports PHP >= 7.4, and Laravel >= 8

## Installation

To install phecks in your project, run:

```shell
composer require juampi92/phecks --dev
```

To publish the config file, run:

```shell
php artisan vendor:publish --tag="phecks:config"
```

Get started with the [configuration here](/phecks/user-guide/configuration.md).

### Set up

This is the following setup for your Checks:

On your `composer.json`, add:

{% code overflow="wrap" %}

```json
{
    ...
    "autoload-dev": {
        "psr-4": {
            "Phecks\\": "phecks",
            ...
        },
    }
```

{% endcode %}

And create the folder `./phecks/Checks`, where you will place the checks.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://juampi92.gitbook.io/phecks/user-guide/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
