> ## Documentation Index
> Fetch the complete documentation index at: https://docs.commonality.co/llms.txt
> Use this file to discover all available pages before exploring further.
# null
A project configuration file is a `config.json` file located in the `.commonality` folder at the root of your project.
```json .commonality/config.json theme={null}
{
"$schema": "https://commonality.co/config.json",
"checks": {
"*": ["has-readme"],
"publishable": ["ensure-license"]
},
"constraints": {
"*": { "disallow": ["deployable"] },
"config": { "allow": ["config"] }
}
}
```
## Properties
### checks
An object whose keys are [selectors](/selectors) and whose values are paths to [check objects](/reference/check-object).
Checks will run in the order they are defined.
```json .commonality/config.json theme={null}
{
"checks": {
"*": [
// Path to a check local to the project
"has-readme",
"./has-readme",
"./linting/eslint-extends-node",
// Path to a custom check exported from a package
"@scope/my-team/my-custom-check",
"commonality-checks-recommended/sorted-dependencies"
// Packages prefixed with "commonality-checks-" can use a shorthand
"recommended/sorted-dependencies"
],
}
}
```
### constraints
An object whose keys are [selectors](/selectors) and whose value are [constraint objects](/reference/constraint-object).
```json .commonality/config.json theme={null}
{
"constraints": {
"*": { "disallow": ["deployable"] },
"config": { "allow": ["config"] }
}
}
```
***
### `workspaces`
An array of [micromatch](https://github.com/micromatch/micromatch) patterns used to identify which directories should be included when searching for packages.
```json .commonality/config.json theme={null}
{
"workspaces": ["apps/*", "packages/**", "!**/dist/**"]
}
```