For AI agents: the complete documentation index is available at https://flow.jig.md/llms.txt, the full documentation bundle is available at https://flow.jig.md/llms-full.txt, and this page is available as Markdown at https://flow.jig.md/guide/index.md.
DocumentationGuidePrerelease

#FLOW specifications

View Markdown

FLOW v0 · public alpha. These formats and protocols are provisional. Their /0 identifiers name this candidate; a future FLOW v1 will mark an explicit compatibility commitment.

FLOW lets you build applications from reusable methods that combine Agent instructions and executable code. Package useful work as a Flow, call it from code, and combine it with other Flows to accomplish more.

An executable Flow gives a method a defined input and result, so a program can invoke it without an Agent first interpreting its instructions. The method can use ordinary code, Agent judgment, or both. The specifications below define the small package and process boundaries that make those pieces work together.

A Flow package contains descriptive files and an executable method. Operator choices configure a host, such as Jig, which invokes the method through Run/0.A Flow package contains descriptive files and an executable method. Operator choices configure a host, such as Jig, which invokes the method through Run/0.

Every package has one FLOW.<ext> implementation, including Markdown as FLOW.md. Metadata and invocation contracts are optional. The Run SDK helps implement the exchange. FLOW defines these portable boundaries, while each host decides which implementations it supports.

New to FLOW? Start building a method or read why this boundary exists before exploring the exact contracts.

#Author a Flow

Both SDKs implement the same portable Run SDK/0 contract:

LanguagePackageStart here
TypeScript / JavaScript@jigging/flowSDK guide
Pythonjiggy-flowPython guide

A host's language support is separate from FLOW's SDK availability. For an interpreted method, follow the Markdown guide and Skill compatibility notes.

#Specifications

  • JSON/0 defines bounded portable values.
  • Schema/0 defines bounded invocation, channel and implementation-settings validation.
  • Package/0 defines the portable package.
  • Run/0 defines one finite process exchange.
  • Run SDK/0 defines TypeScript and Python SDK behavior.
  • Invocation Contract/0 defines one optional descriptor for local validation or an exact named invocation agreement.
  • Markdown/0 defines bounded prose interpretation and exact SDK recipes in FLOW.md.
  • Channel Contract/0 defines optional direct communication ports and named message meaning.

The exact machine-readable FLOW files are published under /schemas/. The Run/0 conformance corpus remains in the source repository.

FLOW does not specify project admission, permissions, sandboxing, persistence, agent policy, or semantic routing. Those are host responsibilities. The Jig site documents one FLOW host.

#Status and stewardship

These prerelease specifications are published directly from the source repository. FLOW is openly implementable; its decision process is described in the governance document.