cats-effect-resource

📁 alexandru/skills 📅 10 days ago
8
总安装量
4
周安装量
#35709
全站排名
安装命令
npx skills add https://github.com/alexandru/skills --skill cats-effect-resource

Agent 安装分布

claude-code 4
opencode 3
github-copilot 3
codex 2
amp 1
kimi-cli 1

Skill 文档

Cats Effect Resource (Scala)

Quick start

  • Model each resource with Resource.make or Resource.fromAutoCloseable and keep release idempotent.
  • Compose resources with flatMap, mapN, parMapN, or helper constructors; expose Resource[F, A] from APIs.
  • Use Resource at lifecycle boundaries and call .use only at the program edges.
  • Read references/resource.md for patterns, best practices, and API notes.

Workflow

  1. Identify acquisition, use, and release steps; decide if acquisition is blocking.
  2. Implement a Resource[F, A] constructor using the smallest needed typeclass.
  3. Compose resources into higher-level resources and keep finalizers minimal.
  4. Decide how cancelation and errors should influence release logic.
  5. Run with .use at the boundary (IOApp, service startup) and avoid leaking raw A.

Usage guidance

  • Prefer Resource over try/finally or bracket when composition and cancelation safety matter.
  • Use IO.blocking (or Sync[F].blocking) for acquisition and release when calling blocking JVM APIs.
  • For background fibers, use Resource or Supervisor to ensure cleanup on cancelation.

References

  • Load references/resource.md for API details, patterns, and examples.
  • For Kotlin/Arrow parallels, see the arrow-resource skill.
  • Install this skill with npx skills add https://github.com/alexandru/skills --skill cats-effect-resource.