effect

작성자: browser-use

이 저장소에서 Effect v4 / effect-smol TypeScript 코드 작업하기

npx skills add https://github.com/browser-use/browsercode --skill effect

Effect

This codebase uses Effect for typed, composable TypeScript services, schemas, and workflows.

Source Of Truth

Use the current Effect v4 / effect-smol source, not memory or older Effect v2/v3 examples.

  1. If .opencode/references/effect-smol is missing, clone https://github.com/Effect-TS/effect-smol there. Do this in the project, not in the skill folder.
  2. Search .opencode/references/effect-smol for exact APIs, examples, tests, and naming patterns before answering or implementing Effect-specific code.
  3. Also inspect existing repo code for local house style before introducing new patterns.
  4. Prefer answers and implementations backed by specific source files or nearby repo examples.

Guidelines

  • Prefer current Effect v4 APIs and project-local patterns over old blog posts, examples, or package-memory guesses.
  • Use Effect.gen(function* () { ... }) for multi-step workflows.
  • Use Effect.fn("Name") or Effect.fnUntraced(...) for named effects when adding reusable service methods or important workflows.
  • Prefer Effect Schema for API and domain data shapes. Use branded schemas for IDs and Schema.TaggedErrorClass for typed domain errors when modeling new error surfaces.
  • Keep HTTP handlers thin: decode input, read request context, call services, and map transport errors. Put business rules in services.
  • In Effect service code, prefer Effect-aware platform abstractions and dependencies over ad hoc promises where the surrounding code already does so.
  • Keep layer composition explicit. Avoid broad hidden provisioning that makes missing dependencies hard to see.
  • In tests, prefer the repo's existing Effect test helpers and live tests for filesystem, git, child process, locks, or timing behavior.
  • Do not introduce any, non-null assertions, unchecked casts, or older Effect APIs just to satisfy types.
  • Do not answer from memory. Verify against .opencode/references/effect-smol or nearby code first.

Testing Patterns

  • Use testEffect(...) from packages/opencode/test/lib/effect.ts for tests that exercise Effect services, layers, runtime context, scoped resources, or platform integrations.
  • Use it.live(...) for filesystem, git repositories, HTTP servers, sockets, child processes, locks, real time, and other live platform behavior.
  • Run tests from package directories such as packages/opencode; never run package tests from the repo root.
  • Prefer explicit test layers over ad hoc managed runtimes. Keep dependency provisioning visible in the test file.
  • Use scoped fixtures and finalizers for resources that must be cleaned up, including temporary directories, flags, databases, fibers, servers, and global state.

browser-use의 다른 스킬

cdp
browser-use
Drive Chrome via the DevTools Protocol from JavaScript. Run JS snippets through the `browser-harness-js` CLI — it auto-spawns a long-lived bun HTTP server…
browser
browser-use
CDP를 통한 직접 브라우저 제어. 사용자가 웹 페이지를 자동화, 스크래핑, 테스트 또는 상호작용하려는 경우 사용합니다. 사용자의 이미 실행 중인 Chrome에 연결합니다.
browser-harness
browser-use
모든 웹 상호작용(자동화, 스크래핑, 테스트, 사이트/앱 작업)에는 항상 browser-harness를 사용하세요.
browser-use
browser-use
모든 웹 상호작용(자동화, 스크래핑, 테스트, 사이트/앱 작업)에는 항상 browser-use를 사용하세요.
browser-use
browser-use
웹 테스트, 양식 작성, 스크린샷, 데이터 추출을 위한 브라우저 상호작용을 자동화합니다. 사용자가 웹사이트 탐색, 웹 페이지 상호작용, 양식 작성, 스크린샷 촬영, 또는 웹 페이지에서 정보 추출이 필요할 때 사용하세요.
browser-automation
cloud
browser-use
Cloud REST API, SDK 및 통합 패턴에 대한 참조 문서입니다. 사용자의 필요에 따라 관련 파일을 읽으십시오.
open-source
browser-use
browser-use 라이브러리를 사용하여 Python 코드를 작성하기 위한 참조 문서입니다. 사용자의 필요에 따라 관련 파일을 읽으십시오.
manim-video
browser-use
Manim Community Edition을 사용한 수학 및 기술 애니메이션 제작 파이프라인입니다. 3Blue1Brown 스타일의 설명 영상, 알고리즘…