ai-developer-skill-os 7.5.0 → 8.1.4

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 (377) hide show
  1. package/.agents/CHANGELOG.md +2 -1
  2. package/.agents/README.md +51 -10
  3. package/.agents/docs/ARCHITECTURE.md +156 -0
  4. package/.agents/docs/CHI_TIET_SKILLS.md +2 -1
  5. package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +36 -0
  6. package/.agents/docs/MIGRATION-STATUS.md +35 -0
  7. package/.agents/docs/MIGRATION-V8.md +10 -0
  8. package/.agents/docs/ROADMAP-V8.2.md +78 -0
  9. package/.agents/docs/V8-CERTIFICATION.md +27 -0
  10. package/.agents/docs/VERSIONING.md +95 -0
  11. package/.agents/docs/decisions/ADR-001-v8-migration.md +58 -0
  12. package/.agents/docs/decisions/ADR-002-workflow-separation.md +50 -0
  13. package/.agents/docs/decisions/ADR-003-registry-generated.md +54 -0
  14. package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +27 -0
  15. package/.agents/docs/schemas/learning.schema.yml +69 -0
  16. package/.agents/docs/schemas/skill.schema.yml +188 -0
  17. package/.agents/docs/schemas/workflow.schema.yml +33 -0
  18. package/.agents/knowledge/design-intelligence/industries/ecommerce.md +3 -0
  19. package/.agents/knowledge/design-intelligence/industries/fintech.md +3 -0
  20. package/.agents/knowledge/design-intelligence/industries/healthcare.md +3 -0
  21. package/.agents/learnings/draft/README.md +37 -0
  22. package/.agents/registry/capability-graph.yml +500 -0
  23. package/.agents/registry/skills-index.yml +525 -0
  24. package/.agents/reports/RELEASE-CHECKLIST.md +29 -0
  25. package/.agents/reports/architecture-audit.md +13 -0
  26. package/.agents/reports/graph-health.md +20 -0
  27. package/.agents/reports/skill-audit.md +215 -0
  28. package/.agents/rules/coding.md +102 -0
  29. package/.agents/rules/command-safety.md +21 -0
  30. package/.agents/rules/global.md +135 -0
  31. package/.agents/rules/priorities.yml +24 -0
  32. package/.agents/rules/safety.md +84 -0
  33. package/.agents/rules/security.md +13 -0
  34. package/.agents/rules/skill-quality.md +14 -0
  35. package/.agents/skills/_template/SKILL.md +132 -0
  36. package/.agents/skills/qk-access-policy/SKILL.md +61 -5
  37. package/.agents/skills/qk-agent-observability/SKILL.md +73 -0
  38. package/.agents/skills/qk-ai-builder/SKILL.md +62 -5
  39. package/.agents/skills/qk-api-lifecycle/SKILL.md +59 -6
  40. package/.agents/skills/qk-bug-resolution/SKILL.md +64 -6
  41. package/.agents/skills/qk-context-loader/SKILL.md +63 -11
  42. package/.agents/skills/qk-data-lifecycle/SKILL.md +61 -5
  43. package/.agents/skills/qk-db-optimizer/SKILL.md +61 -5
  44. package/.agents/skills/qk-design-system-engineering/SKILL.md +112 -0
  45. package/.agents/skills/qk-devops-platform/SKILL.md +117 -0
  46. package/.agents/skills/qk-docs/SKILL.md +62 -6
  47. package/.agents/skills/qk-engineering-standard/SKILL.md +62 -12
  48. package/.agents/skills/qk-fe-api-integration/SKILL.md +60 -6
  49. package/.agents/skills/qk-feature-delivery/SKILL.md +65 -6
  50. package/.agents/skills/qk-frontend-architecture/SKILL.md +134 -0
  51. package/.agents/skills/qk-help/SKILL.md +245 -193
  52. package/.agents/skills/qk-orchestrator/SKILL.md +67 -13
  53. package/.agents/skills/qk-orchestrator/references/routing-table.md +4 -3
  54. package/.agents/skills/qk-product-specification/SKILL.md +130 -0
  55. package/.agents/skills/qk-production-release/SKILL.md +59 -6
  56. package/.agents/skills/qk-project-bootstrap/SKILL.md +68 -7
  57. package/.agents/skills/qk-project-health/SKILL.md +63 -6
  58. package/.agents/skills/qk-project-memory/SKILL.md +109 -6
  59. package/.agents/skills/qk-security-audit/SKILL.md +135 -0
  60. package/.agents/skills/qk-system-evolution/SKILL.md +63 -12
  61. package/.agents/skills/qk-test-engineering/SKILL.md +139 -0
  62. package/.agents/skills/qk-ui-audit/SKILL.md +63 -8
  63. package/.agents/skills/qk-ui-builder/SKILL.md +509 -0
  64. package/.agents/skills/qk-ui-builder/references/anti-patterns.md +295 -0
  65. package/.agents/skills/qk-ui-builder/references/color.md +115 -0
  66. package/.agents/skills/qk-ui-builder/references/component-cookbook.md +1194 -0
  67. package/.agents/skills/qk-ui-builder/references/copy.md +250 -0
  68. package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +115 -0
  69. package/.agents/skills/qk-ui-builder/references/layout-and-space.md +111 -0
  70. package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +48 -0
  71. package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +50 -0
  72. package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +51 -0
  73. package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +49 -0
  74. package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +44 -0
  75. package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +50 -0
  76. package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +51 -0
  77. package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +50 -0
  78. package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +50 -0
  79. package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +49 -0
  80. package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +49 -0
  81. package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +49 -0
  82. package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +48 -0
  83. package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +48 -0
  84. package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +51 -0
  85. package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +48 -0
  86. package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +48 -0
  87. package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +50 -0
  88. package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +48 -0
  89. package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +45 -0
  90. package/.agents/skills/qk-ui-builder/references/macrostructures.md +38 -0
  91. package/.agents/skills/qk-ui-builder/references/motion.md +95 -0
  92. package/.agents/skills/qk-ui-builder/references/responsive.md +115 -0
  93. package/.agents/skills/qk-ui-builder/references/slop-test.md +135 -0
  94. package/.agents/skills/qk-ui-builder/references/structure.md +280 -0
  95. package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +53 -0
  96. package/.agents/skills/qk-ui-builder/references/themes/carnival.md +52 -0
  97. package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +52 -0
  98. package/.agents/skills/qk-ui-builder/references/themes/editorial.md +52 -0
  99. package/.agents/skills/qk-ui-builder/references/themes/garden.md +52 -0
  100. package/.agents/skills/qk-ui-builder/references/themes/hum.md +52 -0
  101. package/.agents/skills/qk-ui-builder/references/themes/lumen.md +52 -0
  102. package/.agents/skills/qk-ui-builder/references/themes/midnight.md +52 -0
  103. package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +52 -0
  104. package/.agents/skills/qk-ui-builder/references/themes/playful.md +52 -0
  105. package/.agents/skills/qk-ui-builder/references/themes/specimen.md +52 -0
  106. package/.agents/skills/qk-ui-builder/references/themes/terminal.md +52 -0
  107. package/.agents/skills/qk-ui-builder/references/typography.md +129 -0
  108. package/.agents/skills/qk-ui-system-builder/SKILL.md +61 -5
  109. package/.agents/skills/qk-validation-gate/SKILL.md +63 -11
  110. package/.agents/skills/qk-web-quality-gate/SKILL.md +114 -0
  111. package/.agents/workflows/_schema.yml +109 -0
  112. package/.agents/workflows/bug-resolution.yml +101 -0
  113. package/.agents/workflows/code-review.yml +77 -0
  114. package/.agents/workflows/documentation.yml +75 -0
  115. package/.agents/workflows/feature-delivery.yml +103 -0
  116. package/.agents/workflows/refactor.yml +81 -0
  117. package/.agents/workflows/research.yml +60 -0
  118. package/.agents/workflows/security-audit.yml +72 -0
  119. package/.agents/workflows/skill-evolution.yml +65 -0
  120. package/.agents/workflows/spec-driven-development.yml +57 -0
  121. package/CHANGELOG.md +91 -69
  122. package/README.md +50 -45
  123. package/bin/install.js +57 -309
  124. package/package.json +14 -3
  125. package/tooling/generate-evaluation-cases.cjs +44 -0
  126. package/tooling/generate-registry.js +157 -0
  127. package/tooling/run-aar.js +143 -0
  128. package/tooling/validate-graph.js +87 -0
  129. package/tooling/validate-skills.js +102 -0
  130. package/.agents/_template/BEHAVIOR_SPEC.md +0 -96
  131. package/.agents/_template/examples/example-en.md +0 -49
  132. package/.agents/_template/examples/example-vi.md +0 -49
  133. package/.agents/skills/qk-design-to-code/SKILL.md +0 -285
  134. package/.agents/skills.json +0 -819
  135. package/.github/workflows/ci.yml +0 -56
  136. package/.qk-ai-skill-os/CHANGELOG.md +0 -69
  137. package/.qk-ai-skill-os/LICENSE +0 -21
  138. package/.qk-ai-skill-os/README.md +0 -59
  139. package/.qk-ai-skill-os/_template/BEHAVIOR_SPEC.md +0 -96
  140. package/.qk-ai-skill-os/_template/examples/example-en.md +0 -49
  141. package/.qk-ai-skill-os/_template/examples/example-vi.md +0 -49
  142. package/.qk-ai-skill-os/docs/CHI_TIET_SKILLS.md +0 -125
  143. package/.qk-ai-skill-os/docs/GOVERNANCE.md +0 -40
  144. package/.qk-ai-skill-os/docs/HUONG_DAN_SU_DUNG.md +0 -120
  145. package/.qk-ai-skill-os/docs/SPEC.md +0 -87
  146. package/.qk-ai-skill-os/docs/adr/0001-intent-based-architecture.md +0 -19
  147. package/.qk-ai-skill-os/docs/adr/0002-kernel-freeze.md +0 -21
  148. package/.qk-ai-skill-os/docs/adr/0003-risk-based-verification.md +0 -20
  149. package/.qk-ai-skill-os/docs/adr/0004-progressive-evidence.md +0 -19
  150. package/.qk-ai-skill-os/docs/skill-classification.md +0 -25
  151. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +0 -121
  152. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +0 -179
  153. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-api-integration/SKILL.md +0 -389
  154. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-auth-security/SKILL.md +0 -96
  155. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +0 -125
  156. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-bug-fix/SKILL.md +0 -213
  157. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-component-generator/SKILL.md +0 -136
  158. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-context-manager/SKILL.md +0 -175
  159. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-database-engineer/SKILL.md +0 -104
  160. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-deployment/SKILL.md +0 -96
  161. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-design-system/SKILL.md +0 -137
  162. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-form-builder/SKILL.md +0 -140
  163. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +0 -155
  164. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +0 -133
  165. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +0 -129
  166. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +0 -146
  167. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-git-engineer/SKILL.md +0 -304
  168. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-help/SKILL.md +0 -68
  169. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-migration/SKILL.md +0 -284
  170. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-project-audit/SKILL.md +0 -280
  171. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-refactor/SKILL.md +0 -222
  172. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-state-management/SKILL.md +0 -140
  173. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +0 -127
  174. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-ui-builder/SKILL.md +0 -152
  175. package/.qk-ai-skill-os/skills/_template/SKILL.md +0 -238
  176. package/.qk-ai-skill-os/skills/qk-access-policy/SKILL.md +0 -179
  177. package/.qk-ai-skill-os/skills/qk-ai-builder/SKILL.md +0 -221
  178. package/.qk-ai-skill-os/skills/qk-api-lifecycle/SKILL.md +0 -176
  179. package/.qk-ai-skill-os/skills/qk-bug-resolution/SKILL.md +0 -307
  180. package/.qk-ai-skill-os/skills/qk-context-loader/SKILL.md +0 -218
  181. package/.qk-ai-skill-os/skills/qk-data-lifecycle/SKILL.md +0 -192
  182. package/.qk-ai-skill-os/skills/qk-db-optimizer/SKILL.md +0 -196
  183. package/.qk-ai-skill-os/skills/qk-design-to-code/SKILL.md +0 -291
  184. package/.qk-ai-skill-os/skills/qk-docs/SKILL.md +0 -198
  185. package/.qk-ai-skill-os/skills/qk-engineering-standard/SKILL.md +0 -351
  186. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/backend.md +0 -122
  187. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/database.md +0 -3
  188. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/frontend.md +0 -152
  189. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/security.md +0 -3
  190. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/testing.md +0 -3
  191. package/.qk-ai-skill-os/skills/qk-fe-api-integration/SKILL.md +0 -326
  192. package/.qk-ai-skill-os/skills/qk-feature-delivery/SKILL.md +0 -305
  193. package/.qk-ai-skill-os/skills/qk-help/SKILL.md +0 -193
  194. package/.qk-ai-skill-os/skills/qk-orchestrator/SKILL.md +0 -277
  195. package/.qk-ai-skill-os/skills/qk-orchestrator/references/routing-table.md +0 -77
  196. package/.qk-ai-skill-os/skills/qk-production-release/SKILL.md +0 -290
  197. package/.qk-ai-skill-os/skills/qk-project-bootstrap/SKILL.md +0 -240
  198. package/.qk-ai-skill-os/skills/qk-project-health/SKILL.md +0 -199
  199. package/.qk-ai-skill-os/skills/qk-project-memory/SKILL.md +0 -172
  200. package/.qk-ai-skill-os/skills/qk-system-evolution/SKILL.md +0 -285
  201. package/.qk-ai-skill-os/skills/qk-ui-audit/SKILL.md +0 -314
  202. package/.qk-ai-skill-os/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
  203. package/.qk-ai-skill-os/skills/qk-ui-system-builder/SKILL.md +0 -225
  204. package/.qk-ai-skill-os/skills/qk-validation-gate/SKILL.md +0 -361
  205. package/.qk-ai-skill-os/skills.json +0 -819
  206. package/CLAUDE.md +0 -110
  207. package/_template/BEHAVIOR_SPEC.md +0 -96
  208. package/_template/examples/example-en.md +0 -49
  209. package/_template/examples/example-vi.md +0 -49
  210. package/add_lang.js +0 -21
  211. package/add_lang.py +0 -25
  212. package/add_sections.py +0 -53
  213. package/bin/lint.js +0 -122
  214. package/docs/CHI_TIET_SKILLS.md +0 -125
  215. package/docs/GOVERNANCE.md +0 -40
  216. package/docs/HUONG_DAN_SU_DUNG.md +0 -120
  217. package/docs/SPEC.md +0 -87
  218. package/docs/adr/0001-intent-based-architecture.md +0 -19
  219. package/docs/adr/0002-kernel-freeze.md +0 -21
  220. package/docs/adr/0003-risk-based-verification.md +0 -20
  221. package/docs/adr/0004-progressive-evidence.md +0 -19
  222. package/docs/skill-classification.md +0 -25
  223. package/fix_seeds.js +0 -22
  224. package/framework/KERNEL.md +0 -83
  225. package/framework/bias-library/cosmetic-refactor.md +0 -21
  226. package/framework/bias-library/enterprise-crud.md +0 -21
  227. package/framework/bias-library/fake-ui-slop.md +0 -20
  228. package/framework/bias-library/hallucinated-tools.md +0 -20
  229. package/framework/bias-library/missing-ui-states.md +0 -19
  230. package/framework/bias-library/over-indexing.md +0 -20
  231. package/framework/bias-library/swallow-errors.md +0 -19
  232. package/framework/bias-library/ui-only-security.md +0 -17
  233. package/framework/decision-primitives.md +0 -47
  234. package/framework/dial-library/complexity-budget.md +0 -13
  235. package/framework/dial-library/granularity.md +0 -13
  236. package/framework/dial-library/optimization-strategy.md +0 -13
  237. package/framework/dial-library/strictness.md +0 -13
  238. package/framework/rule-library/delegation-only.md +0 -9
  239. package/framework/rule-library/minimal-diff.md +0 -9
  240. package/framework/skill-schema.md +0 -310
  241. package/knowledge/backend/nodejs.md +0 -52
  242. package/knowledge/frontend/react.md +0 -81
  243. package/migrate-to-v6.js +0 -130
  244. package/migrate.js +0 -147
  245. package/migrate.py +0 -133
  246. package/migrate_all.cjs +0 -96
  247. package/patch.js +0 -15
  248. package/patch.py +0 -89
  249. package/patch2.py +0 -83
  250. package/rename.js +0 -64
  251. package/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +0 -121
  252. package/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +0 -179
  253. package/skills/_archive_old_skills/qk-api-integration/SKILL.md +0 -389
  254. package/skills/_archive_old_skills/qk-auth-security/SKILL.md +0 -96
  255. package/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +0 -125
  256. package/skills/_archive_old_skills/qk-bug-fix/SKILL.md +0 -213
  257. package/skills/_archive_old_skills/qk-component-generator/SKILL.md +0 -136
  258. package/skills/_archive_old_skills/qk-context-manager/SKILL.md +0 -175
  259. package/skills/_archive_old_skills/qk-database-engineer/SKILL.md +0 -104
  260. package/skills/_archive_old_skills/qk-deployment/SKILL.md +0 -96
  261. package/skills/_archive_old_skills/qk-design-system/SKILL.md +0 -137
  262. package/skills/_archive_old_skills/qk-form-builder/SKILL.md +0 -140
  263. package/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +0 -155
  264. package/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +0 -133
  265. package/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +0 -129
  266. package/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +0 -146
  267. package/skills/_archive_old_skills/qk-git-engineer/SKILL.md +0 -304
  268. package/skills/_archive_old_skills/qk-help/SKILL.md +0 -68
  269. package/skills/_archive_old_skills/qk-migration/SKILL.md +0 -284
  270. package/skills/_archive_old_skills/qk-project-audit/SKILL.md +0 -280
  271. package/skills/_archive_old_skills/qk-refactor/SKILL.md +0 -222
  272. package/skills/_archive_old_skills/qk-state-management/SKILL.md +0 -140
  273. package/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +0 -127
  274. package/skills/_archive_old_skills/qk-ui-builder/SKILL.md +0 -152
  275. package/skills/_template/SKILL.md +0 -238
  276. package/skills/qk-access-policy/SKILL.md +0 -179
  277. package/skills/qk-ai-builder/SKILL.md +0 -215
  278. package/skills/qk-api-lifecycle/SKILL.md +0 -176
  279. package/skills/qk-bug-resolution/SKILL.md +0 -307
  280. package/skills/qk-context-loader/SKILL.md +0 -218
  281. package/skills/qk-data-lifecycle/SKILL.md +0 -192
  282. package/skills/qk-db-optimizer/SKILL.md +0 -196
  283. package/skills/qk-design-to-code/SKILL.md +0 -285
  284. package/skills/qk-docs/SKILL.md +0 -198
  285. package/skills/qk-engineering-standard/SKILL.md +0 -351
  286. package/skills/qk-engineering-standard/rules/backend.md +0 -122
  287. package/skills/qk-engineering-standard/rules/database.md +0 -3
  288. package/skills/qk-engineering-standard/rules/frontend.md +0 -152
  289. package/skills/qk-engineering-standard/rules/security.md +0 -3
  290. package/skills/qk-engineering-standard/rules/testing.md +0 -3
  291. package/skills/qk-fe-api-integration/SKILL.md +0 -326
  292. package/skills/qk-feature-delivery/SKILL.md +0 -305
  293. package/skills/qk-help/SKILL.md +0 -193
  294. package/skills/qk-orchestrator/SKILL.md +0 -277
  295. package/skills/qk-orchestrator/references/routing-table.md +0 -77
  296. package/skills/qk-production-release/SKILL.md +0 -284
  297. package/skills/qk-project-bootstrap/SKILL.md +0 -234
  298. package/skills/qk-project-health/SKILL.md +0 -199
  299. package/skills/qk-project-memory/SKILL.md +0 -172
  300. package/skills/qk-system-evolution/SKILL.md +0 -281
  301. package/skills/qk-ui-audit/SKILL.md +0 -314
  302. package/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
  303. package/skills/qk-ui-system-builder/SKILL.md +0 -221
  304. package/skills/qk-validation-gate/SKILL.md +0 -359
  305. package/skills.json +0 -819
  306. package/specs/contracts/behavior-contract.yaml +0 -40
  307. package/specs/expectations/qk-bug-resolution.yaml +0 -35
  308. package/specs/fixtures/user-payload.json +0 -12
  309. package/specs/regressions/api-integration-null-fields.yaml +0 -19
  310. package/specs/scenarios/fix-login-nullref.yaml +0 -3
  311. package/taste-skill/.claude-plugin/marketplace.json +0 -20
  312. package/taste-skill/.claude-plugin/plugin.json +0 -19
  313. package/taste-skill/.github/FUNDING.yml +0 -1
  314. package/taste-skill/.github/copilot-instructions.md +0 -11
  315. package/taste-skill/CHANGELOG.md +0 -111
  316. package/taste-skill/LICENSE +0 -21
  317. package/taste-skill/README.md +0 -212
  318. package/taste-skill/assets/.gitkeep +0 -0
  319. package/taste-skill/assets/readme-banner.webp +0 -0
  320. package/taste-skill/assets/readme-buttons/btn-agent-skills.webp +0 -0
  321. package/taste-skill/assets/readme-buttons/btn-changelog.webp +0 -0
  322. package/taste-skill/assets/readme-buttons/btn-mit.webp +0 -0
  323. package/taste-skill/assets/readme-buttons/btn-site.webp +0 -0
  324. package/taste-skill/assets/readme-buttons/btn-tools.webp +0 -0
  325. package/taste-skill/assets/readme-cta-tasteskill.svg +0 -5
  326. package/taste-skill/assets/sponsors/animations-dev.webp +0 -0
  327. package/taste-skill/assets/sponsors/emil-animations-dev.webp +0 -0
  328. package/taste-skill/assets/taste-skill-logo.png +0 -0
  329. package/taste-skill/assets/taste-skill-logo.webp +0 -0
  330. package/taste-skill/assets/vercel-oss-program-badge.svg +0 -44
  331. package/taste-skill/examples/floria-bottom.webp +0 -0
  332. package/taste-skill/examples/floria-full.webp +0 -0
  333. package/taste-skill/examples/floria-top.webp +0 -0
  334. package/taste-skill/research/README.md +0 -8
  335. package/taste-skill/research/laziness/README.md +0 -25
  336. package/taste-skill/research/laziness/findings/empirical-results.md +0 -58
  337. package/taste-skill/research/laziness/findings/references.md +0 -20
  338. package/taste-skill/research/laziness/remediation/architectural-patterns.md +0 -55
  339. package/taste-skill/research/laziness/remediation/parameter-tuning.md +0 -44
  340. package/taste-skill/research/laziness/remediation/prompt-engineering.md +0 -52
  341. package/taste-skill/research/laziness/remediation/reference-prompts.md +0 -79
  342. package/taste-skill/research/laziness/root-causes/cognitive-shortcuts.md +0 -23
  343. package/taste-skill/research/laziness/root-causes/output-limits.md +0 -39
  344. package/taste-skill/research/laziness/root-causes/rlhf-and-compute.md +0 -27
  345. package/taste-skill/research/laziness/root-causes/training-data-bias.md +0 -28
  346. package/taste-skill/scripts/build-emil-sponsor-row.mjs +0 -41
  347. package/taste-skill/scripts/convert-readme-assets-webp.mjs +0 -142
  348. package/taste-skill/scripts/process-readme-buttons.mjs +0 -108
  349. package/taste-skill/scripts/process-sponsor-badge.mjs +0 -83
  350. package/taste-skill/skill.sh +0 -25
  351. package/taste-skill/skills/brandkit/SKILL.md +0 -798
  352. package/taste-skill/skills/brutalist-skill/SKILL.md +0 -92
  353. package/taste-skill/skills/gpt-tasteskill/SKILL.md +0 -74
  354. package/taste-skill/skills/image-to-code-skill/SKILL.md +0 -1228
  355. package/taste-skill/skills/imagegen-frontend-mobile/SKILL.md +0 -1465
  356. package/taste-skill/skills/imagegen-frontend-web/SKILL.md +0 -987
  357. package/taste-skill/skills/llms.txt +0 -13
  358. package/taste-skill/skills/minimalist-skill/SKILL.md +0 -85
  359. package/taste-skill/skills/output-skill/SKILL.md +0 -49
  360. package/taste-skill/skills/redesign-skill/SKILL.md +0 -178
  361. package/taste-skill/skills/soft-skill/SKILL.md +0 -98
  362. package/taste-skill/skills/stitch-skill/DESIGN.md +0 -121
  363. package/taste-skill/skills/stitch-skill/SKILL.md +0 -184
  364. package/taste-skill/skills/taste-skill/SKILL.md +0 -1206
  365. package/taste-skill/skills/taste-skill-v1/SKILL.md +0 -226
  366. package/temp_fix.js +0 -61
  367. package/templates/DESIGN.md +0 -38
  368. package/templates/bug-report.md +0 -21
  369. package/templates/design-report.md +0 -21
  370. package/templates/feature-report.md +0 -20
  371. package/templates/review-report.md +0 -21
  372. package/templates/skill-template.md +0 -38
  373. package/tests/behavior-conformance.test.js +0 -154
  374. package/tests/install-script.test.js +0 -38
  375. package/tests/registry.test.js +0 -111
  376. package/update_template.js +0 -28
  377. package/vitest.config.js +0 -11
@@ -1,304 +0,0 @@
1
- ---
2
- name: qk-git-engineer
3
- description: >-
4
- Viết commit message chuẩn Conventional Commits, mô tả Pull Request, Changelog và Release Notes chuyên nghiệp.
5
- version: 1.0.0
6
- category: engineering
7
- tags: [git, commit, pull-request, changelog, release, conventional-commits]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # Git Engineer
12
-
13
- > **Language rule:**
14
- > Use English for: code, identifiers, file names, architecture terms, technical decisions.
15
- > Use the user's language for: explanations, questions, summaries, and feedback.
16
- > The user may write in any language — detect and match it automatically.
17
-
18
- > 📌 **Standard followed:** [Conventional Commits v1.0.0](https://www.conventionalcommits.org/)
19
-
20
- ---
21
-
22
- ## Trigger
23
-
24
- Activate this skill when:
25
- - User wants to write a commit message
26
- - User has finished a feature and needs a PR description
27
- - User needs to generate a changelog for a release
28
- - User asks "what should I commit?", "write PR", "release notes"
29
- - User wants to clean up their git history before merging
30
-
31
- ---
32
-
33
- ## Scope
34
-
35
- - ✅ Write commit messages (Conventional Commits format)
36
- - ✅ Suggest logical commit groupings from a set of changes
37
- - ✅ Write pull request titles and descriptions
38
- - ✅ Generate CHANGELOG entries from commit history
39
- - ✅ Write release notes (human-readable)
40
- - ✅ Suggest branch naming conventions
41
- - ✅ Review and improve existing commit messages
42
-
43
- ---
44
-
45
- ## Non-goals
46
-
47
- - ❌ Do NOT run git commands without explicit user approval
48
- - ❌ Do NOT force-push or rebase without warning
49
- - ❌ Do NOT create commits that bundle unrelated changes
50
- - ❌ Do NOT write vague messages like "fix stuff" or "updates"
51
-
52
- ---
53
-
54
- ## Conventional Commits Format
55
-
56
- ```
57
- <type>(<scope>): <description>
58
-
59
- [optional body]
60
-
61
- [optional footer(s)]
62
- ```
63
-
64
- ### Types
65
-
66
- | Type | When to use |
67
- |------|-------------|
68
- | `feat` | New feature |
69
- | `fix` | Bug fix |
70
- | `docs` | Documentation only changes |
71
- | `style` | Formatting, missing semicolons — no logic change |
72
- | `refactor` | Code restructure without behavior change |
73
- | `perf` | Performance improvement |
74
- | `test` | Adding or fixing tests |
75
- | `build` | Build system or dependency changes |
76
- | `ci` | CI/CD configuration changes |
77
- | `chore` | Other changes that don't modify src or test files |
78
- | `revert` | Reverts a previous commit |
79
-
80
- ### Breaking Changes
81
-
82
- ```
83
- feat!: remove deprecated login endpoint
84
-
85
- BREAKING CHANGE: The /auth/login endpoint has been removed.
86
- Use /auth/v2/login instead.
87
- ```
88
-
89
- ---
90
-
91
- ## Workflow
92
-
93
- ### Phase 1 — Understand the Changes
94
-
95
- Review what has changed:
96
- 1. Read the diff or file list provided by the user
97
- 2. Group changes by concern (feature, fix, refactor, docs, etc.)
98
- 3. Identify if changes should be split into multiple commits or kept as one
99
- 4. Note any breaking changes
100
-
101
- ---
102
-
103
- ### Phase 2 — Commit Message(s)
104
-
105
- For each logical group of changes, write:
106
-
107
- **Single commit:**
108
- ```
109
- feat(auth): add refresh token rotation
110
-
111
- Implements automatic refresh token rotation on each use.
112
- Old tokens are invalidated immediately after use to prevent
113
- replay attacks.
114
-
115
- Closes #142
116
- ```
117
-
118
- **Multiple commits (if changes should be split):**
119
- ```
120
- refactor(api): extract axios instance to lib/axios.ts
121
-
122
- No behavior change — prepares for interceptor configuration.
123
-
124
- ---
125
-
126
- feat(api): add request retry interceptor
127
-
128
- Automatically retries failed requests up to 3 times with
129
- exponential backoff. Skips retry for 4xx errors.
130
- ```
131
-
132
- **Rules:**
133
- - Subject line: ≤72 characters, imperative mood ("add" not "added")
134
- - Body: explain *why*, not *what* (the diff shows what)
135
- - Reference issues: `Closes #123`, `Fixes #456`, `Refs #789`
136
-
137
- ---
138
-
139
- ### Phase 3 — Pull Request Description
140
-
141
- Structure:
142
- ```markdown
143
- ## Summary
144
- [1-3 sentences describing what this PR does and why]
145
-
146
- ## Changes
147
- - [Specific change 1]
148
- - [Specific change 2]
149
- - [Specific change 3]
150
-
151
- ## Testing
152
- - [ ] Unit tests pass
153
- - [ ] Manual testing: [describe what you tested]
154
- - [ ] [Other relevant checks]
155
-
156
- ## Breaking Changes
157
- [None | Description of breaking change and migration path]
158
-
159
- ## Screenshots / Demo
160
- [If UI changes — attach before/after screenshots]
161
-
162
- ## Related Issues
163
- Closes #[issue number]
164
- ```
165
-
166
- ---
167
-
168
- ### Phase 4 — Changelog Entry
169
-
170
- Follow [Keep a Changelog](https://keepachangelog.com/) format:
171
-
172
- ```markdown
173
- ## [1.2.0] - 2026-07-01
174
-
175
- ### Added
176
- - Refresh token rotation for improved security (#142)
177
- - Retry interceptor with exponential backoff (#138)
178
-
179
- ### Changed
180
- - Extracted axios instance to `src/lib/axios.ts` for cleaner configuration
181
-
182
- ### Fixed
183
- - Fixed race condition in useUserData hook causing stale state (#135)
184
- - Resolved memory leak when component unmounts during fetch (#133)
185
-
186
- ### Deprecated
187
- - `GET /api/v1/users` — use `GET /api/v2/users` instead (removes in v2.0)
188
-
189
- ### Removed
190
- - Removed legacy `moment.js` dependency — migrated to `date-fns`
191
-
192
- ### Security
193
- - Updated `package-x` from 2.1.0 to 2.1.4 (CVE-2026-XXXX)
194
- ```
195
-
196
- ---
197
-
198
- ### Phase 5 — Release Notes (Human-Readable)
199
-
200
- For non-technical stakeholders:
201
-
202
- ```markdown
203
- # Release v1.2.0 — Security & Stability
204
-
205
- ## What's new
206
-
207
- **Better security**: Login sessions are now more secure with automatic
208
- token rotation. Each time you use the app, your session is refreshed
209
- automatically.
210
-
211
- **More reliable**: The app now automatically retries failed requests,
212
- so temporary network issues won't interrupt your workflow.
213
-
214
- ## Bug fixes
215
-
216
- - Fixed an issue where user data could appear stale after navigating
217
- - Fixed a rare crash that occurred when closing the app during data loading
218
-
219
- ## Under the hood
220
-
221
- We've updated several internal libraries to keep the app fast, secure,
222
- and maintainable.
223
- ```
224
-
225
- ---
226
-
227
- ## Decision Tree
228
-
229
- ```
230
- What does the user need?
231
- ├── Commit message → Phase 2 only
232
- ├── PR description → Phase 3 (+ Phase 2 if commits not written)
233
- ├── Changelog entry → Phase 4 (from commit list or diff)
234
- └── Full release → Phase 2 + Phase 4 + Phase 5
235
-
236
- Should changes be split into multiple commits?
237
- ├── Changes are unrelated → Yes — split by concern
238
- ├── Changes form one atomic feature → No — single commit
239
- └── Unsure → Ask user
240
-
241
- Is there a breaking change?
242
- ├── Yes → Use `feat!` or `fix!` type + BREAKING CHANGE footer
243
- └── No → Standard type
244
- ```
245
-
246
- ---
247
-
248
- ## Branch Naming Convention
249
-
250
- ```
251
- feature/short-description → new features
252
- fix/short-description → bug fixes
253
- refactor/short-description → refactoring
254
- chore/dependency-upgrade → maintenance
255
- release/v1.2.0 → release preparation
256
- hotfix/critical-issue → urgent production fixes
257
- ```
258
-
259
- ---
260
-
261
- ## Output Format
262
-
263
- ```
264
- 📝 Git Output
265
- ─────────────────────────────────────────────────
266
- Type: [commit | PR | changelog | release-notes]
267
-
268
- ─── Commit Message ───────────────────────────────
269
- feat(scope): short imperative description
270
-
271
- Body explaining why this change was made.
272
- What problem does it solve?
273
-
274
- Closes #123
275
-
276
- ─── PR Title ─────────────────────────────────────
277
- feat(scope): short imperative description
278
-
279
- ─── PR Description ───────────────────────────────
280
- [Formatted markdown PR body]
281
-
282
- ─── Changelog ────────────────────────────────────
283
- [Formatted changelog section]
284
- ```
285
-
286
- ---
287
-
288
- ## Validation Checklist
289
-
290
- - [ ] Commit type is correct (feat/fix/refactor/etc.)
291
- - [ ] Subject line ≤72 chars, imperative mood, no period at end
292
- - [ ] Breaking changes flagged with `!` and `BREAKING CHANGE:` footer
293
- - [ ] Body explains *why*, not just *what*
294
- - [ ] Issue references included (`Closes #N`)
295
- - [ ] PR description covers: summary, changes, testing, breaking changes
296
- - [ ] Changelog uses correct sections (Added/Changed/Fixed/etc.)
297
- - [ ] No vague messages ("fix stuff", "updates", "wip")
298
-
299
- ---
300
-
301
- ## Examples
302
-
303
- See `examples/` folder.
304
-
@@ -1,68 +0,0 @@
1
- ---
2
- name: qk-help
3
- description: >-
4
- Tra cứu danh sách toàn bộ kỹ năng (skills) hiện có và đọc các mẹo (pro-tips) kết hợp kỹ năng để tăng tốc độ code.
5
- version: 1.0.0
6
- category: engineering
7
- tags: [help, list, tips, guide, manual]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # 📚 Cẩm nang AI Developer Skill OS
12
-
13
- > **Nhiệm vụ của bạn (AI):** Khi người dùng gọi lệnh `./qk-help`, hãy xuất ra màn hình (bằng tiếng Việt) danh sách các kỹ năng phân theo nhóm và các Mẹo sử dụng (Pro-tips) dưới đây một cách sinh động, dễ đọc (dùng markdown, in đậm, emoji). Không cần phân tích code, chỉ đóng vai trò là "Sách hướng dẫn sử dụng".
14
-
15
- ---
16
-
17
- ## 🎯 1. Danh sách Kỹ năng (Skills Directory)
18
-
19
- Dưới đây là các kỹ năng chính bạn có thể gọi bằng cách gõ `./qk-[tên-kỹ-năng]`:
20
-
21
- ### 🎨 Frontend (Giao diện)
22
- - **`qk-ui-builder`**: Xây dựng UI, Layout, Component, Modal phức tạp.
23
- - **`qk-table-crud-generator`**: Chuyên vẽ bảng danh sách (Table), phân trang, lọc và form Thêm/Sửa/Xóa.
24
- - **`qk-form-builder`**: Chuyên làm Form nhập liệu, validate (Zod/Yup).
25
- - **`qk-component-generator`**: Tạo Component độc lập, tái sử dụng (Button, Input, Card).
26
- - **`qk-state-management`**: Xử lý Redux, Zustand, React Query.
27
- - **`qk-frontend-debug`**: Bắt bệnh vỡ layout, infinite re-render, lỗi Hydration.
28
- - **`qk-frontend-performance`**: Tối ưu tốc độ, chống re-render thừa.
29
- - **`qk-frontend-architecture`**: Tư vấn kiến trúc thư mục Frontend.
30
- - **`qk-frontend-testing`**: Viết Unit Test / E2E Test cho Frontend.
31
- - **`qk-accessibility-audit`**: Sửa lỗi a11y, hỗ trợ Screen reader.
32
-
33
- ### ⚙️ Engineering & Integration (Tích hợp)
34
- - **`qk-api-integration`**: [Cực mạnh] Bóc tách tài liệu API (Curl, Postman) -> Gen Type, Service, Hook -> (Tùy chọn) Ốp thẳng vào UI.
35
- - **`qk-refactor`**: Tối ưu, dọn dẹp mã nguồn sạch sẽ.
36
- - **`qk-bug-fix`**: Chẩn đoán lỗi sâu và sửa an toàn.
37
- - **`qk-project-audit`**: Quét toàn bộ dự án tìm nợ kỹ thuật.
38
- - **`qk-git-engineer`**: Viết Commit / PR chuẩn Conventional.
39
- - **`qk-migration`**: Nâng cấp version framework / thư viện.
40
- - **`qk-agent-orchestrator`**: Kiến trúc sư, lên plan phân rã task lớn.
41
- - **`qk-context-manager`**: Tóm tắt kiến trúc dự án.
42
-
43
- ### 🗄️ Backend (Máy chủ)
44
- - **`qk-database-engineer`**: Thiết kế Schema, ORM (Prisma/Drizzle), Migration.
45
- - **`qk-backend-architecture`**: Setup kiến trúc Backend (Node/Nest/Python).
46
- - **`qk-auth-security`**: Phân quyền RBAC, JWT, OAuth.
47
- - **`qk-deployment`**: Viết Dockerfile, CI/CD Pipeline.
48
-
49
- ---
50
-
51
- ## 💡 2. Mẹo sử dụng Nâng cao (Pro-Tips)
52
-
53
- ### Mẹo 1: Kết hợp Kỹ năng (Skill Chaining) 🔗
54
- Đừng bắt AI làm từ A-Z bằng 1 câu prompt. Hãy gọi liên hoàn:
55
- > *"Hãy dùng `./qk-api-integration` để bóc tách API này thành hook React Query. Sau đó dùng `./qk-table-crud-generator` vẽ cái Bảng hiển thị danh sách tích hợp hook đó."*
56
-
57
- ### Mẹo 2: Chế độ "Một phát ăn ngay" (End-to-End) 🚀
58
- Nếu bạn đã có sẵn 1 màn hình UI (chỉ thiếu data), hãy ép `qk-api-integration` làm End-to-End:
59
- > *"./qk-api-integration Dưới đây là API Get Profile. Hãy khai báo Type, viết Hook và TÍCH HỢP THẲNG LUÔN vào file \`Profile.tsx\` đang mở."*
60
-
61
- ### Mẹo 3: Truyền tham số ép buộc (Arguments) 🎯
62
- Bạn có thể ép AI dùng công nghệ bạn muốn bằng cách thêm \`--tham_số\`:
63
- > *"./qk-ui-builder --fw=react --css=tailwind Hãy vẽ màn hình Đăng nhập."*
64
-
65
- ### Mẹo 4: Nhờ "Kiến trúc sư" phân việc 🧠
66
- Nếu bạn có một tính năng quá lớn (ví dụ: Làm tính năng Giỏ Hàng), đừng tự chia việc, hãy gọi:
67
- > *"./qk-agent-orchestrator Tôi muốn làm tính năng Giỏ hàng. Hãy phân tích và lên kế hoạch gọi các skill \`qk-\` nào cho phù hợp."*
68
-
@@ -1,284 +0,0 @@
1
- ---
2
- name: qk-migration
3
- description: >-
4
- Nâng cấp dependency, chuyển đổi framework và thay thế thư viện một cách an toàn với chiến lược không downtime.
5
- version: 1.0.0
6
- category: engineering
7
- tags: [migration, upgrade, dependencies, breaking-change, npm, framework]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # Migration & Dependency Upgrade
12
-
13
- > **Language rule:**
14
- > Use English for: code, identifiers, file names, architecture terms, technical decisions.
15
- > Use the user's language for: explanations, questions, summaries, and feedback.
16
- > The user may write in any language — detect and match it automatically.
17
-
18
- > ⚠️ **Always create a rollback plan before starting any migration.**
19
- > Never apply breaking upgrades to production without a verified fallback.
20
-
21
- ---
22
-
23
- ## Trigger
24
-
25
- Activate this skill when:
26
- - User wants to upgrade a package or dependency
27
- - Framework has a new major version (React 17→19, Vue 2→3, Next.js 13→15)
28
- - A library is deprecated or has a security vulnerability (CVE)
29
- - User wants to replace one library with another
30
- - `project-audit` flagged outdated or risky dependencies (P1/P2)
31
- - User says "update packages", "upgrade to v5", "migrate to new version"
32
-
33
- ---
34
-
35
- ## Scope
36
-
37
- - ✅ Dependency version upgrades (patch, minor, major)
38
- - ✅ Framework version migrations with breaking changes
39
- - ✅ Library replacement (swap one library for another)
40
- - ✅ Package conflict resolution
41
- - ✅ Configuration updates required by new versions
42
- - ✅ Code changes required by breaking API changes
43
- - ✅ Rollback planning
44
-
45
- ---
46
-
47
- ## Non-goals
48
-
49
- - ❌ Do NOT upgrade everything at once — always upgrade incrementally
50
- - ❌ Do NOT skip reading the changelog/migration guide
51
- - ❌ Do NOT ignore peer dependency warnings without investigating
52
- - ❌ Do NOT apply breaking changes without a rollback plan
53
- - ❌ Do NOT upgrade dev dependencies and prod dependencies in the same step
54
-
55
- ---
56
-
57
- ## Severity Levels
58
-
59
- | Level | Meaning |
60
- |-------|---------|
61
- | P0 | Security vulnerability (CVE) — upgrade immediately |
62
- | P1 | Breaking change affecting core functionality |
63
- | P2 | Deprecated API with upcoming removal |
64
- | P3 | Minor version lag — low risk, upgrade when convenient |
65
-
66
- ---
67
-
68
- ## Migration Types
69
-
70
- | Type | Risk | Strategy |
71
- |------|------|----------|
72
- | **Patch** (1.0.x → 1.0.y) | Low | Upgrade directly, verify tests |
73
- | **Minor** (1.x.0 → 1.y.0) | Low-Medium | Read changelog, upgrade, verify |
74
- | **Major** (x.0.0 → y.0.0) | High | Read migration guide, upgrade incrementally, test thoroughly |
75
- | **Framework** (React 17→19) | Very High | Follow official migration guide step by step |
76
- | **Library swap** | High | Strangler fig pattern — migrate incrementally |
77
-
78
- ---
79
-
80
- ## Workflow
81
-
82
- ### Phase 1 — Audit Current State
83
-
84
- Before upgrading:
85
- 1. List all dependencies with current versions
86
- 2. Identify which are outdated (use `npm outdated` / `pnpm outdated`)
87
- 3. Check for known CVEs (`npm audit` / `pnpm audit`)
88
- 4. Classify each outdated package by migration type and risk
89
- 5. Check peer dependency constraints
90
-
91
- ```bash
92
- npm outdated # See what's outdated
93
- npm audit # Security vulnerabilities
94
- npx depcheck # Unused dependencies
95
- ```
96
-
97
- ---
98
-
99
- ### Phase 2 — Read Migration Guide
100
-
101
- For every major version upgrade:
102
- 1. Read the official CHANGELOG or migration guide
103
- 2. List all breaking changes that affect the project
104
- 3. List all deprecated APIs still in use
105
- 4. Estimate effort: number of files to change, complexity of changes
106
-
107
- Document findings before touching any code.
108
-
109
- ---
110
-
111
- ### Phase 3 — Plan the Migration
112
-
113
- Create an ordered upgrade sequence:
114
-
115
- **Rules:**
116
- - Security fixes first (P0)
117
- - Dev dependencies before prod dependencies (lower risk)
118
- - Upgrade one major dependency at a time — not everything together
119
- - Group related packages (e.g., all `@tanstack/*` together)
120
-
121
- **Example order:**
122
- ```
123
- Step 1: Security patch — package-x 2.1.0 → 2.1.4 (CVE fix)
124
- Step 2: Dev tools — eslint 8 → 9 (no runtime impact)
125
- Step 3: Minor upgrades — axios 1.4 → 1.7 (non-breaking)
126
- Step 4: Major upgrade — react-query 4 → 5 (breaking — separate PR)
127
- ```
128
-
129
- ---
130
-
131
- ### Phase 4 — Create Rollback Plan
132
-
133
- Before applying any change:
134
- ```
135
- Rollback method:
136
- Option A: git revert / git checkout to previous state
137
- Option B: Pin version in package.json to previous known-good version
138
- Option C: Feature flag to disable new behavior
139
-
140
- Rollback trigger:
141
- - Tests fail after upgrade
142
- - Runtime errors in staging
143
- - Performance regression detected
144
- ```
145
-
146
- ---
147
-
148
- ### Phase 5 — Execute the Upgrade
149
-
150
- For each package in the plan:
151
-
152
- 1. **Upgrade package:**
153
- ```bash
154
- npm install package-name@version
155
- # or
156
- pnpm add package-name@version
157
- ```
158
-
159
- 2. **Update configuration** (if required by new version)
160
-
161
- 3. **Fix breaking changes** in code:
162
- - Update import paths
163
- - Replace deprecated APIs
164
- - Update type signatures
165
- - Update config files
166
-
167
- 4. **Run verification** (see Phase 6) before moving to next package
168
-
169
- ---
170
-
171
- ### Phase 6 — Verify After Each Step
172
-
173
- After every upgrade step:
174
- - [ ] `npm install` / `pnpm install` — no resolution errors
175
- - [ ] `npm run build` — builds successfully
176
- - [ ] `npm run type-check` — no new TypeScript errors
177
- - [ ] `npm run lint` — clean
178
- - [ ] `npm test` — all tests pass
179
- - [ ] Manual smoke test of affected features
180
-
181
- **If any check fails → rollback this step before continuing.**
182
-
183
- ---
184
-
185
- ### Phase 7 — Library Replacement (Strangler Fig Pattern)
186
-
187
- When replacing one library with another (e.g., moment → date-fns):
188
-
189
- ```
190
- Step 1: Install new library alongside old one
191
- Step 2: Create adapter/wrapper that abstracts the library
192
- Step 3: Migrate usage file by file (not all at once)
193
- Step 4: Verify each file after migration
194
- Step 5: Remove old library when 100% migrated
195
- Step 6: Remove adapter if no longer needed
196
- ```
197
-
198
- This allows incremental migration with rollback possible at any step.
199
-
200
- ---
201
-
202
- ## Decision Tree
203
-
204
- ```
205
- What type of upgrade?
206
- ├── Patch/Minor → Upgrade directly, run tests
207
- ├── Major → Read changelog → plan → upgrade → verify
208
- └── Framework → Follow official migration guide step by step
209
-
210
- Security vulnerability?
211
- ├── P0 (critical) → Upgrade immediately, prioritize over other work
212
- └── P1/P2 → Include in next planned upgrade cycle
213
-
214
- Library replacement?
215
- └── Use strangler fig pattern — never replace all at once
216
- ```
217
-
218
- ---
219
-
220
- ## Output Format
221
-
222
- ```
223
- 📦 Migration Report
224
- ─────────────────────────────────────────────────
225
- Scope: [What was upgraded / migrated]
226
- Type: [Patch / Minor / Major / Framework / Library swap]
227
- Risk: [Low / Medium / High]
228
-
229
- Changes:
230
- ✅ package-x: 2.1.0 → 2.1.4 (CVE fix — no code changes)
231
- ✅ axios: 1.4.0 → 1.7.2 (minor — updated interceptor config)
232
- ✅ react: 18.2.0 → 19.0.0 (major — updated 12 files)
233
-
234
- Breaking changes handled:
235
- • [Description of breaking change and how it was resolved]
236
-
237
- 📋 Rollback plan:
238
- git revert <commit-hash> or pin to previous version in package.json
239
-
240
- ✅ Verification:
241
- Build: PASS
242
- Types: Clean
243
- Tests: PASS (N tests)
244
- Lint: Clean
245
- Smoke test: PASS
246
-
247
- ⚠️ Known issues / follow-up:
248
- • [Any remaining deprecated APIs to address]
249
- • [Any packages still pending upgrade]
250
- ```
251
-
252
- ---
253
-
254
- ## Validation Checklist
255
-
256
- - [ ] Migration guide read for every major version change
257
- - [ ] Rollback plan documented before starting
258
- - [ ] Upgraded incrementally — one major change at a time
259
- - [ ] `npm audit` clean after upgrade
260
- - [ ] Build, types, lint, tests all pass
261
- - [ ] Smoke test of affected features complete
262
- - [ ] No new peer dependency warnings left unresolved
263
- - [ ] Breaking changes documented in output
264
-
265
- ---
266
-
267
- ## Common Migration Cheat Sheet
268
-
269
- ```
270
- React 17 → 18: Concurrent mode, new root API, Suspense updates
271
- React 18 → 19: Server components, new hooks (useActionState), ref as prop
272
- Vue 2 → 3: Composition API, new reactivity system, breaking changes in lifecycle
273
- Next.js 12 → 13: App Router introduced (pages/ still works)
274
- Next.js 13 → 14: Server Actions stable, metadata API
275
- Next.js 14 → 15: React 19, async params, updated caching defaults
276
- TanStack Query 4 → 5: New API (no more isLoading/isError split), object syntax
277
- ```
278
-
279
- ---
280
-
281
- ## Examples
282
-
283
- See `examples/` folder.
284
-