Reference for the graph.manifest.json file that describes your graph.
Overview
The graph.manifest.json file describes your graph:
- Identity - Graph name and company
- Metadata - Title, description, discovery
- Versions - Which versions are available
- Visibility - Who can see and use the graph
This file is used during flutch graph deploy to register your graph.
The manifest describes the graph itself, not agent configurations.
Basic Structure
{ "companySlug": "acme-corp", "name": "support-workflow", "title": "Support Workflow", "description": "Customer support workflow with docs search", "versioning": { "strategy": "semver", "defaultVersion": "1.0.0", "supportedVersions": ["1.0.0"] }, "versions": { "1.0.0": { "status": "stable", "visibility": "public" } } }
Required Fields
companySlug
Your company identifier on Flutch.
"companySlug": "acme-corp"
Rules:
- Lowercase letters, hyphens only
- Must match your Flutch account
- Assigned during onboarding
Forms graph type: acme-corp.support::1.0.0
name
Unique graph identifier within your company.
"name": "support-workflow"
Rules:
- Lowercase letters, numbers, hyphens
- Unique within company
- Stable (rarely change)
Forms graph type: acme-corp.support-workflow::1.0.0
title
Human-readable name for console UI.
"title": "Support Workflow"
Keep under 50 characters.
description
Short description of what the graph does.
"description": "Customer support workflow with knowledge base search"
1-3 sentences, under 200 characters.
Optional Fields
icon
Emoji or URL for graph avatar.
"icon": "🤖"
Versioning
Configuration
{ "versioning": { "strategy": "semver", "defaultVersion": "1.0.0", "supportedVersions": ["1.0.0", "1.1.0"] } }
strategy: Always "semver"
defaultVersion: Version used when not specified by agent
supportedVersions: List of active versions
Example: Multiple Versions
{ "versioning": { "defaultVersion": "2.0.0", "supportedVersions": ["1.5.0", "2.0.0", "2.1.0-beta"] }, "versions": { "1.5.0": { "status": "deprecated", "visibility": "public", "changelog": "Migrate to 2.0.0 by June 1st" }, "2.0.0": { "status": "stable", "visibility": "public", "changelog": "Complete redesign, 40% faster" }, "2.1.0-beta": { "status": "beta", "visibility": "private", "changelog": "Testing new features" } } }
Version Metadata
Each version needs metadata in versions object:
"versions": { "1.0.0": { "status": "stable", "visibility": "public", "changelog": "Initial release" } }
status
Values: "stable", "beta", "deprecated"
stable- Production readybeta- Testing, may changedeprecated- Scheduled for removal
visibility
Values: "private", "corporate", "public"
private- Visible only to creator (for testing)corporate- Visible to all company adminspublic- Visible to all Flutch users
changelog (optional)
What changed in this version:
"changelog": "Added French support, improved response time by 20%"
Complete Examples
Simple Single Version
{ "companySlug": "acme", "name": "support-workflow", "title": "Support Workflow", "description": "Customer support with docs search", "versioning": { "strategy": "semver", "defaultVersion": "1.0.0", "supportedVersions": ["1.0.0"] }, "versions": { "1.0.0": { "status": "stable", "visibility": "public" } } }
Multiple Versions
{ "companySlug": "techcorp", "name": "support-workflow", "title": "Support Workflow", "description": "Customer support with knowledge base", "icon": "🎧", "versioning": { "strategy": "semver", "defaultVersion": "2.0.0", "supportedVersions": ["1.5.0", "2.0.0", "2.1.0-beta"] }, "versions": { "1.5.0": { "status": "deprecated", "visibility": "public", "changelog": "Legacy version. Migrate to 2.0.0 by May 1st" }, "2.0.0": { "status": "stable", "visibility": "public", "changelog": "Complete redesign, 40% faster, multilingual" }, "2.1.0-beta": { "status": "beta", "visibility": "private", "changelog": "Testing new knowledge base integration" } } }
Validation
Validate before deploying:
flutch graph validate
Common Errors
Missing required fields:
Error: Missing required field 'companySlug'
Fix: Add all required fields
Invalid version format:
Error: Version '1.0' does not follow semver
Fix: Use MAJOR.MINOR.PATCH: 1.0.0
Version mismatch:
Error: defaultVersion '1.1.0' not in supportedVersions
Fix: Ensure defaultVersion is in supportedVersions
Missing metadata:
Error: Version '1.0.0' missing from versions object
Fix: Add entry in versions for each supportedVersions