effect-forgegithub ↗

A TypeScript monorepo designed for human <> agent collaboration.

$bunx degit mateoroldos/effect-forge my-app

Manifesto

How we build software changed.
Our repositories need to change too.

Agents can produce code faster than ever and this has come with high hidden costs.

Reviewing loads of agent generated code is mentally exhausting and the knowledge we have about our software is slowly degrading. At the same time, errors can now scale at an unbelievable pace rotting our repos in a few hours.

effect-forge is an obsessively designed and opinionated monorepo template built for improving human <> agent collaboration.

It uses the principles of functional programming and type-driven development to guide agents on writing code that's easy to change and understand over unmaintainable slop.

With end-to-end type-safety and observability built-in combined with fast deterministic checks, errors are difficult to introduce and easy to spot for our robots and us.

It's intended to be used as a starting point for new projects or as an educational resource. It also works really well when given as an example for agents.

Read the post that inspired the project ↗

Built in

AGENTS.md and skills

Boundaries and conventions live beside the code. Deeper guidance loads per task.

End-to-end typesafety

Schemas shared across every package and application. Expected failures live in function signatures.

Fast deterministic checks

Format, lint, types, and tests in seconds. An agent proves its own change first without slowing down.

Browser to database traces

End-to-end OTEL observability built in. Humans and agents can see what happens instead of guessing.

Dependency injection

Code is easy to change and test through Effect's injectable services.

Work in parallel

Git worktrees and jj workspaces supported by default.

Stack

Structure

AGENTS.md                 conventions every agent reads
skills/effect-forge/      playbooks, loaded per task

apps/
├─ web                    TanStack Start
└─ api                    Effect HttpApi

packages/
├─ domain                 the domain model
├─ core                   application services and ports
├─ contracts              typed HTTP contracts
├─ design-system          shared visual vocabulary
├─ database               adapter: PostgreSQL
└─ auth-better            adapter: authentication

alchemy.run.ts            infrastructure as code