Firenook is a Rust-based replacement for the Firebase Local Emulator Suite, designed to run existing projects with minimal changes: keep firebase.json, SDKs, ports, rules, indexes, and function code, and swap the emulator command. It supports Firestore, Authentication, Cloud Storage, Cloud Functions, Pub/Sub, Cloud Tasks, Eventarc, and Extensions, with a console and an MCP interface for agents. It reads and writes the official import/export format, and can preserve Firestore, Auth, and Storage data between runs rather than requiring export and import each time. Its demo shows a project reopening with more than 1.2 million documents, 64,000 users, and 5,400 files; function logs expose both successful calls and errors. Realtime Database, Hosting, App Hosting, and Data Connect are not emulated.
The central claim is substantially lower resource use and faster operations than the official emulator suite. In a two-hour test using one production app on the same server, with 211,205 Firestore documents and 6.7 GB of Storage data, Firenook used 2.11 GiB peak memory versus 22.6 GiB and reduced median writes from 208 ms to 5.1 ms. Listener updates were 19 times faster, ordered limited queries eight times faster, and restart with saved data took about 0.59 seconds versus 30.8 seconds. It answered 25 of 26 tested query shapes faster and tied on the remaining one. The site also says crashes may lose up to a second of writes, while a clean stop saves data; the project’s compatibility page details what each service supports and where it differs.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.