ai-developer-skill-os 10.1.0 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/AGENTS.md +13 -0
- package/.agents/LICENSE +21 -21
- package/.agents/docs/ARCHITECTURE.md +56 -120
- package/.agents/docs/GOVERNANCE.md +3 -3
- package/.agents/docs/SPEC.md +137 -60
- package/.agents/docs/VERSIONING.md +25 -57
- package/.agents/docs/adr/0005-v10-platform-consolidation.md +50 -0
- package/.agents/docs/schemas/learning.schema.yml +22 -57
- package/.agents/docs/schemas/skill.schema.yml +116 -161
- package/.agents/docs/schemas/workflow.schema.yml +51 -26
- package/.agents/docs/skill-classification.md +1 -1
- package/.agents/registry/graph.json +171 -77
- package/.agents/registry/index.yaml +68 -35
- package/.agents/rules/coding.md +1 -1
- package/.agents/rules/command-safety.md +1 -1
- package/.agents/rules/global.md +1 -1
- package/.agents/rules/prompt-compiler.md +1 -1
- package/.agents/rules/safety.md +1 -1
- package/.agents/rules/security.md +1 -1
- package/.agents/rules/skill-quality.md +18 -3
- package/.agents/skills/_template/SKILL.md +238 -88
- package/.agents/skills/qk-api-data-discovery/SKILL.md +176 -190
- package/.agents/skills/qk-api-data-discovery/references/bronze-record-format.md +47 -0
- package/.agents/skills/qk-api-data-discovery/references/data-contract-yaml.md +72 -0
- package/.agents/skills/qk-api-data-discovery/references/discovery-report-template.md +110 -0
- package/.agents/skills/qk-backend-data/SKILL.md +150 -1
- package/.agents/skills/qk-bug-resolution/SKILL.md +153 -1
- package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-code-cleaner/SKILL.md +150 -1
- package/.agents/skills/qk-code-review/SKILL.md +195 -1
- package/.agents/skills/qk-code-review/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-code-review/references/ai/{v8-schema-validation.md → schema-validation.md} +2 -2
- package/.agents/skills/qk-code-review/references/cross-cutting/async-concurrency-patterns.md +515 -515
- package/.agents/skills/qk-code-review/references/cross-cutting/error-handling-principles.md +492 -492
- package/.agents/skills/qk-code-review/references/cross-cutting/n-plus-one-queries.md +309 -309
- package/.agents/skills/qk-code-review/references/cross-cutting/sql-injection-prevention.md +307 -307
- package/.agents/skills/qk-code-review/references/cross-cutting/xss-prevention.md +263 -263
- package/.agents/skills/qk-code-review/references/languages/angular.md +768 -768
- package/.agents/skills/qk-code-review/references/languages/c.md +890 -890
- package/.agents/skills/qk-code-review/references/languages/cpp.md +893 -893
- package/.agents/skills/qk-code-review/references/languages/css-less-sass.md +661 -661
- package/.agents/skills/qk-code-review/references/languages/django.md +985 -985
- package/.agents/skills/qk-code-review/references/languages/fastapi.md +580 -580
- package/.agents/skills/qk-code-review/references/languages/go.md +993 -993
- package/.agents/skills/qk-code-review/references/languages/java.md +409 -409
- package/.agents/skills/qk-code-review/references/languages/java8.md +586 -586
- package/.agents/skills/qk-code-review/references/languages/kotlin.md +1018 -1018
- package/.agents/skills/qk-code-review/references/languages/nestjs.md +593 -593
- package/.agents/skills/qk-code-review/references/languages/php.md +684 -684
- package/.agents/skills/qk-code-review/references/languages/python.md +1073 -1073
- package/.agents/skills/qk-code-review/references/languages/qt.md +757 -757
- package/.agents/skills/qk-code-review/references/languages/react.md +871 -871
- package/.agents/skills/qk-code-review/references/languages/ruby.md +964 -964
- package/.agents/skills/qk-code-review/references/languages/rust.md +846 -846
- package/.agents/skills/qk-code-review/references/languages/svelte.md +1064 -1064
- package/.agents/skills/qk-code-review/references/languages/swift.md +936 -936
- package/.agents/skills/qk-code-review/references/languages/typescript.md +1016 -1016
- package/.agents/skills/qk-code-review/references/languages/vue.md +924 -924
- package/.agents/skills/qk-code-review/references/languages/zig.md +440 -440
- package/.agents/skills/qk-devops-release/SKILL.md +150 -1
- package/.agents/skills/qk-feature-delivery/SKILL.md +153 -1
- package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-orchestrator/SKILL.md +187 -2
- package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-orchestrator/references/routing-table.md +1 -1
- package/.agents/skills/qk-product-spec/SKILL.md +150 -1
- package/.agents/skills/qk-prompt-compiler/SKILL.md +188 -65
- package/.agents/skills/qk-ui-engineer/SKILL.md +150 -1
- package/.agents/workflows/_schema.yml +146 -146
- package/.agents/workflows/bug-resolution.yml +155 -121
- package/.agents/workflows/code-review.yml +127 -93
- package/.agents/workflows/context-discovery.yml +128 -94
- package/.agents/workflows/documentation.yml +124 -90
- package/.agents/workflows/feature-delivery.yml +158 -124
- package/.agents/workflows/production-release.yml +207 -173
- package/.agents/workflows/prompt-compilation.yml +126 -0
- package/.agents/workflows/refactor.yml +136 -102
- package/.agents/workflows/security-audit.yml +149 -115
- package/.agents/workflows/shared/quality-gate.yml +3 -1
- package/.agents/workflows/skin-governance.yml +149 -115
- package/.agents/workflows/spec-driven-development.yml +78 -71
- package/CHANGELOG.md +61 -0
- package/README.md +3 -3
- package/bin/install.js +38 -51
- package/package.json +68 -74
- package/tooling/build-registry.js +226 -208
- package/tooling/run-aar.js +55 -126
- package/tooling/sync-versions.js +2 -2
- package/tooling/validate-graph.js +100 -87
- package/tooling/validate-skills.js +32 -14
- package/.agents/docs/decisions/ADR-001-v8-migration.md +0 -58
- package/.agents/docs/decisions/ADR-002-workflow-separation.md +0 -50
- package/.agents/docs/decisions/ADR-003-registry-generated.md +0 -54
- package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +0 -27
- package/.agents/registry/capability-graph.yml +0 -390
- package/.agents/registry/skills-index.yml +0 -305
- package/.agents/skills/_template/capability.yaml +0 -34
- package/.agents/skills/_template/evals/scorecard.yaml +0 -19
package/bin/install.js
CHANGED
|
@@ -39,19 +39,12 @@ const IDE_CONFIG = {
|
|
|
39
39
|
postInstall: 'renameToClaude',
|
|
40
40
|
note: 'Global: ~/.claude/CLAUDE.md — applies to all Claude Code sessions',
|
|
41
41
|
},
|
|
42
|
-
|
|
43
|
-
label: '
|
|
44
|
-
localDir: path.join(cwd, '.
|
|
45
|
-
globalDir:
|
|
46
|
-
postInstall: '
|
|
47
|
-
note: '
|
|
48
|
-
},
|
|
49
|
-
codex: {
|
|
50
|
-
label: 'OpenAI Codex CLI',
|
|
51
|
-
localDir: path.join(cwd, '.codex'),
|
|
52
|
-
globalDir: path.join(homeDir, '.codex'),
|
|
53
|
-
postInstall: null,
|
|
54
|
-
note: 'Global: ~/.codex — applies to all Codex CLI sessions',
|
|
42
|
+
opencode: {
|
|
43
|
+
label: 'OpenCode (Open Source)',
|
|
44
|
+
localDir: path.join(cwd, '.opencode'),
|
|
45
|
+
globalDir: path.join(homeDir, '.config', 'opencode'),
|
|
46
|
+
postInstall: 'copyOpenCodeConfig',
|
|
47
|
+
note: 'Global: ~/.config/opencode — applies to all OpenCode sessions',
|
|
55
48
|
},
|
|
56
49
|
};
|
|
57
50
|
|
|
@@ -91,17 +84,11 @@ function writeVersionMarker(targetDir) {
|
|
|
91
84
|
);
|
|
92
85
|
}
|
|
93
86
|
|
|
94
|
-
/** Remove existing install
|
|
95
|
-
function removeExistingInstall(targetDir
|
|
96
|
-
if (
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
console.log(' 🗑️ Removed old Cursor rule: ai-skill-os.mdc');
|
|
100
|
-
} else {
|
|
101
|
-
if (fs.existsSync(targetDir)) {
|
|
102
|
-
fs.rmSync(targetDir, { recursive: true, force: true });
|
|
103
|
-
console.log(` 🗑️ Removed old install: ${targetDir}`);
|
|
104
|
-
}
|
|
87
|
+
/** Remove existing install from target directory. */
|
|
88
|
+
function removeExistingInstall(targetDir) {
|
|
89
|
+
if (fs.existsSync(targetDir)) {
|
|
90
|
+
fs.rmSync(targetDir, { recursive: true, force: true });
|
|
91
|
+
console.log(` 🗑️ Removed old install: ${targetDir}`);
|
|
105
92
|
}
|
|
106
93
|
}
|
|
107
94
|
|
|
@@ -177,33 +164,32 @@ function renameToClaude(targetDir) {
|
|
|
177
164
|
}
|
|
178
165
|
}
|
|
179
166
|
|
|
167
|
+
|
|
180
168
|
/**
|
|
181
|
-
*
|
|
182
|
-
*
|
|
169
|
+
* OpenCode install: create .opencode/config.yaml pointing to AGENTS.md.
|
|
170
|
+
* OpenCode reads .opencode/ directory for configuration.
|
|
183
171
|
*/
|
|
184
|
-
function
|
|
185
|
-
const agentsMd = path.join(
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
console.log(` ✅ Exported rules → ${outPath}`);
|
|
200
|
-
console.log(' ℹ️ For global rules: Cursor Settings > General > Rules for AI');
|
|
172
|
+
function copyOpenCodeConfig(targetDir) {
|
|
173
|
+
const agentsMd = path.join(targetDir, 'AGENTS.md');
|
|
174
|
+
const opencodeDir = path.join(targetDir, '.opencode');
|
|
175
|
+
const configPath = path.join(opencodeDir, 'config.yaml');
|
|
176
|
+
|
|
177
|
+
if (fs.existsSync(agentsMd)) {
|
|
178
|
+
fs.mkdirSync(opencodeDir, { recursive: true });
|
|
179
|
+
fs.writeFileSync(configPath, `# OpenCode Configuration
|
|
180
|
+
# Auto-generated by AI Developer Skill OS v${version}
|
|
181
|
+
rules:
|
|
182
|
+
- path: AGENTS.md
|
|
183
|
+
always: true
|
|
184
|
+
`, 'utf8');
|
|
185
|
+
console.log(' ✅ Created .opencode/config.yaml');
|
|
186
|
+
}
|
|
201
187
|
}
|
|
202
188
|
|
|
203
189
|
// ─── Main install logic ───────────────────────────────────────────────────────
|
|
204
190
|
|
|
205
191
|
async function runInstall(ideKey, scopeKey, rl) {
|
|
206
|
-
const ideMap = { '1': 'antigravity', '2': 'claude', '3': '
|
|
192
|
+
const ideMap = { '1': 'antigravity', '2': 'claude', '3': 'opencode' };
|
|
207
193
|
const scopeMap = { '1': 'local', '2': 'global' };
|
|
208
194
|
|
|
209
195
|
const ide = ideMap[ideKey] || ideKey;
|
|
@@ -211,7 +197,7 @@ async function runInstall(ideKey, scopeKey, rl) {
|
|
|
211
197
|
const config = IDE_CONFIG[ide];
|
|
212
198
|
|
|
213
199
|
if (!config) {
|
|
214
|
-
console.error(`❌ IDE không hợp lệ: "${ide}". Chọn: antigravity, claude,
|
|
200
|
+
console.error(`❌ IDE không hợp lệ: "${ide}". Chọn: antigravity, claude, opencode`);
|
|
215
201
|
process.exit(1);
|
|
216
202
|
}
|
|
217
203
|
|
|
@@ -256,7 +242,7 @@ async function runInstall(ideKey, scopeKey, rl) {
|
|
|
256
242
|
}
|
|
257
243
|
}
|
|
258
244
|
// Remove old install before fresh copy
|
|
259
|
-
removeExistingInstall(targetDir
|
|
245
|
+
removeExistingInstall(targetDir);
|
|
260
246
|
} else {
|
|
261
247
|
console.log(' (Chưa cài đặt — fresh install)\n');
|
|
262
248
|
}
|
|
@@ -268,8 +254,10 @@ async function runInstall(ideKey, scopeKey, rl) {
|
|
|
268
254
|
process.exit(1);
|
|
269
255
|
}
|
|
270
256
|
|
|
271
|
-
if (ide === '
|
|
272
|
-
|
|
257
|
+
if (ide === 'opencode') {
|
|
258
|
+
copyRecursiveSync(sourceDir, targetDir);
|
|
259
|
+
copyOpenCodeConfig(targetDir);
|
|
260
|
+
console.log(` ✅ Copied .agents/ → ${targetDir}`);
|
|
273
261
|
} else {
|
|
274
262
|
copyRecursiveSync(sourceDir, targetDir);
|
|
275
263
|
console.log(` ✅ Copied .agents/ → ${targetDir}`);
|
|
@@ -316,10 +304,9 @@ if (args.ide && args.scope) {
|
|
|
316
304
|
const ideQuestion = `Chọn IDE/AI Assistant:
|
|
317
305
|
(1) Antigravity (Google Gemini)
|
|
318
306
|
(2) Claude Code (Anthropic)
|
|
319
|
-
(3)
|
|
320
|
-
(4) OpenAI Codex CLI
|
|
307
|
+
(3) OpenCode (Open Source)
|
|
321
308
|
|
|
322
|
-
Nhập số (1-
|
|
309
|
+
Nhập số (1-3): `;
|
|
323
310
|
|
|
324
311
|
const scopeQuestion = `
|
|
325
312
|
Phạm vi cài đặt:
|
package/package.json
CHANGED
|
@@ -1,74 +1,68 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "ai-developer-skill-os",
|
|
3
|
-
"version": "10.
|
|
4
|
-
"description": "AI Developer Skill OS v10.
|
|
5
|
-
"main": "bin/install.js",
|
|
6
|
-
"files": [
|
|
7
|
-
"bin",
|
|
8
|
-
".agents",
|
|
9
|
-
"tooling",
|
|
10
|
-
"package.json",
|
|
11
|
-
"README.md",
|
|
12
|
-
"CHANGELOG.md"
|
|
13
|
-
],
|
|
14
|
-
"bin": {
|
|
15
|
-
"ai-developer-skill-os": "bin/install.js",
|
|
16
|
-
"ai-skill": "bin/install.js"
|
|
17
|
-
},
|
|
18
|
-
"type": "module",
|
|
19
|
-
"engines": {
|
|
20
|
-
"node": ">=18.0.0"
|
|
21
|
-
},
|
|
22
|
-
"scripts": {
|
|
23
|
-
"sync:
|
|
24
|
-
"build:registry": "node tooling/build-registry.js",
|
|
25
|
-
"test": "vitest run",
|
|
26
|
-
"test:watch": "vitest",
|
|
27
|
-
"test:registry": "vitest run && node tooling/build-registry.js",
|
|
28
|
-
"test:graph": "node tooling/validate-graph.js",
|
|
29
|
-
"lint": "node tooling/validate-skills.js",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"install:
|
|
35
|
-
"install:
|
|
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
|
-
"vitest": "^2.1.0",
|
|
70
|
-
"fast-glob": "^3.3.0",
|
|
71
|
-
"gray-matter": "^4.0.0",
|
|
72
|
-
"js-yaml": "^4.1.0"
|
|
73
|
-
}
|
|
74
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "ai-developer-skill-os",
|
|
3
|
+
"version": "10.2.0",
|
|
4
|
+
"description": "AI Developer Skill OS v10.2 — 11 Governed Core Super-Skills with API Data Discovery Engine, Prompt Compiler Control Plane & Antigravity Cockpit Integration.",
|
|
5
|
+
"main": "bin/install.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"bin",
|
|
8
|
+
".agents",
|
|
9
|
+
"tooling",
|
|
10
|
+
"package.json",
|
|
11
|
+
"README.md",
|
|
12
|
+
"CHANGELOG.md"
|
|
13
|
+
],
|
|
14
|
+
"bin": {
|
|
15
|
+
"ai-developer-skill-os": "bin/install.js",
|
|
16
|
+
"ai-skill": "bin/install.js"
|
|
17
|
+
},
|
|
18
|
+
"type": "module",
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=18.0.0"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"sync:v10": "node tooling/sync-versions.js",
|
|
24
|
+
"build:registry": "node tooling/build-registry.js",
|
|
25
|
+
"test": "vitest run",
|
|
26
|
+
"test:watch": "vitest",
|
|
27
|
+
"test:registry": "vitest run && node tooling/build-registry.js",
|
|
28
|
+
"test:graph": "node tooling/validate-graph.js",
|
|
29
|
+
"lint": "node tooling/validate-skills.js",
|
|
30
|
+
"install:antigravity": "node bin/install.js --ide=antigravity --scope=2",
|
|
31
|
+
"install:antigravity:local": "node bin/install.js --ide=antigravity --scope=1",
|
|
32
|
+
"install:claude": "node bin/install.js --ide=claude --scope=2",
|
|
33
|
+
"install:claude:local": "node bin/install.js --ide=claude --scope=1",
|
|
34
|
+
"install:opencode": "node bin/install.js --ide=opencode --scope=2",
|
|
35
|
+
"install:opencode:local": "node bin/install.js --ide=opencode --scope=1"
|
|
36
|
+
},
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/phamquangkhanh2999/ai-developer-skill-os.git"
|
|
40
|
+
},
|
|
41
|
+
"keywords": [
|
|
42
|
+
"ai",
|
|
43
|
+
"claude",
|
|
44
|
+
"antigravity",
|
|
45
|
+
"opencode",
|
|
46
|
+
"skill-os",
|
|
47
|
+
"developer",
|
|
48
|
+
"agent",
|
|
49
|
+
"prompts",
|
|
50
|
+
"framework",
|
|
51
|
+
"edaos",
|
|
52
|
+
"manifest",
|
|
53
|
+
"registry",
|
|
54
|
+
"eval"
|
|
55
|
+
],
|
|
56
|
+
"author": "Quang Khánh",
|
|
57
|
+
"license": "MIT",
|
|
58
|
+
"bugs": {
|
|
59
|
+
"url": "https://github.com/phamquangkhanh2999/ai-developer-skill-os/issues"
|
|
60
|
+
},
|
|
61
|
+
"homepage": "https://github.com/phamquangkhanh2999/ai-developer-skill-os#readme",
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"fast-glob": "^3.3.0",
|
|
64
|
+
"gray-matter": "^4.0.0",
|
|
65
|
+
"js-yaml": "^4.3.2",
|
|
66
|
+
"vitest": "^2.1.0"
|
|
67
|
+
}
|
|
68
|
+
}
|