Skip to content

Quickstart

1. Run CLI

Change the directory to a place where you like to keep projects. Run @codemod-utils/cli to scaffold your codemod.

sh
pnpx @codemod-utils/cli <your-codemod-name> [options]

This will create a folder named your-codemod-name.

Add more utilities

By default, @codemod-utils/cli only installs the core packages: @codemod-utils/files and @codemod-utils/tests. Every codemod will need them.

If you need more, pass --addon and list the package names.

sh
pnpx @codemod-utils/cli --addon blueprints package-json

The options for --addon are:

JavaScript only?

By default, @codemod-utils/cli creates a TypeScript project to help you maintain and extend the codemod.

To create a JavaScript project, set --typescript to false.

sh
pnpx @codemod-utils/cli --typescript false

2. Make the initial commit

Change to the codemod directory, then run these scripts in sequence:

sh
# Install dependencies
pnpm install
sh
# Commit changes
git init
git add .
git commit -m "Initial commit"
sh
# Push changes (to a new repo)
git remote add origin git@github.com:<your-github-handle>/<your-repo-name>.git
git branch -M main
git push -u origin main

3. Start coding

TIP

As you write code, you will want to lint and test files.

sh
# Lint files
pnpm lint
pnpm lint:fix

# Test files
pnpm test

Try running these scripts now. They should pass out of the box.

Not sure how to start? If this is your first time writing a codemod, we recommend going through the main tutorial. See existing codemods in Made with codemod-utils.