# 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.

[Build your Stack Effect recipe](<https://stack-effect.lloydrichards.dev/builder>)

[Use with your coding agent](<https://stack-effect.lloydrichards.dev/use-with-coding-agents.md>)

Prefer the terminal? Copy and run:

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

The interactive workbench demonstrates how a Selection becomes a Blueprint and a Plan. Use [Recipe Builder](https://stack-effect.lloydrichards.dev/builder) to choose capabilities and preview a project. It requires a browser; coding agents should use the CLI schema and Plan workflow.

## 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.

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

[Create your first project →](https://stack-effect.lloydrichards.dev/getting-started.md)
