# SphereNet Program Whitelist Repo
Storage and management of whitelisted validators on SphereNet.
## Project setup
The first thing you'll want to do is install NPM dependencies which will allow you to access all the scripts and tools provided by this template.
```sh
pnpm install
```
## Generating IDL
You may use the following command to generate the IDLs for the program.
```sh
pnpm generate:idl
```
Depending on your program's framework, this will either use Shank or Anchor to generate the IDLs.
Note that, to ensure IDLs are generated using the correct framework version, the specific version used by the program will be downloaded and used locally.
## Generating client
Once your programs' IDL has been generated, you can the generate client using the following command.
```sh
pnpm generate:client
```
Alternatively, you can use the `generate` script to generate both the IDL and the client at once.
```sh
pnpm generate
```
## Triggering a release
Releases are triggered by tag pushes to the Github Repository.
In order to ensure consistency between tags and package version, version tag pushing is automated via running:
```sh
pnpm release
```
This will push a new tag to the repository and trigger a Release Github Action.