Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
flow
command
Command flow is the Flowstate CLI: it validates, fixes, tests, and runs Flowfiles locally, and serves as the control plane, worker, and operator tooling for durable execution against Temporal.
|
Command flow is the Flowstate CLI: it validates, fixes, tests, and runs Flowfiles locally, and serves as the control plane, worker, and operator tooling for durable execution against Temporal. |
|
flow/internal/appearance
Package appearance holds the CLI's appearance pins: charmbracelet/vhs tape files under testdata, one per styled surface, each paired with a golden of the terminal screen the tape produces.
|
Package appearance holds the CLI's appearance pins: charmbracelet/vhs tape files under testdata, one per styled surface, each paired with a golden of the terminal screen the tape produces. |
|
flow/internal/docsgen
Package docsgen generates the reference documentation under docs/reference/, from the things that cannot drift.
|
Package docsgen generates the reference documentation under docs/reference/, from the things that cannot drift. |
|
flow/internal/fragments
Package fragments holds the interactive documents `flow mcp` serves as MCP Apps UI resources.
|
Package fragments holds the interactive documents `flow mcp` serves as MCP Apps UI resources. |
|
flow/internal/mcp
Package mcp is the protocol surface `flow mcp` serves: tool names and descriptions derived from the schema, the RPC dispatch table, and registration of both onto an *mcp.Server.
|
Package mcp is the protocol surface `flow mcp` serves: tool names and descriptions derived from the schema, the RPC dispatch table, and registration of both onto an *mcp.Server. |
|
flow/internal/reference
Package reference holds the documents `flow mcp` serves as MCP resources.
|
Package reference holds the documents `flow mcp` serves as MCP resources. |
|
flow/internal/taskexample
Package taskexample builds the smallest Flowfile step that runs a given task.
|
Package taskexample builds the smallest Flowfile step that runs a given task. |
|
flow/internal/ui
Package ui decides, in one place, how the flow command line looks.
|
Package ui decides, in one place, how the flow command line looks. |
|
flow/internal/watch
Package watch is the TUI `flow watch` draws while a run is going, and the state machine both the live view and the plain, line-per-change shape fold their answers into.
|
Package watch is the TUI `flow watch` draws while a run is going, and the state machine both the live view and the plain, line-per-change shape fold their answers into. |
|
examples
|
|
|
embedding
command
Command embedding is a runnable demonstration of pkg/flowstate/embed: a Go program that compiles a Flowfile from bytes, registers its own Go function as a custom task, and runs the workflow — locally by default, or durably against a Temporal server when --durable is given.
|
Command embedding is a runnable demonstration of pkg/flowstate/embed: a Go program that compiles a Flowfile from bytes, registers its own Go function as a custom task, and runs the workflow — locally by default, or durably against a Temporal server when --durable is given. |
|
internal
|
|
|
covbuild
Package covbuild is test-only support for measuring coverage inside a subprocess.
|
Package covbuild is test-only support for measuring coverage inside a subprocess. |
|
pkg
|
|
|
flowstate/embed
Package embed is the curated surface for embedding Flowstate as a Go library: compile a Flowfile from bytes, run it locally in-process or durably against a Temporal worker the embedding program owns, and register the program's own Go functions as tasks a workflow can call.
|
Package embed is the curated surface for embedding Flowstate as a Go library: compile a Flowfile from bytes, run it locally in-process or durably against a Temporal worker the embedding program owns, and register the program's own Go functions as tasks a workflow can call. |
|
flowstate/v1
Package flowstatev1 holds the generated flowstate.v1 protobuf types and the hand-written engine that gives them behavior: the local interpreter (RunWithInputs), the task registry, the CEL evaluator, and the primitives pkg/flowstate/v1/engine wraps for durable execution against Temporal.
|
Package flowstatev1 holds the generated flowstate.v1 protobuf types and the hand-written engine that gives them behavior: the local interpreter (RunWithInputs), the task registry, the CEL evaluator, and the primitives pkg/flowstate/v1/engine wraps for durable execution against Temporal. |
|
flowstate/v1/auth
Package auth establishes identity in both directions between Flowstate and the systems around it, using OpenID Connect and Workload Identity Federation.
|
Package auth establishes identity in both directions between Flowstate and the systems around it, using OpenID Connect and Workload Identity Federation. |
|
flowstate/v1/authtest
Package authtest serves an OpenID Connect provider from inside a test, so that a trust policy can be proved without an identity provider, a network, or a credential.
|
Package authtest serves an OpenID Connect provider from inside a test, so that a trust policy can be proved without an identity provider, a network, or a credential. |
|
flowstate/v1/credentialsource
Package credentialsource turns an environment into a credential.
|
Package credentialsource turns an environment into a credential. |
|
flowstate/v1/dst
Package dst is the deterministic simulation tier: one workflow run under many schedules, held to the claim that the schedule is not something an author can see (issue #477, slice 0).
|
Package dst is the deterministic simulation tier: one workflow run under many schedules, held to the claim that the schedule is not something an author can see (issue #477, slice 0). |
|
flowstate/v1/dst/dsttest
Package dsttest is the testing-shaped front door to the deterministic simulation tier: explore a workflow's schedule space and fail the test on the first schedule that disagrees with written order.
|
Package dsttest is the testing-shaped front door to the deterministic simulation tier: explore a workflow's schedule space and fail the test on the first schedule that disagrees with written order. |
|
flowstate/v1/engine
Package engine is the durable execution driver: it runs a compiled workflow specification as a Temporal workflow, so a run survives process crashes, deploys, and waits measured in days.
|
Package engine is the durable execution driver: it runs a compiled workflow specification as a Temporal workflow, so a run survives process crashes, deploys, and waits measured in days. |
|
flowstate/v1/flowfile
Package flowfile compiles a Flowfile — the YAML and CEL surface authors write — into the protobuf workflow the engine executes, and writes one back out again.
|
Package flowfile compiles a Flowfile — the YAML and CEL surface authors write — into the protobuf workflow the engine executes, and writes one back out again. |
|
flowstate/v1/flowfile/lsp
Package lsp implements a Language Server Protocol server for the Flowfile DSL.
|
Package lsp implements a Language Server Protocol server for the Flowfile DSL. |
|
flowstate/v1/flowtest
Package flowtest implements `flow test` (#155): self-testing of workflows through the local driver, with stubbed tasks and virtual time.
|
Package flowtest implements `flow test` (#155): self-testing of workflows through the local driver, with stubbed tasks and virtual time. |
|
flowstate/v1/internal/conformance
Package conformance holds the behavior cases both execution drivers must pass.
|
Package conformance holds the behavior cases both execution drivers must pass. |
|
flowstate/v1/metricschema
Package metricschema decides which attribute keys may reach a metric instrument, and bounds what their values may be.
|
Package metricschema decides which attribute keys may reach a metric instrument, and bounds what their values may be. |
|
flowstate/v1/nearest
Package nearest is the one did-you-mean rule: how far a typed name may be from a real one and still be offered as the thing that was probably meant.
|
Package nearest is the one did-you-mean rule: how far a typed name may be from a real one and still be offered as the thing that was probably meant. |
|
flowstate/v1/netpolicy
Package netpolicy governs the outbound network access a workflow task is allowed to make.
|
Package netpolicy governs the outbound network access a workflow task is allowed to make. |
|
flowstate/v1/payloadcodec
Package payloadcodec is the one seam where a run's payloads are encrypted before they are durable, and the one place both drivers are configured with the same answer.
|
Package payloadcodec is the one seam where a run's payloads are encrypted before they are durable, and the one place both drivers are configured with the same answer. |
|
flowstate/v1/payloadcodec/toycodec
Package toycodec is a payload codec for tests, and for nothing else.
|
Package toycodec is a payload codec for tests, and for nothing else. |
|
flowstate/v1/plugin
Package plugin runs Flowstate plugins: separate processes that extend the engine, discovered on a configured path, launched and supervised by this package, and spoken to over Connect RPC on a Unix domain socket.
|
Package plugin runs Flowstate plugins: separate processes that extend the engine, discovered on a configured path, launched and supervised by this package, and spoken to over Connect RPC on a Unix domain socket. |
|
flowstate/v1/plugin/examples/flowstate-plugin-example
command
Command flowstate-plugin-example is a Flowstate plugin that both resolves secrets and provides a task.
|
Command flowstate-plugin-example is a Flowstate plugin that both resolves secrets and provides a task. |
|
flowstate/v1/plugin/internal/protocol
Package protocol is the wire contract between the plugin host and a plugin process: the environment a plugin is launched with, the single line it prints to announce itself, and the header it authenticates the host by.
|
Package protocol is the wire contract between the plugin host and a plugin process: the environment a plugin is launched with, the single line it prints to announce itself, and the header it authenticates the host by. |
|
flowstate/v1/plugin/sdk
Package sdk turns a manifest and a few functions into a Flowstate plugin.
|
Package sdk turns a manifest and a few functions into a Flowstate plugin. |
|
flowstate/v1/protodoc
Package protodoc reads the prose the schema already carries.
|
Package protodoc reads the prose the schema already carries. |
|
flowstate/v1/secrets
Package secrets resolves secret references to secret values, worker-side and as late as possible.
|
Package secrets resolves secret references to secret values, worker-side and as late as possible. |
|
flowstate/v1/secrets/secretstest
Package secretstest is the conformance kit a secrets.Provider author runs against their own implementation.
|
Package secretstest is the conformance kit a secrets.Provider author runs against their own implementation. |
|
flowstate/v1/secrets/vault
Package vault resolves secret references against a HashiCorp Vault or OpenBao KV version 2 secrets engine.
|
Package vault resolves secret references against a HashiCorp Vault or OpenBao KV version 2 secrets engine. |
|
flowstate/v1/server
Package server is the control plane: FlowstateServer implements the flowstate.v1 WorkflowService over Connect RPC, turning each request to submit, observe, signal, cancel, or schedule a run into Temporal operations on the workloads the engine executes.
|
Package server is the control plane: FlowstateServer implements the flowstate.v1 WorkflowService over Connect RPC, turning each request to submit, observe, signal, cancel, or schedule a run into Temporal operations on the workloads the engine executes. |
|
flowstate/v1/temporalclient
Package temporalclient connects Flowstate to Temporal, whether that is a development server on a laptop, a self-hosted cluster, or Temporal Cloud.
|
Package temporalclient connects Flowstate to Temporal, whether that is a development server on a laptop, a self-hosted cluster, or Temporal Cloud. |
|
tools
|
|
|
gate
command
Command gate is the diff-scoped local tier of flowstate's verification gate (#482).
|
Command gate is the diff-scoped local tier of flowstate's verification gate (#482). |
|
hooks/genguard
command
Command genguard is a Claude Code PreToolUse hook on Edit and Write (#482): it refuses edits to generated files, naming the source to edit and the command that regenerates.
|
Command genguard is a Claude Code PreToolUse hook on Edit and Write (#482): it refuses edits to generated files, naming the source to edit and the command that regenerates. |
|
hooks/gofmtcheck
command
Command gofmtcheck is a Claude Code PostToolUse hook on Edit and Write (#482): when the edited file is a .go file that is not gofmt formatted, it returns non-blocking feedback naming the file, so formatting is fixed at edit time instead of surfacing at the gate.
|
Command gofmtcheck is a Claude Code PostToolUse hook on Edit and Write (#482): when the edited file is a .go file that is not gofmt formatted, it returns non-blocking feedback naming the file, so formatting is fixed at edit time instead of surfacing at the gate. |
|
hooks/internal/hook
Package hook reads and writes the Claude Code hook contract for the guards under tools/hooks (#482, #498).
|
Package hook reads and writes the Claude Code hook contract for the guards under tools/hooks (#482, #498). |
|
hooks/mergeguard
command
Command mergeguard is a Claude Code PreToolUse hook on the merge path (#498): before a merge proceeds, it queries the target pull request's review threads and denies the merge when any is unresolved, naming the threads so the operator knows what to clear.
|
Command mergeguard is a Claude Code PreToolUse hook on the merge path (#498): before a merge proceeds, it queries the target pull request's review threads and denies the merge when any is unresolved, naming the threads so the operator knows what to clear. |
|
hooks/pidguard
command
Command pidguard is a Claude Code PreToolUse hook on Bash (#482): it refuses commands that would kill processes by pattern, naming CLAUDE.md's PID discipline.
|
Command pidguard is a Claude Code PreToolUse hook on Bash (#482): it refuses commands that would kill processes by pattern, naming CLAUDE.md's PID discipline. |
|
modernize
command
Command modernize reports what Go's `go fix` modernizers would change in this repository, and changes nothing.
|
Command modernize reports what Go's `go fix` modernizers would change in this repository, and changes nothing. |
Click to show internal directories.
Click to hide internal directories.