I built fp-pack, a small TypeScript functional utility library focused on pipe-first composition.
The goal is to keep pipelines simple and readable, while still supporting early exits and side effects — without introducing monads like Option or Either.
Most code uses plain pipe/pipeAsync. For the few cases that need early termination, fp-pack provides a SideEffect-based pipeline that short-circuits safely.
I also wrote an “AI agent skills” document to help LLMs generate consistent fp-pack-style code.
Feedback, criticism, or questions are very welcome.