Skip to main content
DraftProduct scope: confirmation neededVerified

Developers — start here

You can write a unit with your own business logic or an integration with an external service. A unit describes its capabilities through a contract. The platform and applications use that description. The unit author owns domain logic, data persistence and calls to the external API.

Choose a path​

I want toGuideOutcome
Understand extensionsWhat is a unitDistinguish a unit, an instance, a manifest and an exposition.
Write a serviceNotes example in .NETSee the complete files and an operation that creates a note.
Add an integrationDiscord pluginUnderstand account linking, configuration contracts and notification delivery.
Run a unit in an environmentUnit lifecycleKnow what to agree before enrollment and how to preserve identity.
Check an implementationTesting and troubleshootingSeparate compilation, contract tests and operation with the platform.

Before writing code​

You need SDK access, an agreed version set and an environment assigned by the platform operator. The documentation is public; this does not make the packages or environment public.

  1. Agree on the language and SDK version. Notes uses .NET SDK package 1.12.0 and .NET 10.
  2. Obtain feed access and the complete example, or create the files shown in the guide.
  3. Decide which operations, data and events the unit needs to handle.
  4. Describe its manifest and exposition. Implement the handler.
  5. Check the local build and tests. Then perform enrollment in the agreed environment.

Public contact for SDK and environment access:

(information to be provided)

What is generated and what you write​

Composer turns supported Ontology models and DSL .unit into backend artifacts. A manually written unit can use the SDK without generating its logic from Ontology. An integration plugin is one example.

API Catalog describes the API for client tooling. It does not automatically provide complete screens, sign-in or an entire application. Those parts need to be built and tested.

Reading status labels​

CURRENT means a mechanism confirmed in the referenced code. MANUAL / POSSIBLE TODAY means a verified manual procedure. EXPERIMENTAL and PLANNED do not mean a finished feature. UNKNOWN and NOT_RUN indicate missing confirmation or a test that has not been performed.

The Notes example compiled with published SDK package 1.12.0. Its complete runtime with the platform and acceptance by an independent developer have not been tested. Do not select an arbitrary SDK and platform combination simply because both components are available.