diff --git a/app/examples/schema.json b/app/examples/schema.json new file mode 100644 index 0000000..02d2c0e --- /dev/null +++ b/app/examples/schema.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "app_name": { + "type": "string", + "description": "The name of the application" + }, + "version": { + "type": "string", + "description": "The application version" + }, + "debug": { + "type": "boolean", + "description": "Enable debug mode" + }, + "environment": { + "type": "string", + "enum": ["dev", "staging", "prod"], + "description": "The deployment environment" + }, + "database": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Database host" + }, + "port": { + "type": "integer", + "minimum": 1, + "maximum": 65535, + "description": "Database port" + }, + "password": { + "type": "string", + "description": "Database password (secret)" + } + }, + "required": ["host", "port"] + }, + "api": { + "type": "object", + "properties": { + "host": { + "type": "string" + }, + "port": { + "type": "integer", + "minimum": 1, + "maximum": 65535 + }, + "api_key": { + "type": "string", + "description": "API key (secret)" + }, + "timeout": { + "type": "integer", + "minimum": 0 + } + }, + "required": ["host", "port"] + }, + "features": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["app_name", "database"] +}