Skip to main content

Build one complete feature the Runtime Kit way: a package lists data and an action, Runtime Kit checks that package file, a React screen reads the named data, and a button asks the named action to do work.

What you will build

You are building a small welcome panel for a product launch screen.The panel needs three public pieces:The screen does not parse package files. The package does not import React. The button does not import the code behind welcome.suggest. Runtime Kit keeps those jobs separated.
01

Files start as source material owned by the package.

02

things-to-store-and-run.json declares records, bytes, and targets.

03

Runtime Kit checks the package before app code sees handles.

04

The app reads data names and calls action names.

That is the full public chain. The rest of this page fills in every step.

Before you start

You need these public facts before the feature can work:This page does not ask you to hand-edit ~/.bitfield. Runtime Kit and account flows own local activation and package state. If one device behaves differently from another, use Local state and Troubleshooting instead of copying folders by hand.

Step 1: Create the package folder

Create one package folder inside the package set you are working on:
The package folder is source material. Runtime Kit is not asking your React app to read this folder. Runtime Kit checks package material first, then gives the app data names and action names.Success check:
If the file is missing, Runtime Kit has no package list to check.

Step 2: List what the package brings

things-to-store-and-run.json declares what this package brings.
The record is the data the screen will read. The slot is the named target the button will call.The names that matter later are:The address and the screen data name are related, but they are not the same thing. The app should read the data name, not build package addresses by hand.

Step 3: Admit the package

Before admission, this is only a folder with a package file.After admission, Runtime Kit has checked the package and can expose data names and action names.Success check:
If the package is not available, do not patch React. Check things-to-store-and-run.json first. See Package file failures.

Step 4: Read the named data

Your React screen reads welcome-copy.

What should happen

If the screen stays empty, check the data name and render states. See Named data read failures.

Step 5: Send a request from the button

The button calls the action by name.
The request shape is:

What should happen

If the request throws before work starts, check the action name and package declaration. If JSON parsing fails, check the reply shape. See Action request failures and Reply decoding failures.

Step 6: Put the read and request together

This is the full screen. It reads named data and asks welcome.suggest for work without importing package setup.
The component owns UI state. It does not own package admission, storage layout, or the implementation for welcome.suggest.

Step 7: Verify the feature

Use this checklist before treating the feature as done:If any row fails, fix that row before adding a second feature.

What not to do

Do not make the React component parse things-to-store-and-run.json. That moves package admission into the UI.Do not hardcode package folder paths into app code. The folder is package input, not the app API.Do not import the slot implementation into the button. Call welcome.suggest.Do not skip loading, error, or empty states. Runtime Kit features still have real user states.Do not publish package examples that contain private tokens, account secrets, or real customer data.

What changes when the feature grows

The public chain can grow without changing its shape.Runtime Kit is valuable because the feature can get bigger without forcing every screen to import or configure every lower layer.

Debug the chain

When something fails, locate which link failed:Start at things-to-store-and-run.json. Then check the data name or action name. Then check the component.

Feature map

Keep this map beside the feature while building it:
That map keeps everyone working on the same public names.

Quick reference

Where to go next

Read JavaScript Runtime Kit when you want the full mental model.Read Packages when you are shaping things-to-store-and-run.json.Read things-to-store-and-run.json when you need exact record, stored_bytes, or slot field rules.Read Read data in React when a component needs named data.Read Send a request when a button needs an action.Read Runtime Kit API when you need exact request, reply, selector, and render-state contracts.Read Troubleshooting when the chain breaks.

Now build the bigger version

Take the same chain and build a screen that uses two packages.Package one owns the copy:
Package two owns the checklist:
The React screen reads both data names without importing either package:
Then add one action name, such as launch.next-step, for the button that helps the user keep moving. The UI now has copy, checklist data, and a callable action while still using the same public read/request shape.When that shape feels clear, learn the larger composition in Placeable surfaces, then copy the full example in Placeable surface product loop.
Last modified on May 11, 2026