Build tools for Petti
Petti 1.4 · Plugin API v1 · Experimental
A Petti plugin is a local folder with a manifest and JavaScript. Petti supplies the interface and controlled database access. You supply the tool’s behavior.
Applies to Petti 1.4.0 · API version 1 · Experimental. API version 1 identifies the current contract, not a promise of unlimited compatibility. Read the limits before depending on a capability.
Start small
Build a command or cell preview first. You do not need Swift, Xcode, Node, a web server or an external AI service to write and install a plugin. The installed Mac app runs the JavaScript. A source checkout and Xcode are only needed for the repository’s automated Swift tests.
For installing and using tools rather than authoring them, see the user guide. Petti plugins are not native SQLite extensions: they cannot load .dylib files or add arbitrary SQLite functions.
Build and learn
Create your first plugin
Build and install a Petti plugin with manifest.json and main.js. Register a text command and cell previewer, approve permissions and verify the result.
Plugin examples and use cases
Try complete Petti plugin examples for text previews and a schema workspace. Choose public APIs for JSON tools, data inspection, imports and reviewed workflows.
Workspaces, apps and background jobs
Build optional native Petti interfaces with inspectors and workspaces. Understand owned app schemas, migrations, templates, reviewed jobs and current platform limits.
Develop safely
Database access and permissions
Understand Petti plugin permissions, typed SQL values, parameterized reads, reviewed writes, transactions, read-only enforcement, cancellation and snapshot behavior.
Test, debug and distribute a plugin
Test Petti plugin behavior with real inputs, read-only enforcement, truncation and cancellation. Diagnose install errors and share a local package responsibly.
Plugin API v1 reference
The Petti 1.4 experimental JavaScript API contract: registries, callback scopes, permissions, typed values, native UI, workspaces, migrations, jobs and limits.