Scaffold an Effect application.

Stack Effect is a CLI for creating and extending TypeScript repositories built with Effect. Choose the targets and capabilities you need; Stack Effect resolves their dependencies and shows the repository changes before writing them.

Copy and run:

bunx stack-effect@latest init my-app --yes

Choose your first project step by step →

Interactive dry run

See a selection become a repository.

Choose a recipe, then inspect the same dependency trees and file plan the CLI presents before it writes anything.

AI chat: Selection

User intent

Select one capability.

Run add --dry-run to choose through the interactive TUI. This walkthrough represents that choice with --target client-react/web:client-react-chat --yes so each recipe stays reproducible.

stack-effect · dry run
$ bunx stack-effect@latest init demo-chat --yes
$ cd demo-chat
$ bunx stack-effect@latest add --dry-run

# Demo selection: --target client-react/web:client-react-chat --yes

Swipe horizontally to inspect long lines.

bunx stack-effect@latest init demo-chat --yes cd demo-chat bunx stack-effect@latest add --dry-run

How Stack Effect composes a project

Targets define the parts of the repository: a CLI, server, client, or shared package. Modules add capabilities to those targets, such as chat, HTTP APIs, or shared contracts.

Stack Effect resolves your selection into a dependency-complete Blueprint, then compares it with the repository to produce an explicit Plan. Use --dry-run to inspect every affected path before anything is written.

Create your first project

Initialize a repository, move into it, then use add to choose what to include through the interactive TUI.

bunx stack-effect@latest init my-app
cd my-app
bunx stack-effect@latest add

Create your first project →