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.
Files changed (98) hide show
  1. package/.agents/AGENTS.md +13 -0
  2. package/.agents/LICENSE +21 -21
  3. package/.agents/docs/ARCHITECTURE.md +56 -120
  4. package/.agents/docs/GOVERNANCE.md +3 -3
  5. package/.agents/docs/SPEC.md +137 -60
  6. package/.agents/docs/VERSIONING.md +25 -57
  7. package/.agents/docs/adr/0005-v10-platform-consolidation.md +50 -0
  8. package/.agents/docs/schemas/learning.schema.yml +22 -57
  9. package/.agents/docs/schemas/skill.schema.yml +116 -161
  10. package/.agents/docs/schemas/workflow.schema.yml +51 -26
  11. package/.agents/docs/skill-classification.md +1 -1
  12. package/.agents/registry/graph.json +171 -77
  13. package/.agents/registry/index.yaml +68 -35
  14. package/.agents/rules/coding.md +1 -1
  15. package/.agents/rules/command-safety.md +1 -1
  16. package/.agents/rules/global.md +1 -1
  17. package/.agents/rules/prompt-compiler.md +1 -1
  18. package/.agents/rules/safety.md +1 -1
  19. package/.agents/rules/security.md +1 -1
  20. package/.agents/rules/skill-quality.md +18 -3
  21. package/.agents/skills/_template/SKILL.md +238 -88
  22. package/.agents/skills/qk-api-data-discovery/SKILL.md +176 -190
  23. package/.agents/skills/qk-api-data-discovery/references/bronze-record-format.md +47 -0
  24. package/.agents/skills/qk-api-data-discovery/references/data-contract-yaml.md +72 -0
  25. package/.agents/skills/qk-api-data-discovery/references/discovery-report-template.md +110 -0
  26. package/.agents/skills/qk-backend-data/SKILL.md +150 -1
  27. package/.agents/skills/qk-bug-resolution/SKILL.md +153 -1
  28. package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +1 -1
  29. package/.agents/skills/qk-code-cleaner/SKILL.md +150 -1
  30. package/.agents/skills/qk-code-review/SKILL.md +195 -1
  31. package/.agents/skills/qk-code-review/evals/scorecard.yaml +1 -1
  32. package/.agents/skills/qk-code-review/references/ai/{v8-schema-validation.md → schema-validation.md} +2 -2
  33. package/.agents/skills/qk-code-review/references/cross-cutting/async-concurrency-patterns.md +515 -515
  34. package/.agents/skills/qk-code-review/references/cross-cutting/error-handling-principles.md +492 -492
  35. package/.agents/skills/qk-code-review/references/cross-cutting/n-plus-one-queries.md +309 -309
  36. package/.agents/skills/qk-code-review/references/cross-cutting/sql-injection-prevention.md +307 -307
  37. package/.agents/skills/qk-code-review/references/cross-cutting/xss-prevention.md +263 -263
  38. package/.agents/skills/qk-code-review/references/languages/angular.md +768 -768
  39. package/.agents/skills/qk-code-review/references/languages/c.md +890 -890
  40. package/.agents/skills/qk-code-review/references/languages/cpp.md +893 -893
  41. package/.agents/skills/qk-code-review/references/languages/css-less-sass.md +661 -661
  42. package/.agents/skills/qk-code-review/references/languages/django.md +985 -985
  43. package/.agents/skills/qk-code-review/references/languages/fastapi.md +580 -580
  44. package/.agents/skills/qk-code-review/references/languages/go.md +993 -993
  45. package/.agents/skills/qk-code-review/references/languages/java.md +409 -409
  46. package/.agents/skills/qk-code-review/references/languages/java8.md +586 -586
  47. package/.agents/skills/qk-code-review/references/languages/kotlin.md +1018 -1018
  48. package/.agents/skills/qk-code-review/references/languages/nestjs.md +593 -593
  49. package/.agents/skills/qk-code-review/references/languages/php.md +684 -684
  50. package/.agents/skills/qk-code-review/references/languages/python.md +1073 -1073
  51. package/.agents/skills/qk-code-review/references/languages/qt.md +757 -757
  52. package/.agents/skills/qk-code-review/references/languages/react.md +871 -871
  53. package/.agents/skills/qk-code-review/references/languages/ruby.md +964 -964
  54. package/.agents/skills/qk-code-review/references/languages/rust.md +846 -846
  55. package/.agents/skills/qk-code-review/references/languages/svelte.md +1064 -1064
  56. package/.agents/skills/qk-code-review/references/languages/swift.md +936 -936
  57. package/.agents/skills/qk-code-review/references/languages/typescript.md +1016 -1016
  58. package/.agents/skills/qk-code-review/references/languages/vue.md +924 -924
  59. package/.agents/skills/qk-code-review/references/languages/zig.md +440 -440
  60. package/.agents/skills/qk-devops-release/SKILL.md +150 -1
  61. package/.agents/skills/qk-feature-delivery/SKILL.md +153 -1
  62. package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
  63. package/.agents/skills/qk-orchestrator/SKILL.md +187 -2
  64. package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +1 -1
  65. package/.agents/skills/qk-orchestrator/references/routing-table.md +1 -1
  66. package/.agents/skills/qk-product-spec/SKILL.md +150 -1
  67. package/.agents/skills/qk-prompt-compiler/SKILL.md +188 -65
  68. package/.agents/skills/qk-ui-engineer/SKILL.md +150 -1
  69. package/.agents/workflows/_schema.yml +146 -146
  70. package/.agents/workflows/bug-resolution.yml +155 -121
  71. package/.agents/workflows/code-review.yml +127 -93
  72. package/.agents/workflows/context-discovery.yml +128 -94
  73. package/.agents/workflows/documentation.yml +124 -90
  74. package/.agents/workflows/feature-delivery.yml +158 -124
  75. package/.agents/workflows/production-release.yml +207 -173
  76. package/.agents/workflows/prompt-compilation.yml +126 -0
  77. package/.agents/workflows/refactor.yml +136 -102
  78. package/.agents/workflows/security-audit.yml +149 -115
  79. package/.agents/workflows/shared/quality-gate.yml +3 -1
  80. package/.agents/workflows/skin-governance.yml +149 -115
  81. package/.agents/workflows/spec-driven-development.yml +78 -71
  82. package/CHANGELOG.md +61 -0
  83. package/README.md +3 -3
  84. package/bin/install.js +38 -51
  85. package/package.json +68 -74
  86. package/tooling/build-registry.js +226 -208
  87. package/tooling/run-aar.js +55 -126
  88. package/tooling/sync-versions.js +2 -2
  89. package/tooling/validate-graph.js +100 -87
  90. package/tooling/validate-skills.js +32 -14
  91. package/.agents/docs/decisions/ADR-001-v8-migration.md +0 -58
  92. package/.agents/docs/decisions/ADR-002-workflow-separation.md +0 -50
  93. package/.agents/docs/decisions/ADR-003-registry-generated.md +0 -54
  94. package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +0 -27
  95. package/.agents/registry/capability-graph.yml +0 -390
  96. package/.agents/registry/skills-index.yml +0 -305
  97. package/.agents/skills/_template/capability.yaml +0 -34
  98. 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
- cursor: {
43
- label: 'Cursor IDE',
44
- localDir: path.join(cwd, '.cursor', 'rules'),
45
- globalDir: null, // Cursor has no reliable global rules path — use Settings UI
46
- postInstall: 'exportCursorRules',
47
- note: 'Local only: .cursor/rules/ — use Cursor Settings > Rules for AI for global rules',
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. For Cursor: only delete the .mdc rule file. */
95
- function removeExistingInstall(targetDir, ide) {
96
- if (ide === 'cursor') {
97
- const mdcPath = path.join(targetDir, 'ai-skill-os.mdc');
98
- if (fs.existsSync(mdcPath)) fs.unlinkSync(mdcPath);
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
- * Cursor install: export AGENTS.md content as a .mdc rule file.
182
- * Cursor reads .cursor/rules/*.mdc — each file needs YAML frontmatter.
169
+ * OpenCode install: create .opencode/config.yaml pointing to AGENTS.md.
170
+ * OpenCode reads .opencode/ directory for configuration.
183
171
  */
184
- function exportCursorRules(targetDir) {
185
- const agentsMd = path.join(sourceDir, 'AGENTS.md');
186
- if (!fs.existsSync(agentsMd)) return;
187
-
188
- const rawContent = fs.readFileSync(agentsMd, 'utf8');
189
- const mdcContent = `---
190
- description: "AI Developer Skill OS v${version} — global skill rules"
191
- alwaysApply: true
192
- ---
193
-
194
- ${rawContent}`;
195
-
196
- const outPath = path.join(targetDir, 'ai-skill-os.mdc');
197
- fs.mkdirSync(targetDir, { recursive: true });
198
- fs.writeFileSync(outPath, mdcContent, 'utf8');
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': 'cursor', '4': 'codex' };
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, cursor, codex`);
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, ide);
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 === 'cursor') {
272
- exportCursorRules(targetDir);
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) Cursor IDE
320
- (4) OpenAI Codex CLI
307
+ (3) OpenCode (Open Source)
321
308
 
322
- Nhập số (1-4): `;
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.1.0",
4
- "description": "AI Developer Skill OS v10.1 — 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:v9": "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
- "eval": "node evals/runner.js",
31
- "eval:all": "node evals/runner.js --all",
32
- "test:agent": "node tests/agent-evaluation/runner/evaluate-routing.js",
33
- "generate:evaluation": "node tooling/generate-evaluation-cases.cjs",
34
- "install:antigravity": "node bin/install.js --ide=antigravity --scope=2",
35
- "install:antigravity:local": "node bin/install.js --ide=antigravity --scope=1",
36
- "install:cursor": "node bin/install.js --ide=cursor --scope=2",
37
- "install:cursor:local": "node bin/install.js --ide=cursor --scope=1",
38
- "install:windsurf": "node bin/install.js --ide=windsurf --scope=2",
39
- "install:claude": "node bin/install.js --ide=claude --scope=2",
40
- "install:kilo": "node bin/install.js --ide=kilo --scope=2",
41
- "install:multi": "node bin/install.js --ide=multi-ide --scope=2"
42
- },
43
- "repository": {
44
- "type": "git",
45
- "url": "https://github.com/phamquangkhanh2999/ai-developer-skill-os.git"
46
- },
47
- "keywords": [
48
- "ai",
49
- "claude",
50
- "cursor",
51
- "windsurf",
52
- "skills",
53
- "developer",
54
- "agent",
55
- "prompts",
56
- "framework",
57
- "edaos",
58
- "manifest",
59
- "registry",
60
- "eval"
61
- ],
62
- "author": "Quang Khánh",
63
- "license": "MIT",
64
- "bugs": {
65
- "url": "https://github.com/phamquangkhanh2999/ai-developer-skill-os/issues"
66
- },
67
- "homepage": "https://github.com/phamquangkhanh2999/ai-developer-skill-os#readme",
68
- "devDependencies": {
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
+ }