Apple iWork formats (Pages, Numbers, Keynote): Reverse engineering Apple Pages, Numbers and Keynote files into a TypeScript library A TypeScript library called cupertino-files has been published to npm that opens, edits and saves Apple Pages, Numbers and Keynote files in Node 22 or modern browsers without a Mac, according to the project's README. The library, a dependency-free reverse engineering of Apple's undocumented iWork formats, reports support for 363 authored formula functions in Numbers, byte-for-byte preservation of untouched content, and detection that declines password-protected documents and the older iWork 09 XML format rather than mis-parsing them. The commit log carries Claude trailers on nearly every commit — Claude Fable 5.1 on 103, Fable 5 on 40, plus 51 naming Claude — and independent confirmation of the results is not reported. Evidence at a glance Based on the linked sources. The author's reported result and independent confirmation are separate checks. - AI involvement - Reported models: Claude Fable 5.1, Claude Fable 5. Tools: TypeScript, Protocol Buffers. The writeup below describes the work attributed to AI. - Reported result - Works. This is the directory's source-based outcome classification. - Independent confirmation - Not reported. - Human work and limitations - The repository belongs to the den-frie-vilje organization and the commit log shows one main human committer. The README says tables are inserted from a neutral Apple-made donor, filter rules are read-only, and some questions are still open. Original sources What was done cupertino-files is an ongoing reverse engineering of the undocumented iWork formats, measured from real documents. Nearly every commit carries a Claude trailer, mostly naming Claude Fable 5.1. Apple's iWork formats are undocumented, and this library is described by its author as an ongoing reverse engineering of them, measured from real documents. The result is a pure TypeScript package with no runtime dependencies that opens, edits and saves Pages, Numbers and Keynote files in Node 22 or modern browsers, without a Mac. The README says everything you do not touch is preserved byte for byte. For Pages it lists text edits, named styles, sections, headers, images, tables, comments and footnotes. For Numbers it lists reading and writing every value type, authored formulas with 363 functions, merges, conditional rules and sheet structure. Keynote support covers slides, layouts, transitions, builds and presenter notes. Charts, new blank documents, export to Markdown or CSV and an audit that names faults before save are also described. Password-protected documents and the old iWork 09 XML format are detected and declined rather than mis-parsed. Open questions are tracked in docs/BLOCKERS.md and capabilities in docs/COVERAGE.md. The commit log shows Claude trailers on nearly every commit Claude Fable 5.1 on 103, Fable 5 on 40, plus 51 naming Claude , and the repository has agent files. Reproduce it Run npm install cupertino-files and try the examples in the README against your own .pages or .numbers file. Fixtures in the repository are sample documents used for tests. Community Ask a question, share what worked, or follow the next milestone. Your library https://reversedwithai.com/library