{
  "markdown": "# Effect VirtualFileSystem\n\nRun Effect programs against an in-memory filesystem without touching the host disk. Use it for isolated tests, build\npreviews, or tools that need reproducible filesystem state.\n\n## Quick start\n\n```sh\nnpm install @effect-vfs/memory effect@4.0.0-rc.112\n```\n\n```ts\nimport { MemoryFileSystem } from \"@effect-vfs/memory\"\nimport { Effect, FileSystem } from \"effect\"\n\nconst program = Effect.gen(function*() {\n  const fs = yield* FileSystem.FileSystem\n  yield* fs.writeFileString(\"/settings.json\", JSON.stringify({ mode: \"preview\" }))\n  return yield* fs.readFileString(\"/settings.json\")\n})\n\nconst settings = await Effect.runPromise(\n  program.pipe(Effect.provide(MemoryFileSystem.layer))\n)\n\nconsole.log(settings)\n```\n\nThe program uses Effect's normal `FileSystem` service. Only the provided layer changes, so the same application code\ncan use a host filesystem in production and an isolated in-memory filesystem in tests.\n\n## Choose a package\n\n- Use [`@effect-vfs/memory`](packages/memory/README.md) when existing Effect code needs a\n  `FileSystem.FileSystem` implementation. This is the usual starting point.\n- Use [`@effect-vfs/core`](packages/core/README.md) when you need byte-preserving names, explicit callers and\n  permissions, shared volumes, fixtures, quotas, watches, or portable snapshots.\n- Use [`@effect-vfs/persistence`](packages/persistence/README.md) to save named SQLite checkpoints and restore\n  them as fresh volumes in a later process.\n\nThe core, memory, and persistence packages are versioned at `0.0.1`. All packages target the\nexact peer version `effect@4.0.0-rc.112` while Effect 4 remains a release candidate.\n\n## Explore project knowledge\n\nThe [OKF bundle](.okf/index.md) connects the current architecture, behavioral contracts, accepted decisions,\nresearch, and validation guidance. With [Bun](https://bun.sh) installed, start from the project overview and explore\nits neighboring concepts interactively:\n\n```sh\nnpx --yes okf-graph@0.2.0 concept .okf profiles/project-overview --interactive\n```\n\nConcept IDs are paths inside `.okf` without the `.md` extension. You can also validate the bundle or inspect a\nfocused neighborhood directly:\n\n```sh\nnpx --yes okf-graph@0.2.0 validate .okf\nnpx --yes okf-graph@0.2.0 graph neighbors .okf contracts/snapshots-and-fixtures\n```\n\n## Repository development\n\n```sh\nbun install\nbun run type-check\nbun run test\nbun run build\n```\n\nRun the private scratchpad with:\n\n```sh\nbun run --filter @repo/scratchpad dev\n```\n\nReference repositories under `.reference/` are optional and excluded from builds.\n\n`@repo/virtual-build` is a private example package that demonstrates Vite build and rebuild flows over virtual files.\n\n## Core development context\n\nStart with the [project knowledge overview](.okf/profiles/project-overview.md) for the current system boundary, then\nfollow its graph links into the implemented profile, focused contracts, accepted decisions, and draft research.\n\n## License\n\nMIT\n",
  "bytes": 2973,
  "sha": "0f5900ed2d56614acd5a77b3c378a3a6cca437f715c656fa6745004b95babad6",
  "repo_slug": "lloydrichards/effect-virtual-fs",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_lloydrichards_effect_virtual_fs_okf_inde_5548b6b5/readme"
}