m5c CLI

m5c is the Mach5 developer CLI for building AI-native data applications as source-controlled packages. Use it to define semantic data interfaces, map raw sources into those interfaces, author detection content, validate fixtures, lower packages into deployable bundles, and apply or export resources from a Mach5 namespace.

What m5c manages

m5c works with these package concepts:

ConceptPurpose
Workspaces and packagesOrganize source, shared contracts, modules, tests, and app resources.
Data contractsDefine stable app-facing schemas, grain, keys, time semantics, quality, lineage, and sensitivity.
Data modulesDescribe providers and source modules that can satisfy one or more contracts.
Contract mappingsConvert raw source fields into contract-shaped records and test the conversion.
Detection familiesDefine reusable detector shapes and lowering templates.
DetectionsAuthor detection rules with requirements, matchers, output, ATT&CK labels, lifecycle, and promotion metadata.
Detection importsImport foreign rule formats, including Sigma, into Mach5 Detection IR previews.
App bundlesValidate, install, upgrade, list, inspect, export, and delete declarative app bundles.
MCP serverExpose local package authoring tools to MCP-compatible agents.
Smoke testsRun runtime smoke scenarios against lowered bundles.
Command referenceQuick reference for the m5c command set.

Development loop

A typical local loop is:

m5c validate apps/security-analytics --workspace --offline
m5c test apps/security-analytics --workspace
m5c build apps/security-analytics --out dist
m5c lower apps/security-analytics --dev --out lowered
m5c bundle validate lowered/security-detections --namespace dev
m5c bundle apply lowered/security-detections --namespace dev --dry-run

Use validate and test before lowering. Use bundle validate and --dry-run before applying to a live namespace.

Local source, deployable output

Package source is the authoring source of truth. Lowered output is deployable output.

  • Keep contracts, modules, mappings, detections, imports, resources, and fixtures in source control.
  • Treat generated bundles and reports as build artifacts unless your team explicitly promotes them.
  • Use app bundles as the deployment unit for Mach5 resources.

Remote command configuration

Remote commands such as apply, bundle, export, and managed smoke use Mach5 connection settings.

m5c --endpoint https://mach5.example.com --token "$MACH5_TOKEN" bundle list --namespace prod

You can also use:

  • --config or MACH5_CONFIG for a config file path.
  • --endpoint or MACH5_ENDPOINT for the Mach5 API endpoint.
  • --token or MACH5_TOKEN for the authorization token payload.

Analytics Cookies

Help us understand website usage.

Necessary storage remembers your choice. With your consent, Mach5 also uses PostHog analytics to measure website traffic and interactions.

Change this anytime from Cookie Settings in the footer. Privacy Notice.