# Pulumi

We use [pulumi](https://www.pulumi.com/docs/) to manage our infrastructure. To get started with pulumi, make sure you read all the [pulumi architecture & concepts documents](https://www.pulumi.com/docs/intro/concepts/) and read the [pulumi Node.js SDK guide](https://www.pulumi.com/docs/intro/languages/javascript/).

## Development

For every pulumi project:

```
# install dependencies
npm install

# format project
npm run fmt

# check the project format
npm run check

# lint project
npm run lint
```

Make sure `npm run check` and `npm run lint` are passed before creating the PR, otherwise the CI fails.


## Testing

It is time consuming to test large stacks. Instead you can [test micro-stacks in isolation](https://github.com/tidbcloud/infra/pull/1167/files).
