Skip to content
s edited this page Aug 1, 2026 · 5 revisions

Supernote Module Generator

This is a code generator for one job: adding Native, JNI, or JSI modules to an existing Supernote plugin.

It is not a plugin framework or SDK and does not replace the official Supernote documentation. Start here only after the plugin already builds and works. If you do not have that prerequisite, use the official Supernote documentation.

What the generator adds

Given an existing plugin, the generator creates a local package below local_modules/ with:

  • editable Kotlin/Java or C/C++ implementation source;
  • generated bridge and registration code;
  • Android/React Native integration;
  • JavaScript/TypeScript declarations and a default import;
  • ownership metadata for safe validation and updates.

The local package extends the existing plugin. It is not another plugin.

Start with your native-code task

Goal Page
Generate one module and call its first export Add a Module
Decide between Native, JNI, and JSI Choosing a Module
Write Kotlin or Java Kotlin and Java Modules
Write C or C++ behind JNI JNI Modules
Write synchronous C++ through JSI JSI Modules
Mark functions for generation and check supported types Export Functions
Understand generated files and editable paths Generated Files and Integration
Validate, update, recover, or remove a module Managing Modules
Use subcommands, plain output, or JSON CLI and Automation
Check generator requirements and backend limits Compatibility
Diagnose a generated module Troubleshooting

Scope boundary

The Wiki explains only behavior created or managed by this generator. General plugin creation, packaging, installation, PluginHost usage, Android development, React Native, ADB, and JavaScript belong to their respective official documentation.

Contributor and release documentation remains in the source repository.

Clone this wiki locally