diff --git a/README.md b/README.md index 323aa13c..d0cbe798 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,19 @@ _Utilities for writing codemods_ `@codemod-utils` provides a set of **tools and conventions** to help you write codemods. +You can use `@codemod-utils/cli` to create a codemod project. + +```sh +npx @codemod-utils/cli --name +``` + ### Package overview - [`@codemod-utils/ast-javascript`](/packages/ast/javascript/README.md) - [`@codemod-utils/ast-template`](/packages/ast/template/README.md) - [`@codemod-utils/blueprints`](/packages/blueprints/README.md) +- [`@codemod-utils/cli`](/packages/cli/README.md) - [`@codemod-utils/ember-cli-string`](/packages/ember-cli-string/README.md) - [`@codemod-utils/files`](/packages/files/README.md) - [`@codemod-utils/json`](/packages/json/README.md) diff --git a/packages/cli/README.md b/packages/cli/README.md index 7cc669e7..04b31729 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -2,7 +2,90 @@ # @codemod-utils/cli -_CLI for @codemod-utils_ +_CLI to create a codemod project_ + + +## Usage + +Use `npx` to run `@codemod-utils/cli`. (Alternatively, you can install `@codemod-utils/cli` globally.) + +```sh +npx @codemod-utils/cli --name +``` + +This will create a folder named ``, inside of which you can find the package named ``. + +Change the directory, then run these scripts: + +```sh +# Set up the project +pnpm install + +# Create a GitHub repository +git init +git add . +git commit -m "Initial commit" +git branch -M main +git remote add origin git@github.com:/.git +git push -u origin main +``` + + +### Arguments + +You must pass `--name` to name your codemod. + +```sh +npx @codemod-utils/cli --name ember-codemod-v1-to-v2 +``` + + +
+Optional: Add @codemod-utils packages + +By default, `@codemod-utils/cli` installs only [`@codemod-utils/files`](../files/README.md) and [`@codemod-utils/tests`](../tests/README.md). + +To add more `@codemod-utils` packages and scaffold files, pass `--addon` and a list of package names. + +```sh +npx @codemod-utils/cli --addon blueprints +``` + +The available package names are: + +- [`ast-javascript`](../ast/javascript/README.md) +- [`ast-template`](../ast/template/README.md) +- [`blueprints`](../blueprints/README.md) +- [`ember-cli-string`](../ember-cli-string/README.md) +- [`json`](../json/README.md) + +
+ + +
+Optional: Specify the project root + +Pass `--root` to run the codemod somewhere else (i.e. not in the current directory). + +```sh +npx @codemod-utils/cli --root= +``` + +
+ + +
+Optional: Create a JavaScript project + +By default, `@codemod-utils/cli` creates a TypeScript project to help you (and contributors) maintain and extend the codemod. + +Pass `--typescript` to opt out. + +```sh +npx @codemod-utils/cli --typescript false +``` + +
## Compatibility diff --git a/packages/cli/package.json b/packages/cli/package.json index 8a4054ee..cd0bb66c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@codemod-utils/cli", "version": "0.0.0", - "description": "CLI for @codemod-utils", + "description": "CLI to create a codemod project", "keywords": [ "codemod", "ember-codemod"