-
Notifications
You must be signed in to change notification settings - Fork 3
Configuration.zh
VCP 通过项目根目录中的 .vcp/config.json 文件进行配置。该文件由 /vcp-init 创建,供所有 VCP skill 和 hook 读取。
使用 /vcp-config 可通过自然语言命令查看和修改配置(例如 /vcp-config ignore core-architecture、/vcp-config enable database scope)。支持的完整命令列表请参阅 Skills Reference.zh。
VCP 支持在 ~/.vcp/config.json 中设置全局配置,提供机器级常量和默认值。该文件在首次运行 /vcp-init 时创建。
~/.vcp/config.json
https://raw.githubusercontent.com/Z-M-Huang/vcp/main/schemas/vcp-global.schema.json
VCP 标准清单的 URL,指向根 manifest.json 文件。
"standards_url": "https://raw.githubusercontent.com/Z-M-Huang/vcp/main/standards/manifest.json"VCP 插件安装目录的绝对路径。
"pluginRoot": "/home/user/.claude/plugins/vcp"启用诊断日志,输出到项目根目录的 .vcp/vcp.log 文件。设为 true 时,所有 hook 会写入带时间戳的日志条目,记录检查内容和决策结果。设为 false(默认值)时不生成日志文件。
"debug": false使用 /vcp-config global set debug true 启用,或直接编辑 ~/.vcp/config.json。
机器级默认值。运行时只应用 severity 和 ignore —— 项目未指定 severity 时使用全局默认值,ignore 条目与项目列表合并(取并集)。scopes 和 compliance 默认值仅在 /vcp-init 创建新项目配置时作为起始点使用,运行时不会应用,因为两者在 .vcp/config.json 中都是必填字段。
"defaults": {
"severity": "medium",
"scopes": {
"web-frontend": false,
"web-backend": false,
"database": false
},
"compliance": [],
"ignore": []
}{
"$schema": "https://raw.githubusercontent.com/Z-M-Huang/vcp/main/schemas/vcp-global.schema.json",
"standards_url": "https://raw.githubusercontent.com/Z-M-Huang/vcp/main/standards/manifest.json",
"pluginRoot": "/home/user/.claude/plugins/vcp",
"debug": false,
"defaults": {
"severity": "high",
"scopes": {
"web-frontend": true,
"web-backend": true,
"database": false,
"mobile": false,
"desktop": false,
"cli": false,
"devops": false
},
"compliance": ["gdpr"],
"ignore": ["CWE-117"]
}
}VCP 从两个来源解析配置:全局配置(~/.vcp/config.json)提供机器级常量和默认值,项目配置(.vcp/config.json)提供项目级覆盖。
| 字段 (Field) | 解析顺序 (Resolution Order) | 说明 (Notes) |
|---|---|---|
standards_url |
项目 → 全局 → 不可用 | 项目配置可覆盖全局标准 URL |
pluginRoot |
项目 → 全局 → 不可用 | 项目配置优先(由 /vcp-init 设置) |
severity |
项目 → 全局默认值 → "medium"
|
两处均未指定时回退到硬编码的 "medium"
|
scopes |
项目完全覆盖 | 不合并 —— 项目配置完全替换全局默认值 |
compliance |
项目完全覆盖 | 不合并 —— 项目配置完全替换全局默认值 |
ignore |
全局默认值 + 项目取并集 | 唯一会合并的字段 —— 合并两个列表 |
重要: ignore 是唯一会合并的字段。如果全局配置有 ["CWE-117"],项目配置有 ["core-architecture"],最终的忽略列表为 ["CWE-117", "core-architecture"]。
配置遵循以下 JSON schema:
https://raw.githubusercontent.com/Z-M-Huang/vcp/main/schemas/vcp.schema.json
固定为 "1.0"。
"version": "1.0"VCP 标准清单的 URL。指定后会覆盖全局配置中的 standards_url。
"standards_url": "https://raw.githubusercontent.com/your-fork/vcp/custom-branch/standards/manifest.json"通常不需要设置。 大多数项目应使用全局配置中的 standards_url,而非按项目单独设置。仅在需要将特定项目固定到自定义标准分支或 fork 时才覆盖此字段。
声明项目适用的 VCP 作用域的对象。每个作用域启用核心标准之外的额外标准。
"scopes": {
"web-frontend": true,
"web-backend": true,
"database": false
}| 作用域 (Scope) | 启用的标准 (Standards Enabled) | 适用场景 (When to Use) |
|---|---|---|
web-frontend |
前端安全、结构、性能、无障碍访问 | 项目包含客户端 Web 代码(React、Vue、Svelte 等) |
web-backend |
后端安全、结构、数据访问、API 设计、实时通信、缓存 | 项目包含服务端 Web 代码(Express、Django、FastAPI 等) |
database |
数据库加密、schema 安全 | 项目直接与数据库交互 |
mobile |
移动安全、平台配置 | 项目面向移动平台(React Native、Flutter、Swift、Kotlin) |
desktop |
桌面应用安全 | 项目构建桌面应用(Electron、Tauri) |
cli |
CLI 安全与质量 | 项目是命令行工具 |
devops |
容器、CI/CD、IaC、Kubernetes 安全 | 项目包含基础设施/部署配置 |
核心标准(安全、架构、质量、错误处理、测试、依赖管理、根因分析)始终启用,不受作用域设置影响。
项目适用的合规框架数组。如不适用任何框架则留空。
"compliance": ["gdpr", "pci-dss"]| 值 (Value) | 启用的标准 (Standard Enabled) |
|---|---|
"gdpr" |
GDPR 与 CCPA/CPRA —— 数据删除、留存、同意、PII 处理 |
"pci-dss" |
PCI DSS v4.0 —— 令牌化、卡号脱敏、CDE 隔离 |
"hipaa" |
HIPAA —— PHI 加密、审计日志、留存、最小必要原则 |
"accessibility" |
无障碍合规 —— ADA、Section 508/504、EAA、PSBAR、AODA、ACA、EN 301 549、WCAG 合规映射 |
项目中检测到的框架名称数组。/vcp-dependency-check 据此确定要检查的包生态系统。
"frameworks": ["react", "express", "postgresql"]扫描时跳过的路径 glob 模式数组。无论此设置如何,node_modules/** 和 .git/** 始终被排除。
"exclude": [
"node_modules/**",
"dist/**",
"build/**",
"coverage/**",
"*.min.js"
]报告结果的最低严重性阈值。仅包含达到或超过此级别的发现。
"severity": "medium"| 值 (Value) | 报告内容 (Reports) |
|---|---|
"critical" |
仅严重 |
"high" |
严重 + 高 |
"medium"(默认) |
严重 + 高 + 中 |
"low" |
所有发现 |
要抑制的条目数组。支持三种格式:
"ignore": [
"core-architecture",
"core-security/rule-3",
"CWE-798"
]| 格式 (Format) | 示例 (Example) | 效果 (Effect) |
|---|---|---|
| 标准 ID | "core-architecture" |
抑制整个标准 —— 该标准的所有规则都不检查 |
| 规则引用 | "core-security/rule-3" |
抑制特定标准中的单条规则 |
| CWE 模式 | "CWE-798" |
禁用安全门禁中对应 CWE 的实时拦截模式 |
重要: 当安全相关标准或合规标准被抑制时,skill 会显示警告:
警告:关键安全发现被 ignore 配置抑制。请审查 .vcp/config.json 中的 ignore 列表。
大多数项目应以空的 ignore 列表开始。仅在有明确且合理的理由时才添加条目。
VCP 插件安装目录的绝对路径。由 /vcp-init 自动设置 —— 不应手动编辑。
"pluginRoot": "/home/user/.claude/plugins/vcp"此路径在使用前由所有 skill 验证:
- 必须是绝对路径
- 必须包含
/.claude/(Windows 上为\.claude\) - 不得包含 shell 元字符
- 必须包含标记文件
lib/vcp-context-core.ts
{
"$schema": "https://raw.githubusercontent.com/Z-M-Huang/vcp/main/schemas/vcp.schema.json",
"version": "1.0",
"scopes": {
"web-frontend": true,
"web-backend": true,
"database": true
},
"compliance": ["gdpr", "pci-dss"],
"frameworks": ["react", "express", "postgresql", "prisma"],
"exclude": [
"node_modules/**",
"dist/**",
"build/**",
"coverage/**",
"migrations/**"
],
"severity": "medium",
"ignore": [
"core-architecture/rule-5"
],
"pluginRoot": "/home/user/.claude/plugins/vcp"
}在处理之前,全局配置 defaults.ignore 和项目 .vcp/config.json 中 ignore 字段的条目会被合并(取并集),形成最终的忽略列表。
忽略条目在三个层级被处理:
-
标准级过滤(在
resolve-config.ts中)—— 匹配忽略条目的整个标准会在 skill 获取之前从适用标准列表中移除。这意味着该标准的规则根本不会被加载。 -
规则级过滤(在 skill 和
vcp-context-core.ts中)—— 类似"core-security/rule-3"的单条规则引用在规则提取后被过滤。标准仍会加载,但特定规则被抑制。 -
CWE 级过滤(在
security-gate.ts中)—— 类似"CWE-798"的 CWE 模式会禁用安全门禁 hook 中对应的实时拦截模式。
.vcp/config.json 应提交到仓库,以确保所有团队成员使用相同的配置。pluginRoot 字段因机器而异,但会在运行 /vcp-init 时解析。
VCP Wiki
Guides
- First-Time Setup Guide
- How Configuration Works
- Configuration Recipes
- Web Portal Guide
- Daily VCP Workflow
- Troubleshooting
VCP Plugin
- Configuration
- Skills Reference
- Three‐Layer Enforcement Model
- Hooks Reference
- Security Gate Patterns
- Shared Modules
Dev Buddy Plugin
- Dev Buddy Quick Start
- Dev Buddy Configuration
- Stage Skills Guide
- AI Provider Presets
- System Prompts Reference
- Chatroom
MCP Doc Plugin
Standards
Project
VCP Wiki (中文)
指南
VCP 插件
Dev Buddy 插件
MCP Doc 插件
标准
项目