Setting the file. One moment. Triage Schema · Wp Project Triage · WordPress/agent-skills · Skills DocsRaw file
references/triage.schema.json
JSON·143 lines·4 KB
: {
9 "type": "object",
10 "required": ["name", "version"],
11 "properties": {
12 "name": { "type": "string", "const": "detect_wp_project" },
13 "version": { "type": "string" }
14 },
15 "additionalProperties": true
16 },
17 "project": {
18 "type": "object",
19 "required": ["kind"],
20 "properties": {
21 "kind": {
22 "type": "array",
23 "items": {
24 "type": "string",
25 "enum": [
26 "unknown",
27 "wp-plugin",
28 "wp-mu-plugin",
29 "wp-theme",
30 "wp-block-theme",
31 "wp-block-plugin",
32 "wp-site",
33 "wp-core",
34 "gutenberg"
35 ]
36 }
37 },
38 "primary": { "type": "string" },
39 "notes": { "type": "array", "items": { "type": "string" } }
40 },
41 "additionalProperties": true
42 },
43 "signals": {
44 "type": "object",
45 "required": ["paths"],
46 "properties": {
47 "paths": {
48 "type": "object",
49 "properties": {
50 "repoRoot": { "type": "string" },
51 "wpContent": { "type": "string" },
52 "pluginsDir": { "type": "string" },
53 "themesDir": { "type": "string" }
54 },
55 "additionalProperties": true
56 }
57 ,
58 "usesInteractivityApi": { "type": "boolean" },
59 "usesAbilitiesApi": { "type": "boolean" },
60 "usesInnerBlocks": { "type": "boolean" },
61 "usesWpCli": { "type": "boolean" },
62 "performanceHints": { "type": "object", "additionalProperties": true },
63 "interactivityHints": { "type": "object", "additionalProperties": true },
64 "abilitiesHints": { "type": "object", "additionalProperties": true },
65 "innerBlocksHints": { "type": "object", "additionalProperties": true },
66 "wpCliHints": { "type": "object", "additionalProperties": true }
67 },
68 "additionalProperties": true
69 },
70 "tooling": {
71 "type": "object",
72 "required": ["php", "node", "tests"],
73 "properties": {
74 "php": {
75 "type": "object",
76 "properties": {
77 "hasComposerJson": { "type": "boolean" },
78 "hasVendorDir": { "type": "boolean" },
79 "phpunitXml": { "type": "array", "items": { "type": "string" } }
80 },
81 "additionalProperties": true
82 },
83 "node": {
84 "type": "object",
85 "properties": {
86 "hasPackageJson": { "type": "boolean" },
87 "packageManager": { "type": ["string", "null"], "enum": ["npm", "yarn", "pnpm", "bun", null] },
88 "usesWordpressScripts": { "type": "boolean" }
89 },
90 "additionalProperties": true
91 },
92 "tests": {
93 "type": "object",
94 "properties": {
95 "hasPhpUnit": { "type": "boolean" },
96 "hasWpEnv": { "type": "boolean" },
97 "hasPlaywright": { "type": "boolean" },
98 "hasJest": { "type": "boolean" }
99 },
100 "additionalProperties": true
101 }
102 },
103 "additionalProperties": true
104 },
105 "versions": {
106 "type": "object",
107 "properties": {
108 "wordpress": {
109 "type": "object",
110 "properties": {
111 "core": {
112 "type": "object",
113 "properties": {
114 "value": { "type": ["string", "null"] },
115 "source": { "type": ["string", "null"] }
116 },
117 "additionalProperties": true
118 }
119 },
120 "additionalProperties": true
121 },
122 "gutenberg": {
123 "type": "object",
124 "properties": {
125 "value": { "type": ["string", "null"] },
126 "source": { "type": ["string", "null"] }
127 },
128 "additionalProperties": true
129 }
130 },
131 "additionalProperties": true
132 },
133 "recommendations": {
134 "type": "object",
135 "properties": {
136 "commands": { "type": "array", "items": { "type": "string" } },
137 "notes": { "type": "array", "items": { "type": "string" } }
138 },
139 "additionalProperties": true
140 }
141 },
142 "additionalProperties": true
143}