Skip to content

Latest commit

 

History

History
39 lines (25 loc) · 2.02 KB

CONTRIBUTING.md

File metadata and controls

39 lines (25 loc) · 2.02 KB

create-solana-program contributing guide

Before submitting your contribution, please make sure to take a moment and read through the following guide:

Repo Setup

This repo uses Git submodules to store snapshots of the pre-defined templates after each release. So when cloning the repository, please make sure you have also initialized the submodules. You may do this using the --recursive flag when cloning the repository.

git clone --recursive https://github.com/vuejs/create-vue.git

Alternatively, if you have already cloned the repository without the --recursive flag, you can initialize the submodules afterwards using the following command:

git submodule update --init --recursive

Package manager and scripts

The package manager used to install and link dependencies must be pnpm.

The following scripts are available:

pnpm build      # Build the `create-solana-program` package.
pnpm snapshot   # Update the `projects` directory with the latest pre-defined templates.
pnpm test       # Runs a snapshot and executes tests against each generated project.
pnpm lint       # Check the code using Prettier.
pnpm lint:fix   # Format the code using Prettier.

Additionally, a prepublishOnly script — that executes before every pnpm publish command — exists to update the snapshots and commit their changes to the relevant submodules. This allows us to have various template repositories that are always up-to-date with the latest changes of the create-solana-program package.

Therefore, please make sure you do not commit any changes to the projects directory manually as they will be updated automatically during each release.

Changesets

This repository uses Changesets to manage the versioning of the create-solana-program package. When submitting a pull request, please make sure to include a Changeset if your contribution introduces a change that requires a version bump.