Skip to content

Instantly share code, notes, and snippets.

@howmanysmall
Created September 17, 2025 05:30
Show Gist options
  • Save howmanysmall/700ff46e3f665bf29ecba42d4455a71a to your computer and use it in GitHub Desktop.
Save howmanysmall/700ff46e3f665bf29ecba42d4455a71a to your computer and use it in GitHub Desktop.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Asphalt Configuration",
"description": "Configuration schema for asphalt.toml based on actual Rust source code",
"type": "object",
"required": ["creator", "inputs"],
"properties": {
"creator": {
"type": "object",
"required": ["type", "id"],
"properties": {
"type": {
"type": "string",
"enum": ["user", "group"],
"description": "Creator type: user or group"
},
"id": {
"type": "integer",
"minimum": 1,
"description": "Roblox user or group ID"
}
},
"additionalProperties": false
},
"codegen": {
"type": "object",
"description": "Code generation options (entire section is optional)",
"properties": {
"style": {
"type": "string",
"enum": ["flat", "nested"],
"default": "flat",
"description": "Code generation style"
},
"typescript": {
"type": "boolean",
"default": false,
"description": "Generate TypeScript definitions"
},
"strip_extensions": {
"type": "boolean",
"default": false,
"description": "Remove file extensions from generated code"
},
"content": {
"type": "boolean",
"default": false,
"description": "Output Content type instead of strings"
}
},
"additionalProperties": false
},
"inputs": {
"type": "object",
"description": "Map of input configurations",
"minProperties": 1,
"patternProperties": {
"^[a-zA-Z][a-zA-Z0-9_]*$": {
"type": "object",
"required": ["path", "output_path"],
"properties": {
"path": {
"type": "string",
"description": "Glob pattern to match files"
},
"output_path": {
"type": "string",
"description": "Directory path for generated code"
},
"bleed": {
"type": "boolean",
"default": true,
"description": "Whether to alpha bleed images"
},
"warn_each_duplicate": {
"type": "boolean",
"default": true,
"description": "Warn about duplicate files"
},
"web": {
"type": "object",
"description": "Existing assets on Roblox",
"patternProperties": {
".*": {
"type": "object",
"required": ["id"],
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Roblox asset ID"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment