Skip to content

Instantly share code, notes, and snippets.

@manucorporat
Created July 9, 2025 16:48
Show Gist options
  • Save manucorporat/3a41655ddef4448f427b64ad29f6240f to your computer and use it in GitHub Desktop.
Save manucorporat/3a41655ddef4448f427b64ad29f6240f to your computer and use it in GitHub Desktop.
{
"$schema": "https://json-schema.org/draft-07/schema#",
"$id": "https://builder.io/schemas/fusion-config.schema.json",
"title": "FusionConfig",
"description": "Configuration schema for Fusion projects",
"type": "object",
"properties": {
"devCommand": {
"type": "string",
"description": "Command to run the development server"
},
"checkCommand": {
"type": "string",
"description": "Command to check the project status"
},
"setupCommand": {
"type": "string",
"description": "Command to set up the project"
},
"projectId": {
"type": "string",
"description": "Unique identifier for the project"
},
"branchName": {
"type": "string",
"description": "Git branch name for the project"
},
"workingDirectory": {
"type": "string",
"description": "Working directory for the project"
},
"bashWorkingDirectory": {
"type": "string",
"description": "Working directory for bash commands"
},
"workspace": {
"$ref": "#/definitions/WorkspaceConfiguration"
},
"authenticateProxy": {
"type": "boolean",
"description": "Whether to authenticate the proxy server"
},
"allowedCommands": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed commands that can be executed"
},
"autoBackupGit": {
"type": "boolean",
"description": "Whether to automatically backup to Git"
},
"commitMode": {
"$ref": "#/definitions/CommitMode"
},
"serverUrl": {
"type": "string",
"description": "URL of the server"
},
"isLocal": {
"type": "boolean",
"description": "Whether this is a local development environment"
},
"envVariables": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Environment variables as key-value pairs"
},
"accessControl": {
"$ref": "#/definitions/AclPolicy"
},
"command": {
"type": "string",
"description": "Deprecated: use devCommand instead",
"deprecated": true
}
},
"additionalProperties": false,
"definitions": {
"WorkspaceConfiguration": {
"type": "object",
"properties": {
"agentsMD": {
"type": "string",
"description": "Markdown content for agents configuration"
},
"folders": {
"type": "array",
"items": {
"$ref": "#/definitions/WorkspaceFolder"
},
"description": "List of workspace folders"
}
},
"required": ["folders"],
"additionalProperties": false
},
"WorkspaceFolder": {
"type": "object",
"properties": {
"enableGit": {
"type": "boolean",
"description": "Whether Git is enabled for this folder"
},
"path": {
"type": "string",
"description": "Path to the folder"
},
"name": {
"type": "string",
"description": "Name of the folder"
},
"repoUrl": {
"type": "string",
"description": "Git repository URL"
},
"repoName": {
"type": "string",
"description": "Name of the Git repository"
},
"branchName": {
"type": "string",
"description": "Git branch name for this folder"
}
},
"required": ["path"],
"additionalProperties": false
},
"CommitMode": {
"type": "string",
"enum": ["commits", "draft-prs", "prs"],
"description": "Mode for Git commits and pull requests"
},
"AclPolicy": {
"type": "object",
"properties": {
"secrets": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of secret values to protect"
},
"entries": {
"type": "array",
"items": {
"$ref": "#/definitions/AclEntry"
},
"description": "List of access control entries"
}
},
"additionalProperties": false
},
"AclEntry": {
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": ["allow", "deny"],
"description": "Whether this rule allows or denies access"
},
"resource": {
"type": "string",
"description": "Resource path - supports glob patterns like /files/*.txt"
},
"permissions": {
"type": "array",
"items": {
"$ref": "#/definitions/Permission"
},
"description": "Permissions this rule applies to"
},
"description": {
"type": "string",
"description": "Custom message - in deny case, this is the error message"
},
"principals": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of teams/roles this rule applies to (e.g., ['developer', 'admin'])"
}
},
"required": ["action", "resource", "permissions"],
"additionalProperties": false
},
"Permission": {
"type": "string",
"enum": ["read", "write", "list"],
"description": "Type of permission"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment