About this project

Ferret is a declarative-first, expression-oriented language and runtime designed for automating structured data workflows. It enables querying, transforming, synchronizing, and orchestrating data across browsers, APIs, databases, documents, and custom sources. Built in Go, it offers an embeddable runtime with compiled plans, isolated sessions, and managed resource lifecycles. Ferret v2 (currently in alpha) introduces a new execution model, extended syntax, and improved extensibility through modules, hooks, and custom types. Developers can integrate it via native v2 API or migrate existing v1 projects using a compatibility layer. The project includes CLI tools, test runners, and web workers, and supports event-driven synchronization and bytecode VM for efficient reuse. Documentation, playground, and migration guides are available online.