# Development
After [forking the repo from GitHub](https://help.github.com/articles/fork-a-repo) and [installing pnpm](https://pnpm.io/installation):
```shell
git clone https://github.com/(your-name-here)/mcp-server-tembo
cd mcp-server-tembo
pnpm install
```
## Building
Run [**tsup**](https://tsup.egoist.dev) locally to build source files from `src/` into output files in `lib/`:
```shell
pnpm build
```
Add `--watch` to run the builder in a watch mode that continuously cleans and recreates `lib/` as you save files:
```shell
pnpm build --watch
```
## Formatting
[Prettier](https://prettier.io) is used to format code.
It should be applied automatically when you save files in VS Code or make a Git commit.
To manually reformat all files, you can run:
```shell
pnpm format --write
```
## Linting
This package includes several forms of linting to enforce consistent code quality and styling.
Each should be shown in VS Code, and can be run manually on the command-line:
- `pnpm lint` ([ESLint](https://eslint.org) with [typescript-eslint](https://typescript-eslint.io)): Lints JavaScript and TypeScript source files
Read the individual documentation for each linter to understand how it can be configured and used best.
For example, ESLint can be run with `--fix` to auto-fix some lint rule complaints:
```shell
pnpm run lint --fix
```
Note that you'll need to run `pnpm build` before `pnpm lint` so that lint rules which check the file system can pick up on any built files.
## Type Checking
You should be able to see suggestions from [TypeScript](https://typescriptlang.org) in your editor for all open files.
However, it can be useful to run the TypeScript command-line (`tsc`) to type check all files in `src/`:
```shell
pnpm tsc
```
Add `--watch` to keep the type checker running in a watch mode that updates the display as you save files:
```shell
pnpm tsc --watch
```