Skip to content

Create Effect App (Release)

We are thrilled to announce the release of a brand new command-line tool for the Effect-TS ecosystem - create-effect-app!

This handy tool streamlines the process of setting up new Effect projects, allowing you to quickly bootstrap either an official Effect example or a project template with Effect and all our recommended developer tooling pre-configured for you.

Setting up a new Effect project can involve several steps, including creating folders, installing dependencies, and configuring tools. create-effect-app eliminates the boilerplate, allowing you to worry less about project configuration and focus instead on writing application code.

For complete documentation, see the project’s README.

To get started, simply run the create-effect-app command in your terminal using your preferred package manager:

Terminal window
npx create-effect-app@latest

This will launch an interactive setup process, guiding you through the steps needed to bootstrap your project:

Animated GIF demonstrating the interactive experience when create-effect-app is run in interactive mode

Once you’ve made your selections, create-effect-app will create your new Effect project and configure it according to the preferences you selected.

If you prefer to use create-effect-app non-interactively, that is also supported:

Terminal window
create-effect-app
(-t, --template basic | cli | monorepo)
[--changesets]
[--flake]
[--eslint]
[--workflows]
[<project-name>]
create-effect-app
(-e, --example http-server)
[<project-name>]

Let’s break down each of the options available to customize an Effect project template:

OptionDescription
--changesetsInitializes your project with the Changesets package for managing version control.
--flakeInitializes your project with a Nix flake for managing system dependencies.
--eslintIncludes ESLint for code formatting and linting.
--workflowsSets up Effect’s recommended GitHub Action workflows for automation.

For example, to create a new Effect project in a directory named "my-effect-app" with the basic template and ESLint integration, you can run:

Terminal window
npx create-effect-app@latest --template basic --eslint my-effect-app

With create-effect-app, starting new Effect projects is easier than ever. Get building and explore the power of Effect!

We’re always looking for ways to improve the Effect-TS ecosystem. If you encounter any issues with create-effect-app or have feature requests, please don’t hesitate to file an issue.

Happy Effecting!

The Effect Team