kairo.toml file at the package root. This manifest tells Forge what the package is, what version it is at, which version of the Kairo language it targets, and — for applications — how to start it. kairo.toml uses the TOML format and must begin with manifest_version = 1. Forge reads this file as the first step of every build pipeline operation.
Full manifest example
The following example shows a completekairo.toml for an application package. Annotated comments explain each field.
[application] and [runtime] sections entirely:
[package] fields
string
required
The package’s unique identifier in the registry. Must be written in
dot-separated PascalCase — each segment starts with an uppercase letter
and segments are joined with
.. Examples: Astra.Customers,
Astra.Platform.Logging. Single-segment names (e.g., Customers) are
permitted but discouraged; use a namespace prefix to avoid collisions.string
required
The package version in
Major.Minor.Build.Candidate format. All four
components are non-negative integers. Example: 1.2.3.0. See
Version format below for the meaning of each component.string
required
The Kairo language version this package is written for. Forge uses this to
select the correct language rules and standard library surface. Use
"0.1"
for the current release.string
required
Either
"application" or "library". Applications declare an entrypoint
and are executed by Pulse. Libraries expose a public API and may be listed as
dependencies. An application package cannot appear in another package’s
[dependencies] section.Version format
Kairo versions follow a four-component scheme:Major.Minor.Build.Candidate.
Application-specific fields
Whenkind = "application", add [application] and [runtime] sections to complete the manifest.
[application]
string
required
The fully qualified name of the entrypoint function that Pulse will invoke
when the application starts. Must include the complete module path and
function name, separated by
.. Example: "Sales.Orders.Program.main".
See Pulse for the valid entrypoint function signatures.[runtime]
string
required
The runtime engine that executes this application. Use
"Pulse" for the
standard Kairo runtime.string
required
The runtime contract version the application was built and tested against.
Pulse checks this value at startup and rejects artifacts that declare an
incompatible contract. Use
"0.1" for the current release.If you omit the
[application] or [runtime] sections from an application
package, Forge will report an error during the build pipeline. Library
packages must not include these sections.Multi-package repositories (workspaces)
When a repository contains more than one package, create aworkspace.toml file at the repository root alongside — but separate from — any individual kairo.toml files. A workspace lists its member packages explicitly:
kairo.toml. Forge and Studio both recognise workspace.toml as the root of a multi-package project and will operate on all members together unless you target a specific package.
Next steps
Dependencies
Learn how to declare, restore, and lock your package dependencies.
Forge
Run
forge build, forge check, and the rest of the Forge command suite.