Convert Snapshot from a promise-based namespace with Instance ALS reads
to an Effect service on the Instances LayerMap.
- SnapshotService with ChildProcessSpawner for git subprocess execution
and Effect FileSystem for file operations (replaces Process.run and
raw fs calls)
- Nothrow git helper that always returns { code, text, stderr }, with
spawn failure details preserved in stderr
- Hourly cleanup via Effect.forkScoped + Schedule.spaced (replaces
Scheduler.register)
- Promise facade preserved for all existing callers
- Parallelized before/after git show in diffFull
- Add worktree to InstanceContext.Shape (needed for --work-tree flag)
- Add Instance.current getter for single ALS read
- Extract repeated git config flags into GIT_CORE/GIT_CFG/GIT_CFG_QUOTE
constants
- Platform layers (NodeChildProcessSpawner, NodeFileSystem, NodePath)
provided directly on the service layer
|
||
|---|---|---|
| .. | ||
| bin | ||
| migration | ||
| script | ||
| src | ||
| test | ||
| .gitignore | ||
| AGENTS.md | ||
| BUN_SHELL_MIGRATION_PLAN.md | ||
| Dockerfile | ||
| README.md | ||
| bunfig.toml | ||
| drizzle.config.ts | ||
| package.json | ||
| parsers-config.ts | ||
| sst-env.d.ts | ||
| tsconfig.json | ||
README.md
js
To install dependencies:
bun install
To run:
bun run index.ts
This project was created using bun init in bun v1.2.12. Bun is a fast all-in-one JavaScript runtime.