feat: add comprehensive CI/CD pipeline

Adds GitHub Actions workflows for CI, maintenance, and releases with multi-platform testing matrix.
This commit is contained in:
Roei Bar Aviv
2026-01-29 08:05:43 +01:00
committed by GitHub
parent 58a97c8a84
commit 7c0bc25982
21 changed files with 3679 additions and 0 deletions

81
schemas/hooks.schema.json Normal file
View File

@@ -0,0 +1,81 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Claude Code Hooks Configuration",
"description": "Configuration for Claude Code hooks. Event types are validated at runtime and must be one of: PreToolUse, PostToolUse, PreCompact, SessionStart, SessionEnd, Stop, Notification, SubagentStop",
"$defs": {
"hookItem": {
"type": "object",
"required": [
"type",
"command"
],
"properties": {
"type": {
"type": "string"
},
"command": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
}
},
"matcherEntry": {
"type": "object",
"required": [
"matcher",
"hooks"
],
"properties": {
"matcher": {
"type": "string"
},
"hooks": {
"type": "array",
"items": {
"$ref": "#/$defs/hookItem"
}
},
"description": {
"type": "string"
}
}
}
},
"oneOf": [
{
"type": "object",
"properties": {
"$schema": {
"type": "string"
},
"hooks": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/$defs/matcherEntry"
}
}
}
},
"required": [
"hooks"
]
},
{
"type": "array",
"items": {
"$ref": "#/$defs/matcherEntry"
}
}
]
}

View File

@@ -0,0 +1,17 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Package Manager Configuration",
"type": "object",
"properties": {
"packageManager": {
"type": "string",
"enum": [
"npm",
"pnpm",
"yarn",
"bun"
]
}
},
"additionalProperties": false
}

View File

@@ -0,0 +1,13 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Claude Plugin Configuration",
"type": "object",
"required": ["name"],
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"author": { "type": "string" },
"repository": { "type": "string" },
"license": { "type": "string" }
}
}