UNPKG

@vibe-validate/config

Version:

Configuration system for vibe-validate with TypeScript-first design and config templates

225 lines 6.36 kB
{ "$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#" }