Developer docs
Getting Started·

Getting Started

What a niyase plugin is, the concept behind the useNiyase() bridge, and the difference between official, certified, and internal plugins.

niyase plugins are a mechanism for adding features specialized for an industry or business task, one side-menu entry at a time. A single plugin bundle runs on niyase cloud (Web) and the niyase app (Desktop / Mobile).

Core principle — the useNiyase() bridge

Plugins never receive any of the app's source code; you develop with the SDK alone. The only API surface a plugin touches is the useNiyase() bridge.

import { useNiyase } from "@niyase/plugin-sdk";

function Root() {
  const niyase = useNiyase();
  niyase.data; // CRUD on your own plugin's plg_* tables
  niyase.core; // Read core data (employees, departments, spaces — minimal fields)
  niyase.context; // { spaceId, role, audience, activeIndustry, locale, theme, ... } reactive
  niyase.i18n; // Per-industry rewording (e.g., project ↔ construction job)
  niyase.navigate; // Navigation within your own plugin
  niyase.toast; // Notifications
  niyase.palette; // Unified palette integration
  // ...
}

One interface, two implementations: in local preview, useNiyase() is injected with a MOCK implementation; on production niyase it is injected with the REAL implementation. The same code becomes the production look as-is.

Three development forms

FormDistributionReviewUse case
OfficialProvided by niyaseExtensions of core features
CertifiedPublished on the marketplaceRequiredThird-party development, offered to other companies
InternalPublished only to your own spaceOptionalSpecialized for your own work, not published publicly

SDK packages (all published on npm, MIT)

  • @niyase/plugin-sdk — the useNiyase() bridge contract, defineManifest(), types, and the niyase-plugin CLI
  • @niyase/plugin-sdk/manifest — the PluginManifest type + validateManifest() (zod)
  • @niyase/plugin-sdk/ui — niyase's UI components
  • @niyase/plugin-preview — the local preview for niyase-plugin dev
  • Setup — scaffold with niyase-plugin new and get it running in minutes
  • Manifest — the required fields of manifest.ts
  • UI Integration — the useNiyase() bridge and audiences
  • Submission — the submission flow for certified plugins