opencode-agent-kit 1.0.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 (361) hide show
  1. package/README.md +796 -0
  2. package/bin/commands/init.mjs +221 -0
  3. package/bin/init.mjs +21 -0
  4. package/package.json +22 -0
  5. package/template/.opencode/agent-docs/backend/README.md +0 -0
  6. package/template/.opencode/agent-docs/backend/node/BACKEND_PATTERNS.md +82 -0
  7. package/template/.opencode/agent-docs/backend/node/BACKEND_QUICK_START.md +49 -0
  8. package/template/.opencode/agent-docs/frontend/next/README.md +0 -0
  9. package/template/.opencode/agent-docs/frontend/nuxt/API_PATTERNS.md +807 -0
  10. package/template/.opencode/agent-docs/frontend/nuxt/CHEATSHEET.md +676 -0
  11. package/template/.opencode/agent-docs/frontend/nuxt/COMPLETION_REPORT.md +613 -0
  12. package/template/.opencode/agent-docs/frontend/nuxt/EXAMPLES.md +956 -0
  13. package/template/.opencode/agent-docs/frontend/nuxt/INDEX.md +596 -0
  14. package/template/.opencode/agent-docs/frontend/nuxt/MCP_GUIDE.md +881 -0
  15. package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_CURRICULUM_30_DAYS.md +256 -0
  16. package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_CURRICULUM_CHECKLIST.md +156 -0
  17. package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_WEEKLY_ASSIGNMENTS.md +191 -0
  18. package/template/.opencode/agent-docs/frontend/nuxt/QUICK_START.md +509 -0
  19. package/template/.opencode/agent-docs/frontend/nuxt/README.md +506 -0
  20. package/template/.opencode/agent-docs/frontend/nuxt/README_AGENTS.md +140 -0
  21. package/template/.opencode/agent-docs/frontend/nuxt/README_DOCS.md +65 -0
  22. package/template/.opencode/agent-docs/frontend/nuxt/SUMMARY.md +474 -0
  23. package/template/.opencode/agent-docs/frontend/nuxt/TEAM_OPERATING_GUIDE.md +54 -0
  24. package/template/.opencode/agent-docs/frontend/nuxt/TESTING_GUIDE.md +904 -0
  25. package/template/.opencode/agent-docs/frontend/nuxt/WORKFLOWS.md +758 -0
  26. package/template/.opencode/agent-docs/frontend/react/API_PATTERNS.md +187 -0
  27. package/template/.opencode/agent-docs/frontend/react/CHEATSHEET.md +87 -0
  28. package/template/.opencode/agent-docs/frontend/react/INDEX.md +45 -0
  29. package/template/.opencode/agent-docs/frontend/react/QUICK_START.md +43 -0
  30. package/template/.opencode/agent-docs/frontend/react/README.md +159 -0
  31. package/template/.opencode/agent-docs/frontend/vue/README.md +0 -0
  32. package/template/.opencode/agent-docs/mobile/android/README.md +45 -0
  33. package/template/.opencode/agent-docs/mobile/flutter/README.md +44 -0
  34. package/template/.opencode/agents/android-developer.md +418 -0
  35. package/template/.opencode/agents/code-igniter-3-fullstack.md +345 -0
  36. package/template/.opencode/agents/code-reviewer.md +517 -0
  37. package/template/.opencode/agents/database-specialist.md +455 -0
  38. package/template/.opencode/agents/devops-specialist.md +562 -0
  39. package/template/.opencode/agents/flutter-developer.md +556 -0
  40. package/template/.opencode/agents/it-leader.md +911 -0
  41. package/template/.opencode/agents/laravel-advanced.md +691 -0
  42. package/template/.opencode/agents/node-backend-developer.md +343 -0
  43. package/template/.opencode/agents/nuxt-frontend-developer-mentor.md +402 -0
  44. package/template/.opencode/agents/nuxt-frontend-developer.md +1573 -0
  45. package/template/.opencode/agents/react-frontend-developer.md +1017 -0
  46. package/template/.opencode/agents/seo-specialist.md +681 -0
  47. package/template/.opencode/agents/ui-ux-designer.md +783 -0
  48. package/template/.opencode/commands/android-build/command.md +25 -0
  49. package/template/.opencode/commands/android-test/command.md +23 -0
  50. package/template/.opencode/commands/build-fix.md +29 -0
  51. package/template/.opencode/commands/checkpoint.md +74 -0
  52. package/template/.opencode/commands/code-review.md +40 -0
  53. package/template/.opencode/commands/e2e.md +363 -0
  54. package/template/.opencode/commands/eval.md +120 -0
  55. package/template/.opencode/commands/evolve.md +193 -0
  56. package/template/.opencode/commands/flutter-build/command.md +25 -0
  57. package/template/.opencode/commands/flutter-test/command.md +24 -0
  58. package/template/.opencode/commands/go-build.md +183 -0
  59. package/template/.opencode/commands/go-review.md +148 -0
  60. package/template/.opencode/commands/go-test.md +268 -0
  61. package/template/.opencode/commands/gpc-release/command.md +30 -0
  62. package/template/.opencode/commands/instinct-export.md +91 -0
  63. package/template/.opencode/commands/instinct-import.md +142 -0
  64. package/template/.opencode/commands/instinct-status.md +86 -0
  65. package/template/.opencode/commands/learn.md +70 -0
  66. package/template/.opencode/commands/multi-backend.md +158 -0
  67. package/template/.opencode/commands/multi-execute.md +310 -0
  68. package/template/.opencode/commands/multi-frontend.md +158 -0
  69. package/template/.opencode/commands/multi-plan.md +261 -0
  70. package/template/.opencode/commands/multi-workflow.md +183 -0
  71. package/template/.opencode/commands/orchestrate.md +172 -0
  72. package/template/.opencode/commands/plan.md +113 -0
  73. package/template/.opencode/commands/pm2.md +271 -0
  74. package/template/.opencode/commands/python-review.md +297 -0
  75. package/template/.opencode/commands/refactor-clean.md +28 -0
  76. package/template/.opencode/commands/sessions.md +305 -0
  77. package/template/.opencode/commands/setup-pm.md +80 -0
  78. package/template/.opencode/commands/skill-create.md +174 -0
  79. package/template/.opencode/commands/tdd.md +326 -0
  80. package/template/.opencode/commands/test-coverage.md +27 -0
  81. package/template/.opencode/commands/update-codemaps.md +17 -0
  82. package/template/.opencode/commands/update-docs.md +31 -0
  83. package/template/.opencode/commands/verify.md +59 -0
  84. package/template/.opencode/config.example.json +309 -0
  85. package/template/.opencode/config.json +341 -0
  86. package/template/.opencode/contexts/dev.md +20 -0
  87. package/template/.opencode/contexts/research.md +26 -0
  88. package/template/.opencode/contexts/review.md +22 -0
  89. package/template/.opencode/hooks/hooks.json +169 -0
  90. package/template/.opencode/instructions/INSTRUCTIONS.md +388 -0
  91. package/template/.opencode/package.json +5 -0
  92. package/template/.opencode/rules/README.md +82 -0
  93. package/template/.opencode/rules/android/gradle.md +62 -0
  94. package/template/.opencode/rules/android/testing.md +27 -0
  95. package/template/.opencode/rules/common/agents.md +49 -0
  96. package/template/.opencode/rules/common/coding-style.md +48 -0
  97. package/template/.opencode/rules/common/git-workflow.md +45 -0
  98. package/template/.opencode/rules/common/hooks.md +30 -0
  99. package/template/.opencode/rules/common/patterns.md +31 -0
  100. package/template/.opencode/rules/common/performance.md +55 -0
  101. package/template/.opencode/rules/common/security.md +29 -0
  102. package/template/.opencode/rules/common/testing.md +29 -0
  103. package/template/.opencode/rules/flutter/state-management.md +57 -0
  104. package/template/.opencode/rules/flutter/testing.md +42 -0
  105. package/template/.opencode/rules/golang/coding-style.md +26 -0
  106. package/template/.opencode/rules/golang/hooks.md +11 -0
  107. package/template/.opencode/rules/golang/patterns.md +39 -0
  108. package/template/.opencode/rules/golang/security.md +28 -0
  109. package/template/.opencode/rules/golang/testing.md +25 -0
  110. package/template/.opencode/rules/mobile/performance.md +36 -0
  111. package/template/.opencode/rules/python/coding-style.md +37 -0
  112. package/template/.opencode/rules/python/hooks.md +14 -0
  113. package/template/.opencode/rules/python/patterns.md +34 -0
  114. package/template/.opencode/rules/python/security.md +25 -0
  115. package/template/.opencode/rules/python/testing.md +33 -0
  116. package/template/.opencode/rules/typescript/coding-style.md +58 -0
  117. package/template/.opencode/rules/typescript/hooks.md +15 -0
  118. package/template/.opencode/rules/typescript/patterns.md +45 -0
  119. package/template/.opencode/rules/typescript/security.md +21 -0
  120. package/template/.opencode/rules/typescript/testing.md +11 -0
  121. package/template/.opencode/skills/api-documentation/SKILL.md +188 -0
  122. package/template/.opencode/skills/backend-patterns/SKILL.md +587 -0
  123. package/template/.opencode/skills/building-components/SKILL.md +37 -0
  124. package/template/.opencode/skills/building-components/references/accessibility.mdx +819 -0
  125. package/template/.opencode/skills/building-components/references/as-child.mdx +324 -0
  126. package/template/.opencode/skills/building-components/references/composition.mdx +239 -0
  127. package/template/.opencode/skills/building-components/references/data-attributes.mdx +413 -0
  128. package/template/.opencode/skills/building-components/references/definitions.mdx +258 -0
  129. package/template/.opencode/skills/building-components/references/design-tokens.mdx +57 -0
  130. package/template/.opencode/skills/building-components/references/docs.mdx +155 -0
  131. package/template/.opencode/skills/building-components/references/marketplaces.mdx +144 -0
  132. package/template/.opencode/skills/building-components/references/npm.mdx +166 -0
  133. package/template/.opencode/skills/building-components/references/polymorphism.mdx +583 -0
  134. package/template/.opencode/skills/building-components/references/principles.mdx +61 -0
  135. package/template/.opencode/skills/building-components/references/registry.mdx +169 -0
  136. package/template/.opencode/skills/building-components/references/state.mdx +99 -0
  137. package/template/.opencode/skills/building-components/references/styling.mdx +286 -0
  138. package/template/.opencode/skills/building-components/references/types.mdx +191 -0
  139. package/template/.opencode/skills/clickhouse-io/SKILL.md +429 -0
  140. package/template/.opencode/skills/coding-standards/SKILL.md +520 -0
  141. package/template/.opencode/skills/configure-ecc/SKILL.md +298 -0
  142. package/template/.opencode/skills/continuous-learning/SKILL.md +110 -0
  143. package/template/.opencode/skills/continuous-learning/config.json +18 -0
  144. package/template/.opencode/skills/continuous-learning/evaluate-session.sh +60 -0
  145. package/template/.opencode/skills/continuous-learning-v2/SKILL.md +284 -0
  146. package/template/.opencode/skills/continuous-learning-v2/agents/observer.md +137 -0
  147. package/template/.opencode/skills/continuous-learning-v2/agents/start-observer.sh +134 -0
  148. package/template/.opencode/skills/continuous-learning-v2/config.json +41 -0
  149. package/template/.opencode/skills/continuous-learning-v2/hooks/observe.sh +153 -0
  150. package/template/.opencode/skills/continuous-learning-v2/scripts/instinct-cli.py +489 -0
  151. package/template/.opencode/skills/continuous-learning-v2/scripts/test_parse_instinct.py +82 -0
  152. package/template/.opencode/skills/dart-add-unit-test/SKILL.md +122 -0
  153. package/template/.opencode/skills/dart-build-cli-app/SKILL.md +185 -0
  154. package/template/.opencode/skills/dart-collect-coverage/SKILL.md +141 -0
  155. package/template/.opencode/skills/dart-fix-runtime-errors/SKILL.md +166 -0
  156. package/template/.opencode/skills/dart-generate-test-mocks/SKILL.md +155 -0
  157. package/template/.opencode/skills/dart-migrate-to-checks-package/SKILL.md +126 -0
  158. package/template/.opencode/skills/dart-resolve-package-conflicts/SKILL.md +116 -0
  159. package/template/.opencode/skills/dart-run-static-analysis/SKILL.md +104 -0
  160. package/template/.opencode/skills/dart-use-pattern-matching/SKILL.md +146 -0
  161. package/template/.opencode/skills/django-patterns/SKILL.md +733 -0
  162. package/template/.opencode/skills/django-security/SKILL.md +592 -0
  163. package/template/.opencode/skills/django-tdd/SKILL.md +728 -0
  164. package/template/.opencode/skills/django-verification/SKILL.md +460 -0
  165. package/template/.opencode/skills/eval-harness/SKILL.md +227 -0
  166. package/template/.opencode/skills/firebase-basics/SKILL.md +103 -0
  167. package/template/.opencode/skills/firebase-basics/references/additional-skills.md +113 -0
  168. package/template/.opencode/skills/firebase-basics/references/cli-usage.md +31 -0
  169. package/template/.opencode/skills/firebase-basics/references/client-library-usage.md +45 -0
  170. package/template/.opencode/skills/firebase-basics/references/core-concepts.md +61 -0
  171. package/template/.opencode/skills/firebase-basics/references/iac-usage.md +40 -0
  172. package/template/.opencode/skills/firebase-basics/references/iam-security.md +74 -0
  173. package/template/.opencode/skills/firebase-basics/references/mcp-usage.md +63 -0
  174. package/template/.opencode/skills/flutter/SKILL.md +292 -0
  175. package/template/.opencode/skills/flutter-add-integration-test/SKILL.md +163 -0
  176. package/template/.opencode/skills/flutter-add-widget-preview/SKILL.md +145 -0
  177. package/template/.opencode/skills/flutter-add-widget-test/SKILL.md +154 -0
  178. package/template/.opencode/skills/flutter-apply-architecture-best-practices/SKILL.md +162 -0
  179. package/template/.opencode/skills/flutter-build-responsive-layout/SKILL.md +139 -0
  180. package/template/.opencode/skills/flutter-fix-layout-issues/SKILL.md +130 -0
  181. package/template/.opencode/skills/flutter-implement-json-serialization/SKILL.md +153 -0
  182. package/template/.opencode/skills/flutter-setup-declarative-routing/SKILL.md +255 -0
  183. package/template/.opencode/skills/flutter-setup-localization/SKILL.md +210 -0
  184. package/template/.opencode/skills/flutter-use-http-package/SKILL.md +174 -0
  185. package/template/.opencode/skills/frontend-design/SKILL.md +89 -0
  186. package/template/.opencode/skills/frontend-patterns/SKILL.md +631 -0
  187. package/template/.opencode/skills/golang-patterns/SKILL.md +673 -0
  188. package/template/.opencode/skills/golang-testing/SKILL.md +719 -0
  189. package/template/.opencode/skills/impeccable/SKILL.md +165 -0
  190. package/template/.opencode/skills/impeccable/agents/impeccable-asset-producer.md +101 -0
  191. package/template/.opencode/skills/impeccable/reference/adapt.md +190 -0
  192. package/template/.opencode/skills/impeccable/reference/animate.md +175 -0
  193. package/template/.opencode/skills/impeccable/reference/audit.md +133 -0
  194. package/template/.opencode/skills/impeccable/reference/bolder.md +113 -0
  195. package/template/.opencode/skills/impeccable/reference/brand.md +118 -0
  196. package/template/.opencode/skills/impeccable/reference/clarify.md +174 -0
  197. package/template/.opencode/skills/impeccable/reference/codex.md +105 -0
  198. package/template/.opencode/skills/impeccable/reference/cognitive-load.md +106 -0
  199. package/template/.opencode/skills/impeccable/reference/color-and-contrast.md +105 -0
  200. package/template/.opencode/skills/impeccable/reference/colorize.md +154 -0
  201. package/template/.opencode/skills/impeccable/reference/craft.md +123 -0
  202. package/template/.opencode/skills/impeccable/reference/critique.md +273 -0
  203. package/template/.opencode/skills/impeccable/reference/delight.md +302 -0
  204. package/template/.opencode/skills/impeccable/reference/distill.md +111 -0
  205. package/template/.opencode/skills/impeccable/reference/document.md +427 -0
  206. package/template/.opencode/skills/impeccable/reference/extract.md +69 -0
  207. package/template/.opencode/skills/impeccable/reference/harden.md +347 -0
  208. package/template/.opencode/skills/impeccable/reference/heuristics-scoring.md +234 -0
  209. package/template/.opencode/skills/impeccable/reference/interaction-design.md +195 -0
  210. package/template/.opencode/skills/impeccable/reference/layout.md +141 -0
  211. package/template/.opencode/skills/impeccable/reference/live.md +622 -0
  212. package/template/.opencode/skills/impeccable/reference/motion-design.md +109 -0
  213. package/template/.opencode/skills/impeccable/reference/onboard.md +234 -0
  214. package/template/.opencode/skills/impeccable/reference/optimize.md +258 -0
  215. package/template/.opencode/skills/impeccable/reference/overdrive.md +130 -0
  216. package/template/.opencode/skills/impeccable/reference/personas.md +179 -0
  217. package/template/.opencode/skills/impeccable/reference/polish.md +242 -0
  218. package/template/.opencode/skills/impeccable/reference/product.md +62 -0
  219. package/template/.opencode/skills/impeccable/reference/quieter.md +99 -0
  220. package/template/.opencode/skills/impeccable/reference/responsive-design.md +114 -0
  221. package/template/.opencode/skills/impeccable/reference/shape.md +165 -0
  222. package/template/.opencode/skills/impeccable/reference/spatial-design.md +100 -0
  223. package/template/.opencode/skills/impeccable/reference/teach.md +156 -0
  224. package/template/.opencode/skills/impeccable/reference/typeset.md +124 -0
  225. package/template/.opencode/skills/impeccable/reference/typography.md +159 -0
  226. package/template/.opencode/skills/impeccable/reference/ux-writing.md +107 -0
  227. package/template/.opencode/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  228. package/template/.opencode/skills/impeccable/scripts/command-metadata.json +94 -0
  229. package/template/.opencode/skills/impeccable/scripts/critique-storage.mjs +242 -0
  230. package/template/.opencode/skills/impeccable/scripts/design-parser.mjs +820 -0
  231. package/template/.opencode/skills/impeccable/scripts/detect-csp.mjs +198 -0
  232. package/template/.opencode/skills/impeccable/scripts/detect.mjs +21 -0
  233. package/template/.opencode/skills/impeccable/scripts/impeccable-paths.mjs +110 -0
  234. package/template/.opencode/skills/impeccable/scripts/is-generated.mjs +69 -0
  235. package/template/.opencode/skills/impeccable/scripts/live-accept.mjs +595 -0
  236. package/template/.opencode/skills/impeccable/scripts/live-browser-session.js +123 -0
  237. package/template/.opencode/skills/impeccable/scripts/live-browser.js +4860 -0
  238. package/template/.opencode/skills/impeccable/scripts/live-complete.mjs +75 -0
  239. package/template/.opencode/skills/impeccable/scripts/live-completion.mjs +18 -0
  240. package/template/.opencode/skills/impeccable/scripts/live-inject.mjs +446 -0
  241. package/template/.opencode/skills/impeccable/scripts/live-poll.mjs +200 -0
  242. package/template/.opencode/skills/impeccable/scripts/live-resume.mjs +48 -0
  243. package/template/.opencode/skills/impeccable/scripts/live-server.mjs +838 -0
  244. package/template/.opencode/skills/impeccable/scripts/live-session-store.mjs +254 -0
  245. package/template/.opencode/skills/impeccable/scripts/live-status.mjs +47 -0
  246. package/template/.opencode/skills/impeccable/scripts/live-wrap.mjs +632 -0
  247. package/template/.opencode/skills/impeccable/scripts/live.mjs +247 -0
  248. package/template/.opencode/skills/impeccable/scripts/load-context.mjs +141 -0
  249. package/template/.opencode/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  250. package/template/.opencode/skills/impeccable/scripts/pin.mjs +214 -0
  251. package/template/.opencode/skills/iterative-retrieval/SKILL.md +202 -0
  252. package/template/.opencode/skills/java-coding-standards/SKILL.md +138 -0
  253. package/template/.opencode/skills/jetpack-compose/.skillfish.json +10 -0
  254. package/template/.opencode/skills/jetpack-compose/SKILL.md +420 -0
  255. package/template/.opencode/skills/jpa-patterns/SKILL.md +141 -0
  256. package/template/.opencode/skills/nutrient-document-processing/SKILL.md +165 -0
  257. package/template/.opencode/skills/nuxt-ui/SKILL.md +334 -0
  258. package/template/.opencode/skills/nuxt-ui/references/components.md +377 -0
  259. package/template/.opencode/skills/nuxt-ui/references/composables.md +127 -0
  260. package/template/.opencode/skills/nuxt-ui/references/layouts/chat.md +266 -0
  261. package/template/.opencode/skills/nuxt-ui/references/layouts/dashboard.md +220 -0
  262. package/template/.opencode/skills/nuxt-ui/references/layouts/docs.md +141 -0
  263. package/template/.opencode/skills/nuxt-ui/references/layouts/editor.md +168 -0
  264. package/template/.opencode/skills/nuxt-ui/references/layouts/page.md +260 -0
  265. package/template/.opencode/skills/nuxt-ui/references/theming.md +427 -0
  266. package/template/.opencode/skills/postgres-patterns/SKILL.md +146 -0
  267. package/template/.opencode/skills/project-guidelines-example/SKILL.md +345 -0
  268. package/template/.opencode/skills/python-patterns/SKILL.md +749 -0
  269. package/template/.opencode/skills/python-testing/SKILL.md +815 -0
  270. package/template/.opencode/skills/security-review/SKILL.md +494 -0
  271. package/template/.opencode/skills/security-review/cloud-infrastructure-security.md +361 -0
  272. package/template/.opencode/skills/shadcn-ui/README.md +248 -0
  273. package/template/.opencode/skills/shadcn-ui/SKILL.md +326 -0
  274. package/template/.opencode/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
  275. package/template/.opencode/skills/shadcn-ui/examples/data-table.tsx +313 -0
  276. package/template/.opencode/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
  277. package/template/.opencode/skills/shadcn-ui/resources/component-catalog.md +481 -0
  278. package/template/.opencode/skills/shadcn-ui/resources/customization-guide.md +516 -0
  279. package/template/.opencode/skills/shadcn-ui/resources/migration-guide.md +463 -0
  280. package/template/.opencode/skills/shadcn-ui/resources/setup-guide.md +412 -0
  281. package/template/.opencode/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
  282. package/template/.opencode/skills/springboot-patterns/SKILL.md +304 -0
  283. package/template/.opencode/skills/springboot-security/SKILL.md +119 -0
  284. package/template/.opencode/skills/springboot-tdd/SKILL.md +157 -0
  285. package/template/.opencode/skills/springboot-verification/SKILL.md +100 -0
  286. package/template/.opencode/skills/strategic-compact/SKILL.md +63 -0
  287. package/template/.opencode/skills/strategic-compact/suggest-compact.sh +52 -0
  288. package/template/.opencode/skills/tdd-workflow/SKILL.md +409 -0
  289. package/template/.opencode/skills/vercel-composition-patterns/AGENTS.md +946 -0
  290. package/template/.opencode/skills/vercel-composition-patterns/SKILL.md +89 -0
  291. package/template/.opencode/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  292. package/template/.opencode/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
  293. package/template/.opencode/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  294. package/template/.opencode/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
  295. package/template/.opencode/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
  296. package/template/.opencode/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
  297. package/template/.opencode/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
  298. package/template/.opencode/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
  299. package/template/.opencode/skills/vercel-react-best-practices/AGENTS.md +2934 -0
  300. package/template/.opencode/skills/vercel-react-best-practices/SKILL.md +136 -0
  301. package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  302. package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  303. package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  304. package/template/.opencode/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  305. package/template/.opencode/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  306. package/template/.opencode/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  307. package/template/.opencode/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  308. package/template/.opencode/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  309. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  310. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  311. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  312. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  313. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  314. package/template/.opencode/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  315. package/template/.opencode/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  316. package/template/.opencode/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  317. package/template/.opencode/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  318. package/template/.opencode/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  319. package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  320. package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  321. package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  322. package/template/.opencode/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  323. package/template/.opencode/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  324. package/template/.opencode/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  325. package/template/.opencode/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  326. package/template/.opencode/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  327. package/template/.opencode/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  328. package/template/.opencode/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  329. package/template/.opencode/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  330. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  331. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  332. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  333. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  334. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  335. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  336. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  337. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  338. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  339. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  340. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  341. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  342. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  343. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  344. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  345. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  346. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  347. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  348. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  349. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  350. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  351. package/template/.opencode/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  352. package/template/.opencode/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  353. package/template/.opencode/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  354. package/template/.opencode/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  355. package/template/.opencode/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  356. package/template/.opencode/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  357. package/template/.opencode/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  358. package/template/.opencode/skills/verification-loop/SKILL.md +120 -0
  359. package/template/.opencode/skills/web-design-guidelines/SKILL.md +39 -0
  360. package/template/AGENTS.md +32 -0
  361. package/template/opencode.json +354 -0
@@ -0,0 +1,256 @@
1
+ # Kurikulum Mentor 30 Hari (Jalur Ekosistem Nuxt)
2
+
3
+ Roadmap 1 bulan ini dirancang untuk developer yang **sudah bisa coding web dasar**, lalu ingin menguatkan fundamental yang relevan langsung ke stack:
4
+
5
+ - **Node.js**
6
+ - **Vue.js 3**
7
+ - **Nuxt.js 4**
8
+ - **Nuxt UI**
9
+ - **Tailwind CSS**
10
+
11
+ Program ini juga dioptimalkan untuk:
12
+
13
+ - **UI/UX Designer yang terbiasa dengan Figma** dan ingin transisi ke implementasi
14
+ - **Karyawan/profesional teknis** yang membutuhkan struktur belajar mingguan dengan evaluasi progres
15
+ - Sebagian kecil peserta bisa berasal dari mahasiswa/alumni IT
16
+
17
+ ## Format Program
18
+
19
+ - Durasi: **4 minggu**
20
+ - Hari aktif: **5 hari kerja per minggu (Senin-Jumat)**
21
+ - Total sesi: **20 hari**
22
+ - Waktu harian: **90-150 menit**
23
+ - Komposisi: **25% konsep + 75% praktik**
24
+
25
+ ## Jalur Belajar
26
+
27
+ Gunakan jalur sesuai latar belakang peserta:
28
+
29
+ 1. **Jalur Desainer (Figma -> Code)**
30
+ - fokus translasi design system ke Nuxt UI + Tailwind
31
+ - fokus QA visual, konsistensi state, dan kualitas handoff
32
+
33
+ 2. **Jalur Profesional (Karyawan Umum)**
34
+ - fokus fondasi arsitektur, debugging mindset, dan disiplin delivery
35
+ - fokus tugas mingguan, komunikasi teknis, dan penilaian rubrik
36
+
37
+ ## Target Hasil
38
+
39
+ Setelah 30 hari, peserta mampu:
40
+
41
+ 1. Memahami konteks runtime Node.js untuk pengembangan Nuxt
42
+ 2. Membangun fitur Nuxt berbasis Vue Composition API
43
+ 3. Menggunakan Nuxt UI secara konsisten untuk sistem antarmuka
44
+ 4. Styling cepat dan maintainable dengan Tailwind CSS
45
+ 5. Mengimplementasikan alur produksi dasar: data fetching, validation, error handling, testing mindset
46
+
47
+ ---
48
+
49
+ ## Minggu 1 - Node.js + Fundamental Runtime Nuxt
50
+
51
+ **Tujuan minggu:** memahami fondasi runtime agar implementasi Nuxt tidak sekadar "jalan", tetapi tepat dalam konteks server/client.
52
+
53
+ ### Hari 1 (Senin): Runtime Node.js untuk Frontend Engineer
54
+ - Materi: event loop mental model, process lifecycle, env vars, npm scripts
55
+ - Praktik: bedah `package.json` scripts (`dev`, `build`, `preview`)
56
+ - Output: catatan alur eksekusi project dari `npm run dev` sampai app running
57
+
58
+ **Fokus jalur desainer:** pahami kenapa preview di dev environment bisa berbeda dari static mock Figma.
59
+ **Fokus jalur profesional:** pahami lifecycle command dan dependency graph sederhana untuk kebutuhan delivery tim.
60
+
61
+ ### Hari 2 (Selasa): Konteks Eksekusi Nuxt (Server vs Client)
62
+ - Materi: SSR context, hydration concept, kapan kode jalan di server/client
63
+ - Praktik: buat contoh aman untuk akses browser API (`localStorage` guard)
64
+ - Output: 1 halaman demo server/client-safe behavior
65
+
66
+ **Checkpoint wajib sebelum lanjut:** peserta harus bisa menjelaskan CSR, SSR, dan hydration dengan contoh Nuxt sederhana.
67
+
68
+ ### Hari 3 (Rabu): Pendalaman Struktur Proyek Nuxt
69
+ - Materi: `app/`, `pages/`, `layouts/`, `components/`, `composables/`, `server/api/`
70
+ - Praktik: susun mini structure feature (list + detail)
71
+ - Output: struktur folder feature yang rapi
72
+
73
+ **Fokus jalur desainer:** mapping page section Figma ke `pages/` + reusable blocks ke `components/`.
74
+ **Fokus jalur profesional:** pahami separation of concerns antara UI, composable, dan API layer.
75
+
76
+ ### Hari 4 (Kamis): Nuxt Routing + Layout + Middleware Basic
77
+ - Materi: file-based routing, nested route, route middleware basics
78
+ - Praktik: tambah auth-like middleware sederhana (dummy check)
79
+ - Output: alur navigasi + guard route dasar
80
+
81
+ ### Hari 5 (Jumat): Fundamental Alur Data Nuxt
82
+ - Materi: `useFetch` vs `useAsyncData` vs `$fetch`, kapan pakai masing-masing
83
+ - Praktik: implement 2 halaman data dengan strategi fetching berbeda
84
+ - Output: perbandingan singkat plus keputusan teknik
85
+
86
+ **Deliverable tambahan:** catatan keputusan kapan pakai `useFetch`, `useAsyncData`, atau pembungkus API proyek.
87
+ **Guardrail wajib:** dokumentasikan cara mencegah hydration mismatch pada implementasi API di tugas hari ini.
88
+
89
+ ---
90
+
91
+ ## Minggu 2 - Vue 3 + TypeScript Fundamental Terapan
92
+
93
+ **Tujuan minggu:** menguasai pola Vue modern dan type safety yang dipakai harian di Nuxt app.
94
+
95
+ ### Hari 6 (Senin): Arsitektur Reactivity
96
+ - Materi: `ref`, `reactive`, `computed`, `watch`, efek ke re-render
97
+ - Praktik: filter/sort list berbasis computed
98
+ - Output: komponen list reactive dengan derived state bersih
99
+
100
+ ### Hari 7 (Selasa): Kontrak Komponen
101
+ - Materi: props, emits, slots, one-way data flow
102
+ - Praktik: buat komponen card reusable + slot action
103
+ - Output: 2-3 komponen reusable dengan contract jelas
104
+
105
+ **Fokus jalur desainer:** terjemahkan component variants dari Figma ke props/slots yang skalabel.
106
+
107
+ ### Hari 8 (Rabu): Desain Composable
108
+ - Materi: extract logic dari komponen ke composable
109
+ - Praktik: `useProducts` atau `useMarkets` composable
110
+ - Output: composable dengan loading/error state dan typed return
111
+
112
+ ### Hari 9 (Kamis): TypeScript for Nuxt/Vue
113
+ - Materi: typing props, emits, API response, union + narrowing
114
+ - Praktik: tambah tipe pada flow data fetch + form state
115
+ - Output: modul fitur typed end-to-end dasar
116
+
117
+ **Fokus jalur profesional:** jelaskan error type paling sering dan cara narrowing sederhana untuk mengurangi bug produksi.
118
+
119
+ ### Hari 10 (Jumat): Weekly Mini Build
120
+ - Materi: integrasi konsep minggu 2
121
+ - Praktik: build fitur "catalog/list + detail + action" kecil
122
+ - Output: mini fitur dengan arsitektur Vue yang rapi
123
+
124
+ ---
125
+
126
+ ## Minggu 3 - Nuxt UI + Styling Sistematis Tailwind CSS
127
+
128
+ **Tujuan minggu:** membangun UI yang konsisten, cepat, dan maintainable dengan Nuxt UI + Tailwind.
129
+
130
+ Minggu ini adalah minggu utama untuk peserta dari latar UI/UX.
131
+
132
+ ### Hari 11 (Senin): Alur Kerja Nuxt UI Component-First
133
+ - Materi: mapping kebutuhan UI ke komponen Nuxt UI
134
+ - Praktik: refactor elemen custom ke `UCard`, `UButton`, `UInput`, `UBadge`
135
+ - Output: 1 halaman UI dengan adopsi Nuxt UI dominan
136
+
137
+ **Deliverable tambahan:** tabel mapping komponen `Figma -> Nuxt UI`.
138
+
139
+ ### Hari 12 (Selasa): Pola Form dengan Nuxt UI
140
+ - Materi: `UForm`, validasi input, error presentation
141
+ - Praktik: form create/edit dengan state submit dan error
142
+ - Output: form flow lengkap (validasi + feedback)
143
+
144
+ ### Hari 13 (Rabu): Fundamental Tailwind untuk Nuxt
145
+ - Materi: utility-first workflow, spacing scale, responsive modifiers, state modifiers
146
+ - Praktik: styling halaman dengan utility classes konsisten
147
+ - Output: style guide mini (spacing + typography + color usage)
148
+
149
+ **Deliverable tambahan:** tabel mapping token `Figma token -> Tailwind utility/theme`.
150
+
151
+ ### Hari 14 (Kamis): Pola Maintainability Tailwind
152
+ - Materi: class composition strategy, reusable class pattern, avoiding class chaos
153
+ - Praktik: rapikan class di beberapa komponen nyata
154
+ - Output: komponen lebih bersih dan mudah maintain
155
+
156
+ ### Hari 15 (Jumat): Hari Review Konsistensi UI
157
+ - Materi: visual consistency, accessibility quick audit
158
+ - Praktik: audit 1 alur halaman (list -> detail -> submit)
159
+ - Output: daftar perbaikan UI/UX prioritas tinggi
160
+
161
+ **Deliverable tambahan:** lembar QA visual (state: default/hover/focus/disabled/loading).
162
+
163
+ ---
164
+
165
+ ## Minggu 4 - Fundamental Produksi (Delivery Aplikasi Nuxt)
166
+
167
+ **Tujuan minggu:** menggabungkan semua skill menjadi mini app siap demo dengan standar engineering dasar.
168
+
169
+ ### Hari 16 (Senin): API Integration Strategy
170
+ - Materi: project API pattern (`useApi`/fetch wrapper), error normalization
171
+ - Praktik: integrasi 2 endpoint (list + mutation)
172
+ - Output: fitur data dengan success/error handling konsisten
173
+
174
+ ### Hari 17 (Selasa): State Management Strategy
175
+ - Materi: local state vs shared state, kapan pakai Pinia/useState/composable
176
+ - Praktik: implement shared state untuk satu alur utama
177
+ - Output: state architecture ringkas + alasan pemilihan
178
+
179
+ ### Hari 18 (Rabu): Performance + Accessibility Baseline
180
+ - Materi: lazy components, payload awareness, semantic/keyboard basics
181
+ - Praktik: optimasi 1 halaman berat + a11y cleanup
182
+ - Output: sebelum/sesudah (catatan improvement)
183
+
184
+ ### Hari 19 (Kamis): Mindset Testing untuk Aplikasi Nuxt
185
+ - Materi: apa yang dites di unit/integration/E2E
186
+ - Praktik: tulis test plan untuk alur kritikal
187
+ - Output: 8-12 test case prioritas (dengan level test)
188
+
189
+ Tambahkan minimal 1 skenario verifikasi: "tidak muncul hydration mismatch warning pada flow utama".
190
+
191
+ ### Hari 20 (Jumat): Demo Final dan Review
192
+ - Materi: technical storytelling, trade-off explanation
193
+ - Praktik: demo mini app + jelaskan keputusan arsitektur
194
+ - Output: mini app + review checklist + backlog improvement
195
+
196
+ **Mode presentasi tim (opsional):** presentasi 5-7 menit dengan struktur problem, approach, demo, trade-off.
197
+
198
+ ---
199
+
200
+ ## Rubrik Evaluasi Mingguan (Skor 1-5)
201
+
202
+ Nilai di akhir tiap minggu:
203
+
204
+ 1. Pemahaman runtime dan framework
205
+ 2. Kualitas struktur komponen/composable
206
+ 3. Konsistensi Nuxt UI + Tailwind usage
207
+ 4. Kualitas error handling dan state flow
208
+ 5. Kesiapan ke praktik produksi
209
+
210
+ Tambahkan dimensi khusus:
211
+
212
+ 6. Translasi desain ke code (khusus jalur desainer)
213
+ 7. Kejelasan reasoning teknis saat presentasi (khusus jalur profesional)
214
+
215
+ Wajib tulis:
216
+
217
+ - 2 kekuatan utama minggu ini
218
+ - 2 gap paling penting untuk ditutup
219
+ - 1 fokus wajib minggu depan
220
+
221
+ ## Template Sesi Harian
222
+
223
+ Gunakan format ini tiap hari:
224
+
225
+ ```markdown
226
+ Hari ke-[x]
227
+
228
+ 1) Refresh konsep (20-30 menit)
229
+ - [konsep yang ditargetkan]
230
+
231
+ 2) Praktik coding terapan (60-100 menit)
232
+ - [tugas implementasi nyata]
233
+
234
+ 3) Review dan refleksi (10-20 menit)
235
+ - Apa yang berjalan baik?
236
+ - Apa yang bermasalah?
237
+ - Apa yang harus ditingkatkan besok?
238
+ ```
239
+
240
+ ## Setelah 30 Hari (Jalur Lanjutan)
241
+
242
+ Pilih satu jalur lanjutan:
243
+
244
+ 1. Bangun 2 mini apps Nuxt dengan scope berbeda (dashboard + form-heavy app)
245
+ 2. Implement testing nyata (Vitest + Playwright) untuk 1 flow end-to-end
246
+ 3. Dalami Nuxt server/api patterns + auth flow basics
247
+ 4. Dalami performance profiling dan deployment readiness checklist
248
+
249
+ ## Dokumen Pendamping
250
+
251
+ - Checklist harian: `MENTOR_CURRICULUM_CHECKLIST.md`
252
+ - Tugas mingguan + rubrik penilaian: `MENTOR_WEEKLY_ASSIGNMENTS.md`
253
+
254
+ ---
255
+
256
+ _Roadmap ini dipakai oleh mentor agent untuk pembelajaran fundamental yang lebih tepat sasaran ke ekosistem Nuxt, bukan kelas pemrograman web dari nol._
@@ -0,0 +1,156 @@
1
+ # Checklist Kurikulum Mentor (30 Hari)
2
+
3
+ Checklist harian untuk menjalankan roadmap 30 hari jalur ekosistem Nuxt.
4
+
5
+ Gunakan status:
6
+
7
+ - `[ ]` belum dikerjakan
8
+ - `[~]` sedang dikerjakan
9
+ - `[x]` selesai
10
+
11
+ ## Minggu 1 - Node.js + Fundamental Runtime Nuxt
12
+
13
+ ### Hari 1 - Runtime Node.js
14
+ - [ ] Pahami event loop mental model
15
+ - [ ] Tinjau `package.json` scripts (`dev/build/preview`)
16
+ - [ ] Jalankan app dan dokumentasikan lifecycle eksekusi
17
+ - [ ] Tulis 3 insight teknis
18
+
19
+ ### Hari 2 - Konteks Server vs Client di Nuxt
20
+ - [ ] Jelaskan perbedaan kode yang jalan di server vs client
21
+ - [ ] Implement guard browser API (`localStorage/window`)
22
+ - [ ] Verifikasi tidak ada runtime error di SSR context
23
+ - [ ] Catat 2 potensi hydration issue
24
+ - [ ] Jelaskan ulang konsep CSR, SSR, dan hydration dengan contoh Nuxt sederhana
25
+
26
+ ### Hari 3 - Struktur Nuxt
27
+ - [ ] Audit struktur `app/`, `pages/`, `components/`, `composables/`, `server/api/`
28
+ - [ ] Buat struktur folder feature kecil
29
+ - [ ] Pisahkan logic UI dan logic data
30
+ - [ ] Tinjau konsistensi penamaan
31
+
32
+ ### Hari 4 - Routing, Layout, Middleware
33
+ - [ ] Buat minimal 2 route + 1 nested route
34
+ - [ ] Gunakan layout yang sesuai
35
+ - [ ] Implement middleware check sederhana
36
+ - [ ] Verifikasi alur redirect/guard
37
+
38
+ ### Hari 5 - Strategi Data Fetching
39
+ - [ ] Implement use case `useFetch`
40
+ - [ ] Implement use case `useAsyncData`
41
+ - [ ] Tulis kapan pakai masing-masing
42
+ - [ ] Dokumentasikan trade-off singkat
43
+ - [ ] Dokumentasikan langkah pencegahan hydration mismatch pada fetch API
44
+
45
+ ## Minggu 2 - Vue 3 + TypeScript Terapan
46
+
47
+ ### Hari 6 - Reactivity
48
+ - [ ] Gunakan `ref` dan `computed` untuk derived state
49
+ - [ ] Hindari logic berat di template
50
+ - [ ] Verifikasi perubahan state memicu UI sesuai ekspektasi
51
+ - [ ] Catat 2 anti-pattern yang dihindari
52
+
53
+ ### Hari 7 - Kontrak Komponen
54
+ - [ ] Definisikan props yang jelas
55
+ - [ ] Implement emits untuk interaction
56
+ - [ ] Gunakan slot untuk fleksibilitas
57
+ - [ ] Verifikasi komponen reusable di 2 konteks
58
+
59
+ ### Hari 8 - Desain Composable
60
+ - [ ] Ekstrak logic dari component ke composable
61
+ - [ ] Kembalikan state `data/loading/error`
62
+ - [ ] Tambahkan typing return composable
63
+ - [ ] Uji composable pada minimal 1 halaman
64
+
65
+ ### Hari 9 - TypeScript di Nuxt/Vue
66
+ - [ ] Type props, emits, dan API response
67
+ - [ ] Gunakan union type atau narrowing pada alur error
68
+ - [ ] Hindari `any` di code baru
69
+ - [ ] Catat 3 error TS yang berhasil diselesaikan
70
+
71
+ ### Hari 10 - Mini Build Mingguan
72
+ - [ ] Bangun mini fitur end-to-end
73
+ - [ ] Terapkan composable + typed flow
74
+ - [ ] Tangani state loading/error/empty
75
+ - [ ] Demo singkat hasil minggu 2
76
+
77
+ ## Minggu 3 - Nuxt UI + Styling Tailwind
78
+
79
+ ### Hari 11 - Nuxt UI Component-First
80
+ - [ ] Mapping Figma/custom blocks ke komponen Nuxt UI
81
+ - [ ] Gunakan `UCard/UButton/UInput/UBadge` sesuai kebutuhan
82
+ - [ ] Hindari custom HTML jika sudah ada padanan Nuxt UI
83
+ - [ ] Tulis daftar komponen yang dimigrasikan
84
+
85
+ ### Hari 12 - Pola Form Nuxt UI
86
+ - [ ] Implement form dengan feedback error
87
+ - [ ] Handle submit/pending state
88
+ - [ ] Verifikasi state UX (default/error/success)
89
+ - [ ] Tinjau konsistensi label dan hint
90
+
91
+ ### Hari 13 - Fundamental Tailwind
92
+ - [ ] Terapkan spacing/typography scale konsisten
93
+ - [ ] Gunakan responsive modifiers
94
+ - [ ] Gunakan state modifier (`hover/focus/disabled`)
95
+ - [ ] Buat token mapping mini dari design ke class
96
+
97
+ ### Hari 14 - Maintainability Tailwind
98
+ - [ ] Rapikan class yang terlalu panjang/duplikat
99
+ - [ ] Kelompokkan class secara konsisten
100
+ - [ ] Tinjau keterbacaan komponen
101
+ - [ ] Catat 3 improvement pada maintainability
102
+
103
+ ### Hari 15 - Review Konsistensi UI
104
+ - [ ] Audit visual consistency lintas halaman
105
+ - [ ] Cek state UI utama (default/hover/focus/disabled/loading)
106
+ - [ ] Cek aksesibilitas dasar (kontras + keyboard)
107
+ - [ ] Susun backlog perbaikan prioritas
108
+
109
+ ## Minggu 4 - Fundamental Produksi
110
+
111
+ ### Hari 16 - Strategi Integrasi API
112
+ - [ ] Implement list endpoint + mutation endpoint
113
+ - [ ] Normalisasi error message
114
+ - [ ] Verifikasi success/error states konsisten
115
+ - [ ] Catat retry/fallback strategy sederhana
116
+
117
+ ### Hari 17 - Strategi Manajemen State
118
+ - [ ] Tentukan local vs shared state boundary
119
+ - [ ] Gunakan `useState`, Pinia, atau composable sesuai kasus
120
+ - [ ] Dokumentasikan alasan pemilihan
121
+ - [ ] Verifikasi tidak ada state duplication yang tidak perlu
122
+
123
+ ### Hari 18 - Baseline Performa + A11y
124
+ - [ ] Terapkan lazy-loading atau split komponen berat
125
+ - [ ] Audit semantic structure
126
+ - [ ] Audit keyboard interactions dasar
127
+ - [ ] Dokumentasikan improvement sebelum/sesudah
128
+
129
+ ### Hari 19 - Mindset Testing
130
+ - [ ] Tulis test plan unit/integration/E2E
131
+ - [ ] Prioritaskan alur kritikal
132
+ - [ ] Definisikan expected behavior per test case
133
+ - [ ] Tinjau area risiko yang belum ter-cover
134
+ - [ ] Tambahkan cek: tidak ada warning hydration mismatch pada flow utama
135
+
136
+ ### Hari 20 - Demo Final
137
+ - [ ] Demo mini app end-to-end
138
+ - [ ] Jelaskan keputusan arsitektur inti
139
+ - [ ] Presentasikan trade-off dan backlog
140
+ - [ ] Tulis rencana 2 minggu lanjutan
141
+
142
+ ---
143
+
144
+ ## Checklist Tambahan per Jalur
145
+
146
+ ### Jalur Desainer (Figma -> Code)
147
+ - [ ] Buat component mapping table (Figma -> Nuxt UI)
148
+ - [ ] Buat token mapping table (Figma -> Tailwind/theme)
149
+ - [ ] Lakukan visual QA state-based
150
+ - [ ] Catat kompromi fidelity vs engineering constraints
151
+
152
+ ### Jalur Profesional (Karyawan Umum)
153
+ - [ ] Kumpulkan weekly summary 1 halaman
154
+ - [ ] Lakukan presentasi teknis mingguan (5 menit)
155
+ - [ ] Dokumentasikan bug dan cara debug
156
+ - [ ] Simpan keputusan teknis penting (decision log)
@@ -0,0 +1,191 @@
1
+ # Tugas Mingguan Mentor (Jalur Ekosistem Nuxt)
2
+
3
+ Dokumen tugas mingguan untuk peserta di jalur ekosistem Nuxt.
4
+
5
+ ## Tujuan Dokumen
6
+
7
+ - Memberi tugas terstruktur per minggu
8
+ - Menyamakan ekspektasi hasil belajar
9
+ - Menyediakan rubrik penilaian yang objektif
10
+
11
+ ## Skema Penilaian
12
+
13
+ Skor total per minggu: **100**
14
+
15
+ - Implementasi teknis: 35
16
+ - Arsitektur dan maintainability: 20
17
+ - Konsistensi UI (Nuxt UI + Tailwind): 15
18
+ - Reliability (error handling/performance/a11y basics): 15
19
+ - Komunikasi reasoning teknis: 15
20
+
21
+ Nilai akhir rekomendasi:
22
+
23
+ - 85-100: Sangat baik (siap naik level)
24
+ - 70-84: Baik (perlu minor perbaikan)
25
+ - 55-69: Cukup (butuh penguatan area inti)
26
+ - <55: Perlu remedial terstruktur
27
+
28
+ ---
29
+
30
+ ## Tugas Minggu 1 - Runtime dan Konteks Framework
31
+
32
+ ### Ringkasan
33
+ Bangun mini Nuxt app dengan minimal 3 halaman, 1 layout, dan 1 middleware dummy.
34
+
35
+ ### Kebutuhan
36
+ 1. Minimal 3 route (`/`, `/catalog`, `/profile` atau setara)
37
+ 2. 1 route dilindungi middleware check sederhana
38
+ 3. Tunjukkan pemahaman konteks server/client pada minimal 1 komponen
39
+ 4. Sertakan catatan kapan data sebaiknya di-fetch di SSR vs CSR
40
+
41
+ ### Hasil Wajib
42
+ - Source code feature minggu 1
43
+ - Dokumen singkat: `week1-decision-note.md`
44
+ - Demo 3-5 menit
45
+
46
+ ### Rubrik Minggu 1
47
+ - Routing/layout/middleware benar (25)
48
+ - SSR/client context dipahami (25)
49
+ - Struktur folder rapi (20)
50
+ - Kejelasan catatan keputusan (15)
51
+ - Komunikasi saat demo (15)
52
+
53
+ ---
54
+
55
+ ## Tugas Minggu 2 - Arsitektur Vue + Type Safety
56
+
57
+ ### Ringkasan
58
+ Bangun fitur list-detail dengan komponen reusable + composable + TypeScript.
59
+
60
+ ### Kebutuhan
61
+ 1. Minimal 2 komponen reusable (card/list item + detail section)
62
+ 2. Gunakan 1 composable untuk alur data
63
+ 3. Type-safe props, emits, dan response model
64
+ 4. Handle loading/error/empty states
65
+
66
+ ### Hasil Wajib
67
+ - Source code fitur minggu 2
68
+ - Dokumen singkat: `week2-architecture-note.md`
69
+ - Demo 5 menit
70
+
71
+ ### Rubrik Minggu 2
72
+ - Kualitas kontrak komponen (25)
73
+ - Kualitas desain composable (25)
74
+ - TypeScript correctness (20)
75
+ - Kualitas penanganan state (15)
76
+ - Kejelasan reasoning teknis (15)
77
+
78
+ ---
79
+
80
+ ## Tugas Minggu 3 - Design System ke Code
81
+
82
+ ### Ringkasan
83
+ Implement satu alur UI berdasarkan referensi desain (Figma/mock) dengan Nuxt UI + Tailwind.
84
+
85
+ ### Kebutuhan
86
+ 1. Gunakan Nuxt UI sebagai basis komponen utama
87
+ 2. Gunakan Tailwind class secara konsisten dan maintainable
88
+ 3. Sertakan state visual: default, hover, focus, disabled, loading
89
+ 4. Buat tabel mapping:
90
+ - Figma component -> Nuxt UI component
91
+ - Figma token -> Tailwind utility/theme
92
+
93
+ ### Hasil Wajib
94
+ - Source code alur UI minggu 3
95
+ - `week3-figma-to-code-mapping.md`
96
+ - Visual QA checklist
97
+ - Demo 5-7 menit
98
+
99
+ ### Rubrik Minggu 3
100
+ - Ketepatan adopsi Nuxt UI (25)
101
+ - Konsistensi dan kerapian Tailwind (20)
102
+ - Fidelity desain dengan trade-off yang rasional (20)
103
+ - Kelengkapan state + dasar aksesibilitas (20)
104
+ - Kualitas dokumentasi mapping (15)
105
+
106
+ ---
107
+
108
+ ## Tugas Minggu 4 - Capstone Fundamental Produksi
109
+
110
+ ### Ringkasan
111
+ Final mini app: list + detail + create/update action dengan baseline kualitas produksi.
112
+
113
+ ### Kebutuhan
114
+ 1. Alur data end-to-end (read + mutation)
115
+ 2. Shared state strategy yang jelas
116
+ 3. Error handling yang konsisten
117
+ 4. Perbaikan baseline performa minimal 1 area
118
+ 5. Test plan (unit/integration/E2E) untuk alur kritikal
119
+
120
+ ### Hasil Wajib
121
+ - Final mini app
122
+ - `week4-capstone-report.md`
123
+ - Test plan 8-12 test case
124
+ - Demo final 7-10 menit
125
+
126
+ ### Rubrik Minggu 4
127
+ - Kelengkapan fitur end-to-end (25)
128
+ - Keputusan arsitektur dan state (20)
129
+ - Kualitas reliability/error handling (20)
130
+ - Baseline performa + aksesibilitas (15)
131
+ - Test plan + komunikasi teknis (20)
132
+
133
+ ---
134
+
135
+ ## Penyesuaian Berdasarkan Jalur
136
+
137
+ ### Jalur Desainer (UI/UX + Figma)
138
+
139
+ Tambahan penilaian:
140
+
141
+ - Akurasi translasi design token (+10 bonus)
142
+ - Kelengkapan QA visual (+5 bonus)
143
+
144
+ Fokus feedback:
145
+
146
+ - Konsistensi komponen
147
+ - Fidelity desain yang realistis
148
+ - Detail interaksi state
149
+
150
+ ### Jalur Profesional (Karyawan Umum)
151
+
152
+ Tambahan penilaian:
153
+
154
+ - Dokumentasi reasoning teknis (+10 bonus)
155
+ - Kualitas presentasi teknis (+5 bonus)
156
+
157
+ Fokus feedback:
158
+
159
+ - Kejelasan pilihan arsitektur
160
+ - Kedewasaan proses debugging
161
+ - Konsistensi kualitas implementasi
162
+
163
+ ---
164
+
165
+ ## Template Umpan Balik (Per Minggu)
166
+
167
+ Gunakan format ini:
168
+
169
+ ```markdown
170
+ Feedback Minggu [x]
171
+
172
+ Skor: [0-100]
173
+
174
+ Yang sudah bagus:
175
+ - ...
176
+ - ...
177
+
178
+ Yang perlu ditingkatkan:
179
+ - ...
180
+ - ...
181
+
182
+ Prioritas utama minggu depan:
183
+ - ...
184
+
185
+ Referensi yang direkomendasikan:
186
+ - ...
187
+ ```
188
+
189
+ ---
190
+
191
+ _Dokumen ini dipakai bersama roadmap 30 hari untuk memastikan proses belajar tetap terukur, praktis, dan relevan dengan kebutuhan ekosistem Nuxt._