@vibe-validate/config
Version:
Configuration system for vibe-validate with TypeScript-first design and config templates
225 lines • 6.36 kB
JSON
{
"$ref": "#/definitions/VibeValidateConfig",
"definitions": {
"VibeValidateConfig": {
"type": "object",
"properties": {
"validation": {
"type": "object",
"properties": {
"phases": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"parallel": {
"type": "boolean",
"default": false
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"command": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"timeout": {
"type": "number",
"exclusiveMinimum": 0
},
"continueOnError": {
"type": "boolean"
},
"env": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"cwd": {
"type": "string"
}
},
"required": [
"name",
"command"
],
"additionalProperties": false
},
"minItems": 1
},
"timeout": {
"type": "number",
"exclusiveMinimum": 0,
"default": 300000
},
"failFast": {
"type": "boolean",
"default": true
}
},
"required": [
"name",
"steps"
],
"additionalProperties": false
},
"minItems": 1
},
"failFast": {
"type": "boolean",
"default": true
}
},
"required": [
"phases"
],
"additionalProperties": false
},
"git": {
"type": "object",
"properties": {
"mainBranch": {
"type": "string",
"default": "main"
},
"remoteOrigin": {
"type": "string",
"default": "origin"
},
"autoSync": {
"type": "boolean",
"default": false
},
"warnIfBehind": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false,
"default": {
"mainBranch": "main",
"remoteOrigin": "origin",
"autoSync": false,
"warnIfBehind": true
}
},
"ci": {
"type": "object",
"properties": {
"nodeVersions": {
"type": "array",
"items": {
"type": "string"
}
},
"os": {
"type": "array",
"items": {
"type": "string"
}
},
"failFast": {
"type": "boolean"
},
"coverage": {
"type": "boolean"
}
},
"additionalProperties": false
},
"hooks": {
"type": "object",
"properties": {
"preCommit": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": true
},
"command": {
"type": "string",
"default": "npx vibe-validate pre-commit"
},
"secretScanning": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": true
},
"scanCommand": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"default": {
"enabled": true,
"command": "npx vibe-validate pre-commit"
}
}
},
"additionalProperties": false,
"default": {
"preCommit": {
"enabled": true,
"command": "npx vibe-validate pre-commit"
}
}
},
"locking": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": true
},
"concurrencyScope": {
"type": "string",
"enum": [
"directory",
"project"
],
"default": "directory"
},
"projectId": {
"type": "string"
}
},
"additionalProperties": false,
"default": {
"enabled": true,
"concurrencyScope": "directory"
}
},
"developerFeedback": {
"type": "boolean",
"default": false
}
},
"required": [
"validation"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}