Skip to main content
Mirrored from Meerkat Meta main at 26f5ae9da1fd on 2026-11-03; Meta version 0.9.9 at that commit.

Releases

Forge ships as a GitHub prerelease, separate from Core’s and Meta’s releases. Each package has a .sha256 file, a provenance record and a GitHub build attestation. forge-candidate-manifest.json binds the packages, and forge-candidate-selection.json records the accepted candidate. To verify a 0.3.0 package:
On macOS, use shasum -a 256 -c in place of sha256sum -c. Each package’s README.md names the destination it supports and its exact runtime selections: Forge releases made from the Meerkat monorepo are published in lukacf/meerkat under the tag meta-installer-v<version>, as packages named meta-installer-<version>-<target>.zip, and never become that repository’s latest release. Verify them with:
The release notes give the same command with the release’s --source-digest.

Forge launcher

Run it from the extracted Forge folder. start.sh:
  1. checks the port setting and selects Python: PYTHON_BIN, else an existing .venv/bin/python, else python3 (3.11 or newer);
  2. reads the package’s standalone-manifest.json and its bundled SDK selection;
  3. creates .venv if it does not exist, prepares pip, installs the pinned dependencies from requirements-standalone.txt and the bundled SDK wheels, and runs pip check;
  4. checks the bundled Meta and Connect runtime;
  5. serves Forge on 127.0.0.1 and prints the address, for example Open Meta Forge at http://127.0.0.1:8787.
--prepare-only stops after step 4 and prints this line:
Press Ctrl+C to stop a running Forge.

Settings

Set these in the environment before running start.sh. MOBKIT_GATEWAY_BIN is refused by the release packages, which select their bundled Meta runtime.

Prepare the application checker

Run from the Forge folder, this is the command-line form of Prepare app checks. It downloads the checksum-pinned official Node.js 25.9.0 archive and installs only its Node executable under the Forge folder’s .tools. It supports macOS on Intel or ARM64, and Linux on Intel or ARM64 with glibc 2.28 or newer and kernel 4.18 or newer. It does not replace the system Node.js. On success it prints Verified private Node.js 25.9.0 checker: and the path; otherwise it prints Checker preparation needs attention: and the reason.

Version and runtimes

The local GET /api/capabilities endpoint reports Forge’s release as version, the public Meta release that agent teams install as agent_team_runtime, and the Meta runtime and gateway selected for applications without a connection setup helper as ordinary_runtime.

Forge folder

Installed application folder

A package, installed by Forge or from a terminal, contains: Back up the complete project folder while the application is stopped, including .mobkit/, data/, workspace/ and private configuration.

Generated package commands

These commands apply to agent team packages and other packages that install from a terminal. A custom application built on a selected Meta and Toolkit runtime refuses them; use its saved setup in Forge.

install.sh

install.sh runs on macOS or Linux with Python 3.11 or newer, selected with PYTHON_BIN (default python3). It refuses a project folder that allows group or other write access. It then:
  1. creates .venv and installs the pinned dependencies: for an agent team first the hash-pinned Meta SDK, and requirements.application.txt when present;
  2. installs the package’s verified gateway;
  3. creates workspace, data and .mobkit/state, and .env from .env.example with mode 600;
  4. runs app.py --check;
  5. runs the private settings interview, unless --non-interactive is given.
The interview shows each field’s help, keeps a configured value when you press Enter, accepts :remove for an optional value, asks again for missing required values and saves atomically. Run bash install.sh again from the same folder after correcting a reported problem; it keeps .venv, .env, workspace, data and .mobkit.

start.sh

start.sh runs app.py in the package’s .venv. With no option it starts the agents, the application’s background work and the Console, and prints the Console URL, by default http://127.0.0.1:4110/console (the plan’s port, or MOBKIT_PORT in .env). Stop the normal process before running --list-flows or --run-flow; both take the same deployment lock. For example:

Service and cloud scripts

A package for a local destination ships deploy/deploy-gcp.sh and deploy/tunnel-gcp.sh as scripts that refuse.

Knowledge helper

When a knowledge service is selected, .venv/bin/python knowledge/manage.py takes setup, renew, up, stop, verify, search QUERY and ingest PATH [--title TITLE]. Start a local service with up and check access with verify. The package’s knowledge/README.md describes the prerequisites.

Optional application files

A custom application can declare these files. Forge reads them from the exact checked or installed source. For example, application/trial.json:

Blueprint fields

blueprint.json uses schema version 2. Unknown fields are rejected.

Agent class

Identities are ID:main for one unnamed instance, ID:1 to ID:N for several, and ID:KEY for named members. The tool grants are:

MCP connection

Topology

Flow

Knowledge

A local knowledge service on a new Google Cloud VM needs e2-standard-8 or larger and at least 100 GB of disk.

Limits

The blueprint limits are validation bounds, not performance guarantees.

Organization plugins

An organization plugin is an installed Python package that registers an entry point in the group meerkat_forge.organizations.v1. Forge loads the one named by META_FORGE_ORGANIZATION once at startup and validates the returned data; no plugin is loaded by default. Every field may be shown to the setup’s viewers and sent to its model, so keep credentials out of it. The Meerkat repository has an installable example in meta/installer/examples/workplace-starters. Install a plugin into Forge’s own environment, then select it:

SSH profiles

For an existing Linux destination, Forge uses this computer’s default SSH identities or SSH agent and trusted host files, and does not read ~/.ssh/config. To use specific files for exact destinations, set META_FORGE_SSH_PROFILES to an absolute path to a JSON file before starting Forge:
The JSON file and both selected files must be ordinary files owned by the user running Forge, with no group or other permissions, hard links or symlinks in their paths. The identity must work without an SSH agent or password prompt, and the host key must come from an independently verified entry. A file can select at most 32 endpoints, and host, login and port must match exactly. Correct or rotate these files while Forge is stopped.