-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvibeguard-project.schema.json
More file actions
91 lines (91 loc) · 2.99 KB
/
vibeguard-project.schema.json
File metadata and controls
91 lines (91 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "VibeGuard Project Configuration",
"description": "Project-level .vibeguard.json configuration — overrides global defaults for this repository",
"type": "object",
"properties": {
"profile": {
"type": "string",
"enum": ["minimal", "core", "full", "strict"],
"default": "core",
"description": "Runtime enforcement profile. minimal=pre-hooks only, core=standard runtime hooks, full=core plus stop/build hooks, strict=same hook set as full with stricter policy"
},
"enforcement": {
"type": "string",
"enum": ["block", "warn", "off"],
"default": "block",
"description": "Enforcement level. block=hard stop, warn=downgrade to warnings, off=skip all hooks"
},
"languages": {
"type": "array",
"items": {
"type": "string",
"enum": ["rust", "python", "go", "typescript", "javascript"]
},
"description": "Languages active in this project. Affects which guard scripts and rules are applied"
},
"disabled_hooks": {
"type": "array",
"items": {
"type": "string",
"enum": [
"analysis-paralysis-guard",
"learn-evaluator",
"post-build-check",
"post-edit-guard",
"post-write-guard",
"pre-bash-guard",
"pre-commit-guard",
"pre-edit-guard",
"pre-write-guard",
"skills-loader",
"stop-guard"
]
},
"default": [],
"description": "Hook names to disable (without .sh extension). e.g. [\"post-edit-guard\", \"analysis-paralysis-guard\"]"
},
"disabled_rules": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(SEC|RS|GO|TS|PY|U|W|TASTE)-[A-Za-z0-9-]+$"
},
"default": [],
"description": "Rule IDs to suppress. Canonical ids come from rules/claude-rules/. e.g. [\"U-02\", \"W-13\"]"
},
"disabled_guards": {
"type": "array",
"items": {
"type": "string",
"enum": [
"check_any_abuse",
"check_circular_deps",
"check_code_slop",
"check_component_duplication",
"check_console_residual",
"check_dead_shims",
"check_declaration_execution_gap",
"check_defer_in_loop",
"check_dependency_layers",
"check_duplicate_constants",
"check_duplicate_types",
"check_duplicates",
"check_error_handling",
"check_goroutine_leak",
"check_naming_convention",
"check_nested_locks",
"check_semantic_effect",
"check_single_source_of_truth",
"check_taste_invariants",
"check_test_integrity",
"check_unwrap_in_prod",
"check_workspace_consistency"
]
},
"default": [],
"description": "Guard script names to skip. e.g. [\"check_unwrap_in_prod\", \"check_any_abuse\"]"
}
},
"additionalProperties": false
}