See @llms.txt for comprehensive Effect documentation and API references.
- Build:
pnpm build(uses tsup, outputs todist/) - Test:
pnpm test(runs all tests) - Type check:
pnpm typecheck - Clean:
pnpm clean
- Effect-TS: Use Effect for side effects, errors, and services. Follow Effect patterns (Effect.gen, pipe, Service classes)
- Imports: Use namespace imports (
import * as Module from "...") for Effect libraries. Use.jsextensions in imports (ESM) - Types: Strict TypeScript enabled. Use
noUncheckedIndexedAccess, no implicit any/this. Prefer type inference over explicit types - Formatting: Semicolons required, no unused imports/locals
- Modules: ESM only (
type: "module"). UseNodeNextmodule resolution - CLI: Use
@effect/clifor commands. Define commands withCommand.make()and wrap in Effect services - Naming: Use PascalCase for services/classes, camelCase for functions/variables
- Error handling: Use Effect's error channel, not throw/catch
- Paths: Use
@/*alias for./src/*imports
src/bin.ts- CLI entry point with Effect runtimesrc/cli.ts- Command definitions and CliService- Single
tsconfig.json- No extends, all config in one file