# Maintaining create-solana-dapp The document has a collection of information for the maintainers of this mono repo and the child packages contained within. ## Publishing new versions Normally, all the packages included within this repo are published together and should use the same specific version number between all packages. This includes the primary `create-solana-dapp` CLI tool and the `@solana-developers/preset-*` child packages. As such, all these packages are collectively referred to as `create-solana-dapp` or `CSD` for short. > Note: Your NPM cli must be logged into the NPM registry and have the correct permissions to publish a new version. ### `next` tag The `next` tag is considered the beta/testing version of the `create-solana-dapp` tool, and the specific version will normally include such a `beta` flag in it: ```shell npx nx run-many --targets publish --tag next --ver x.x.x-beta.x ``` This will allow anyone to use the current beta/next version of the CLI using the following command: ```shell npx create-solana-dapp@next ``` ### `latest` tag The `latest` tag is considered the production/stable version of the `create-solana-dapp` tool. To publish to the `latest` tag: ```shell npx nx run-many --targets publish --tag latest --ver x.x.x ``` This will allow anyone to use the current production/stable version of the CLI using the following command: ```shell npx create-solana-dapp@latest ``` ### Set a tagged version to a specific published version In the case we need to set the specific version associated with `create-solana-dapp` and child packages (e.g. rolling back the `latest` tag to a previous version) you can run the `dist-tag` target via NX on any of the CSD packages in this monorepo. #### All child packages To force all child packages to have a specific tag with a specific published version: ```shell npx nx run-many --targets dist-tag --tag next --ver x.x.x ``` #### Single child package To set a specific child package's tag to be a specific published version: ```shell # `next` tag npx nx run solana-dev:dist-tag --tag next --ver x.x.x ``` ```shell # `latest` tag npx nx run solana-dev:dist-tag --tag latest --ver x.x.x ```