Today
MaintainersNeeds triage
5Pull requests waiting
4- #211compiler: EK4402 quick fix for `Date.now()`Review
- #208vite: watch `.vibe` imports of `.ts` filesApproved
- #205runtime: release 0.0.2 binariesChecks fail
Stack
3- T12Ship the arm64 Windows binaryWorking
- T13Hover shows a call's contractQueued
- T14Cheat sheet: `handle` and `resume`Needs you
Runs
1 failed- Failedcheck-snippets · docs
- WorkingT12 · build and test
- Donee2e · scaffold and run
Branches
3 activeContribute
ContributorsSet up
Go, Bun and Node on your PATH, then one command builds the compiler, the runtime and the editor extension.
sh scripts/setup.shsh scripts/e2e.shOpen TODOs
3- T13Hover shows a call's contractQueued
- T15EK4403 message names the Clock serviceQueued
- T16Example: SQLite with `@effect/sql-sqlite-node`Queued
How a change lands
Pick a TODO or an issue
Or ask Smithers for a new TODO.
Work on its branch
With its conversation, terminal and views.
Open a pull request
Tests and docs in the same change.
A maintainer reviews and merges
People merge; agents never do.
Where to ask
VibeLang
Reliable TypeScript for the AI era, built on Effect.
A simple, readable syntax for Effect that compiles to TypeScript, with first-class access to the TypeScript ecosystem.
npm create vibelang@latest my-apperror NotFound { id: string } service Users { find(id: string): User!NotFound } function greet(id: string) { return `Welcome, ${Users.find(id).name}` catch (e) => `No user ${e.id}` } export function main() { provide UsersLive { const [ada, missing] = await.all [greet("42"), greet("7")] Console.log(ada, missing) } }
Why VibeLang
Every function is an Effect
A call runs where it stands; no `yield*`, no generators.
Typed errors
`error NotFound { id }` and `User!NotFound` in the signature.
Services and layers
`service`, `provide` and `Layer` as language.
Concurrency
`await.all`, `await.race`, `fork` and `join`.
Your editor knows it
Diagnostics, hovers and completions from the compiler.
TypeScript interop
Checks `.vibe` and `.ts` together; emits JavaScript and types.
Benchmarks
Ecosystem
Questions about VibeLang?
Ask Smithers about this repository… AskToday
MaintainersNeeds triage
12Pull requests waiting
9- #6127fix(platform-node): close sockets with the run loop's exit codeReview
- #6122feat(ai): OpenRouter tool-call streamingApproved
- #6117perf(Schema): cache compiled parsers per ASTReview
- #6110chore: bump vitest to 4.1Checks fail
Stack
4- T41Fix #6128: re-subscribe after reconnectRunning
- T42Port Layer docs to v4 namesQueued
- T43Cache Schema parsersNeeds you
Runs
24 today- Failedtriage · #6131
- WorkingT41 · fix and test
- Donerelease-notes · effect@4.0.5
Branches
3 activeYour work
ContributorsWhat should we work on?
Ask Smithers about Effect… AskEffect
Build production-ready applications in TypeScript.
Typed errors, dependency injection, structured concurrency, retries, tracing and schemas in one library with zero dependencies.
npm install effectimport { Data, Effect, Schedule } from "effect" class FetchError extends Data.TaggedError("FetchError")<{ readonly cause: unknown }> {} const getUser = (id: string) => Effect.tryPromise({ try: (signal) => fetch(`/users/${id}`, { signal }), catch: (cause) => new FetchError({ cause }) }) // Typed failure, retried with backoff, bounded in time. const program = getUser("42").pipe( Effect.retry({ times: 3, schedule: Schedule.exponential("100 millis") }), Effect.timeout("5 seconds") )
Why Effect
Typed errors
Every failure is in the type, so the compiler lists what you haven't handled.
Dependency injection
Services and layers, checked at compile time, swapped in tests.
Structured concurrency
Fibers that cancel cleanly, with no leaked work.
Retries and scheduling
Backoff, jitter and timeouts as values you compose.
Built-in tracing
Spans and metrics with OpenTelemetry, no extra code.
Schema
One definition to validate, decode, encode and document data.
Ecosystem
Core
Effect, Layer, Schema, Stream and the rest.
@effect/platform-nodeNode.js
HTTP, files, sockets and workers.
@effect/sql-pgPostgreSQL
Typed SQL with pooling and migrations.
@effect/ai-anthropicAI
Model calls as effects: retries, tools, streaming.
@effect/opentelemetryTracing
Export spans and metrics anywhere.
@effect/vitestTesting
Run effects as tests, with test clocks.
@effect/atom-reactReact
Reactive state backed by effects.
@effect/platform-bunBun
The platform services on Bun.
Releases
- effect@3.22.3
LayerMap releases preloaded entries after their idle TTL.
- @effect/sql-pg@0.53.1
Closes the pool when the first connection check fails.
- effect@4.0.5
Patch release of the 4.0 line.