Reference·CellsIndex

Cells

What a cell is, where to find one, how to turn one on or off, the hub, how cells load.

.mdllms.txt

A cell is a folder of code under ~/.nodecode/cells/ that carries an .asd file.

Rules

  • A folder that is present is on. Every Nodecode process loads it at boot.
  • Remove the folder to remove the cell.
  • No config key names cells. A config key cells is ignored with a warning.
  • A cell runs inside Nodecode with full authority over the host. See Security.
  • A profile has its own cells/ folder. See Profiles.
KindWhat it is
LayerThe definitions the agent wrote and kept, one file each, in a git repository. You do not write it.
PeripheralAny other cell. It exports start-cell, which the gateway calls with the parsed config.
LibraryA folder with no start-cell. It loads. Nothing starts.

The gateway is the local server that shells attach to. A shell is the terminal UI.

Find one

Every cell you can add is listed under Cells in the bar.

WhereWhat it shows
CellsNodecode's cells and the community's, each pinned to one commit.
/cells in the shellThe cells installed here, their state, and every standing notice.
(help :TOPIC) through evalA running cell's manual.

How a cell is written: Cell API.

Turn one on

WayHow
SetupRun nodecode setup or /setup. Pick a tier.
ShellRun /cells. Press Space on the highlighted cell.
Web pageOpen Control, then the Cells tab.
Command lineRun nodecode add nc://NAME.

Setup tiers:

TierInstalls
RecommendedShipped cells that need no key, account or server first.
EverythingEvery shipped cell this build can load. Never a hub cell.
ChooseA checklist of the shipped cells, then the hub's entries.
EscNothing.
a shell
nodecode add nc://NAME [--yes]
CaseResult
NAMEThe cell's name. The nodecode- prefix is optional.
Hub cellIts repository, pinned commit and contents are shown first. It installs on a yes.
--yesAnswers yes on the line.
No terminal, no --yesNothing is installed.
Nodecode is runningThe cell turns on at once, in every attached shell.
Nodecode is stoppedThe cell loads at the next launch.

A shipped cell is installed as a symlink to the build's own folder. Windows gets a copy.

Turn one off

Use the same toggle: Space in /cells, or the Cells tab of the web page.

CaseResult
Symlink, shipped copy or hub cloneThe folder is removed. The cell stops.
Another installed cell depends on itRefused. Turn that one off first.
A folder you put there yourselfRefused. Remove it by hand.
After turning offThe code stays loaded until Nodecode restarts.

To keep the folder but start nothing, set "enabled": false in its config section:

~/.nodecode/config.jsonc
"NAME": { "enabled": false }

After a config change, run (restart-cells) through eval, or (restart-cells "NAME") for one folder.

Hub

Cells outside the release are listed in two indexes.

IndexURLOverride
Nodecode's ownhttps://preview.nodecode.ai/dl/cells/index.json$NODECODE_HUB_INDEX
Communityhttps://nodecode.ai/cells/community.json$NODECODE_COMMUNITY_INDEX

Nodecode's own index is private for now. Only the operator's and the testers' addresses reach it.

Entry fields:

FieldMeaning
nameThe primary system's name.
gitThe repository. HTTPS only.
commitA full commit id. The entry is pinned to it.
descriptionWhat the folder's .asd says.
licenseThe license.
depends_onWhat the folder's .asd depends on.
platformsOptional. Any of linux, macos, windows.
pathOptional. The folder inside the repository.

Install checks:

  • HEAD is the pinned commit.
  • The primary system has the entry's name, description and depends_on.
  • The clone holds no symbolic link.
  • Every dependency is found.
  • No git hook runs. No submodule is fetched.

A hub cell gets a .hub marker file. A release never moves it from its pinned commit.

Install from git

Clone the repository into the cells folder. It loads at the next launch.

a shell
git clone <url> ~/.nodecode/cells/<name>

Updates

Shipped cells follow the binary. The check runs at launch, before the folder loads.

Installed asAt launch
Symlink into another buildPointed at this build's folder.
Copy made by another buildMade again from this build.
Folder this build no longer ships, from another releaseRemoved. The boot line says so.
Hub cellLeft at its pinned commit.

Your own cells and hub cells compile into ~/.cache/nodecode/peripherals/<build stamp>/ at their first load under each build.

Loading

Order:

  1. Every folder is registered.
  2. Dependencies load first.
  3. Other folders load in alphabetical order.
  4. Layers load after every peripheral.

The gateway starts each peripheral after recovery.

FailureResult
A folder fails to loadThe other folders still load. /cells lists the failure.
A config section is wrong/cells shows REFUSED. A notice names the folder. The other cells still start.
An installed folder is goneThe boot reports it as failed.

The gateway always boots.

Esc

    Loading the index…

    ↑↓ moveEnter openEsc close