Getting started
Create a new Effect-powered TypeScript project with Stack Effect, then add the targets and modules it needs.
Create a project
Run the initializer with a project name:
bunx stack-effect@latest init my-appThe interactive prompts choose the initial project shape. To accept defaults
without prompts, pass --yes:
bunx stack-effect@latest init my-app --yesYou can also initialize the current directory:
stack-effect init . --yesAdd capabilities
Move into the generated project and run the interactive add flow:
cd my-app
stack-effect addOr add a known module directly. The target is written as
<kind>/<name>:<module>:
stack-effect add --target server/api:server-http-api --yesStack Effect resolves required targets and modules automatically. For example, adding a React client with its HTTP API connection also introduces the server API it needs:
stack-effect add --target client-react/web:client-react-http-api --yesPreview before writing
Add --dry-run to inspect a command's plan without changing the filesystem:
stack-effect add --target server/api:server-http-api --yes --dry-runUse stack-effect graph whenever you want to see the available catalog entries
and their dependency relationships.