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.
create-effect-app
?
Why 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.
How to Use
For complete documentation, see the project's README.
Interactive Usage
To get started, simply run the create-effect-app
command in your terminal using your preferred package manager:
npm
sh
# npmnpx create-effect-app@latest# pnpmpnpm create effect-app@latest# yarnyarn create effect-app@latest# bunbunx create-effect-app@latest
sh
# npmnpx create-effect-app@latest# pnpmpnpm create effect-app@latest# yarnyarn create effect-app@latest# bunbunx create-effect-app@latest
This will launch an interactive setup process, guiding you through the steps needed to bootstrap your project:
Once you've made your selections, create-effect-app
will create your new Effect project and configure it according to the preferences you selected.
Non-Interactive Usage
If you prefer to use create-effect-app
non-interactively, that is also supported:
sh
create-effect-app(-t, --template basic | cli | monorepo)[--changesets][--flake][--eslint][--workflows][<project-name>]create-effect-app(-e, --example http-server)[<project-name>]
sh
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:
Option | Description |
---|---|
--changesets | Initializes your project with the Changesets package for managing version control. |
--flake | Initializes your project with a Nix flake for managing system dependencies. |
--eslint | Includes ESLint for code formatting and linting. |
--workflows | Sets up Effect's recommended GitHub Action workflows for automation. |
Example
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:
$ npx create-effect-app --template basic --eslint my-effect-app
$ npx create-effect-app --template basic --eslint my-effect-app
Go Forth and Build
With create-effect-app
, starting new Effect projects is easier than ever. Get building and explore the power of Effect!
Help Us Improve
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