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.
- package/README.md +796 -0
- package/bin/commands/init.mjs +221 -0
- package/bin/init.mjs +21 -0
- package/package.json +22 -0
- package/template/.opencode/agent-docs/backend/README.md +0 -0
- package/template/.opencode/agent-docs/backend/node/BACKEND_PATTERNS.md +82 -0
- package/template/.opencode/agent-docs/backend/node/BACKEND_QUICK_START.md +49 -0
- package/template/.opencode/agent-docs/frontend/next/README.md +0 -0
- package/template/.opencode/agent-docs/frontend/nuxt/API_PATTERNS.md +807 -0
- package/template/.opencode/agent-docs/frontend/nuxt/CHEATSHEET.md +676 -0
- package/template/.opencode/agent-docs/frontend/nuxt/COMPLETION_REPORT.md +613 -0
- package/template/.opencode/agent-docs/frontend/nuxt/EXAMPLES.md +956 -0
- package/template/.opencode/agent-docs/frontend/nuxt/INDEX.md +596 -0
- package/template/.opencode/agent-docs/frontend/nuxt/MCP_GUIDE.md +881 -0
- package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_CURRICULUM_30_DAYS.md +256 -0
- package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_CURRICULUM_CHECKLIST.md +156 -0
- package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_WEEKLY_ASSIGNMENTS.md +191 -0
- package/template/.opencode/agent-docs/frontend/nuxt/QUICK_START.md +509 -0
- package/template/.opencode/agent-docs/frontend/nuxt/README.md +506 -0
- package/template/.opencode/agent-docs/frontend/nuxt/README_AGENTS.md +140 -0
- package/template/.opencode/agent-docs/frontend/nuxt/README_DOCS.md +65 -0
- package/template/.opencode/agent-docs/frontend/nuxt/SUMMARY.md +474 -0
- package/template/.opencode/agent-docs/frontend/nuxt/TEAM_OPERATING_GUIDE.md +54 -0
- package/template/.opencode/agent-docs/frontend/nuxt/TESTING_GUIDE.md +904 -0
- package/template/.opencode/agent-docs/frontend/nuxt/WORKFLOWS.md +758 -0
- package/template/.opencode/agent-docs/frontend/react/API_PATTERNS.md +187 -0
- package/template/.opencode/agent-docs/frontend/react/CHEATSHEET.md +87 -0
- package/template/.opencode/agent-docs/frontend/react/INDEX.md +45 -0
- package/template/.opencode/agent-docs/frontend/react/QUICK_START.md +43 -0
- package/template/.opencode/agent-docs/frontend/react/README.md +159 -0
- package/template/.opencode/agent-docs/frontend/vue/README.md +0 -0
- package/template/.opencode/agent-docs/mobile/android/README.md +45 -0
- package/template/.opencode/agent-docs/mobile/flutter/README.md +44 -0
- package/template/.opencode/agents/android-developer.md +418 -0
- package/template/.opencode/agents/code-igniter-3-fullstack.md +345 -0
- package/template/.opencode/agents/code-reviewer.md +517 -0
- package/template/.opencode/agents/database-specialist.md +455 -0
- package/template/.opencode/agents/devops-specialist.md +562 -0
- package/template/.opencode/agents/flutter-developer.md +556 -0
- package/template/.opencode/agents/it-leader.md +911 -0
- package/template/.opencode/agents/laravel-advanced.md +691 -0
- package/template/.opencode/agents/node-backend-developer.md +343 -0
- package/template/.opencode/agents/nuxt-frontend-developer-mentor.md +402 -0
- package/template/.opencode/agents/nuxt-frontend-developer.md +1573 -0
- package/template/.opencode/agents/react-frontend-developer.md +1017 -0
- package/template/.opencode/agents/seo-specialist.md +681 -0
- package/template/.opencode/agents/ui-ux-designer.md +783 -0
- package/template/.opencode/commands/android-build/command.md +25 -0
- package/template/.opencode/commands/android-test/command.md +23 -0
- package/template/.opencode/commands/build-fix.md +29 -0
- package/template/.opencode/commands/checkpoint.md +74 -0
- package/template/.opencode/commands/code-review.md +40 -0
- package/template/.opencode/commands/e2e.md +363 -0
- package/template/.opencode/commands/eval.md +120 -0
- package/template/.opencode/commands/evolve.md +193 -0
- package/template/.opencode/commands/flutter-build/command.md +25 -0
- package/template/.opencode/commands/flutter-test/command.md +24 -0
- package/template/.opencode/commands/go-build.md +183 -0
- package/template/.opencode/commands/go-review.md +148 -0
- package/template/.opencode/commands/go-test.md +268 -0
- package/template/.opencode/commands/gpc-release/command.md +30 -0
- package/template/.opencode/commands/instinct-export.md +91 -0
- package/template/.opencode/commands/instinct-import.md +142 -0
- package/template/.opencode/commands/instinct-status.md +86 -0
- package/template/.opencode/commands/learn.md +70 -0
- package/template/.opencode/commands/multi-backend.md +158 -0
- package/template/.opencode/commands/multi-execute.md +310 -0
- package/template/.opencode/commands/multi-frontend.md +158 -0
- package/template/.opencode/commands/multi-plan.md +261 -0
- package/template/.opencode/commands/multi-workflow.md +183 -0
- package/template/.opencode/commands/orchestrate.md +172 -0
- package/template/.opencode/commands/plan.md +113 -0
- package/template/.opencode/commands/pm2.md +271 -0
- package/template/.opencode/commands/python-review.md +297 -0
- package/template/.opencode/commands/refactor-clean.md +28 -0
- package/template/.opencode/commands/sessions.md +305 -0
- package/template/.opencode/commands/setup-pm.md +80 -0
- package/template/.opencode/commands/skill-create.md +174 -0
- package/template/.opencode/commands/tdd.md +326 -0
- package/template/.opencode/commands/test-coverage.md +27 -0
- package/template/.opencode/commands/update-codemaps.md +17 -0
- package/template/.opencode/commands/update-docs.md +31 -0
- package/template/.opencode/commands/verify.md +59 -0
- package/template/.opencode/config.example.json +309 -0
- package/template/.opencode/config.json +341 -0
- package/template/.opencode/contexts/dev.md +20 -0
- package/template/.opencode/contexts/research.md +26 -0
- package/template/.opencode/contexts/review.md +22 -0
- package/template/.opencode/hooks/hooks.json +169 -0
- package/template/.opencode/instructions/INSTRUCTIONS.md +388 -0
- package/template/.opencode/package.json +5 -0
- package/template/.opencode/rules/README.md +82 -0
- package/template/.opencode/rules/android/gradle.md +62 -0
- package/template/.opencode/rules/android/testing.md +27 -0
- package/template/.opencode/rules/common/agents.md +49 -0
- package/template/.opencode/rules/common/coding-style.md +48 -0
- package/template/.opencode/rules/common/git-workflow.md +45 -0
- package/template/.opencode/rules/common/hooks.md +30 -0
- package/template/.opencode/rules/common/patterns.md +31 -0
- package/template/.opencode/rules/common/performance.md +55 -0
- package/template/.opencode/rules/common/security.md +29 -0
- package/template/.opencode/rules/common/testing.md +29 -0
- package/template/.opencode/rules/flutter/state-management.md +57 -0
- package/template/.opencode/rules/flutter/testing.md +42 -0
- package/template/.opencode/rules/golang/coding-style.md +26 -0
- package/template/.opencode/rules/golang/hooks.md +11 -0
- package/template/.opencode/rules/golang/patterns.md +39 -0
- package/template/.opencode/rules/golang/security.md +28 -0
- package/template/.opencode/rules/golang/testing.md +25 -0
- package/template/.opencode/rules/mobile/performance.md +36 -0
- package/template/.opencode/rules/python/coding-style.md +37 -0
- package/template/.opencode/rules/python/hooks.md +14 -0
- package/template/.opencode/rules/python/patterns.md +34 -0
- package/template/.opencode/rules/python/security.md +25 -0
- package/template/.opencode/rules/python/testing.md +33 -0
- package/template/.opencode/rules/typescript/coding-style.md +58 -0
- package/template/.opencode/rules/typescript/hooks.md +15 -0
- package/template/.opencode/rules/typescript/patterns.md +45 -0
- package/template/.opencode/rules/typescript/security.md +21 -0
- package/template/.opencode/rules/typescript/testing.md +11 -0
- package/template/.opencode/skills/api-documentation/SKILL.md +188 -0
- package/template/.opencode/skills/backend-patterns/SKILL.md +587 -0
- package/template/.opencode/skills/building-components/SKILL.md +37 -0
- package/template/.opencode/skills/building-components/references/accessibility.mdx +819 -0
- package/template/.opencode/skills/building-components/references/as-child.mdx +324 -0
- package/template/.opencode/skills/building-components/references/composition.mdx +239 -0
- package/template/.opencode/skills/building-components/references/data-attributes.mdx +413 -0
- package/template/.opencode/skills/building-components/references/definitions.mdx +258 -0
- package/template/.opencode/skills/building-components/references/design-tokens.mdx +57 -0
- package/template/.opencode/skills/building-components/references/docs.mdx +155 -0
- package/template/.opencode/skills/building-components/references/marketplaces.mdx +144 -0
- package/template/.opencode/skills/building-components/references/npm.mdx +166 -0
- package/template/.opencode/skills/building-components/references/polymorphism.mdx +583 -0
- package/template/.opencode/skills/building-components/references/principles.mdx +61 -0
- package/template/.opencode/skills/building-components/references/registry.mdx +169 -0
- package/template/.opencode/skills/building-components/references/state.mdx +99 -0
- package/template/.opencode/skills/building-components/references/styling.mdx +286 -0
- package/template/.opencode/skills/building-components/references/types.mdx +191 -0
- package/template/.opencode/skills/clickhouse-io/SKILL.md +429 -0
- package/template/.opencode/skills/coding-standards/SKILL.md +520 -0
- package/template/.opencode/skills/configure-ecc/SKILL.md +298 -0
- package/template/.opencode/skills/continuous-learning/SKILL.md +110 -0
- package/template/.opencode/skills/continuous-learning/config.json +18 -0
- package/template/.opencode/skills/continuous-learning/evaluate-session.sh +60 -0
- package/template/.opencode/skills/continuous-learning-v2/SKILL.md +284 -0
- package/template/.opencode/skills/continuous-learning-v2/agents/observer.md +137 -0
- package/template/.opencode/skills/continuous-learning-v2/agents/start-observer.sh +134 -0
- package/template/.opencode/skills/continuous-learning-v2/config.json +41 -0
- package/template/.opencode/skills/continuous-learning-v2/hooks/observe.sh +153 -0
- package/template/.opencode/skills/continuous-learning-v2/scripts/instinct-cli.py +489 -0
- package/template/.opencode/skills/continuous-learning-v2/scripts/test_parse_instinct.py +82 -0
- package/template/.opencode/skills/dart-add-unit-test/SKILL.md +122 -0
- package/template/.opencode/skills/dart-build-cli-app/SKILL.md +185 -0
- package/template/.opencode/skills/dart-collect-coverage/SKILL.md +141 -0
- package/template/.opencode/skills/dart-fix-runtime-errors/SKILL.md +166 -0
- package/template/.opencode/skills/dart-generate-test-mocks/SKILL.md +155 -0
- package/template/.opencode/skills/dart-migrate-to-checks-package/SKILL.md +126 -0
- package/template/.opencode/skills/dart-resolve-package-conflicts/SKILL.md +116 -0
- package/template/.opencode/skills/dart-run-static-analysis/SKILL.md +104 -0
- package/template/.opencode/skills/dart-use-pattern-matching/SKILL.md +146 -0
- package/template/.opencode/skills/django-patterns/SKILL.md +733 -0
- package/template/.opencode/skills/django-security/SKILL.md +592 -0
- package/template/.opencode/skills/django-tdd/SKILL.md +728 -0
- package/template/.opencode/skills/django-verification/SKILL.md +460 -0
- package/template/.opencode/skills/eval-harness/SKILL.md +227 -0
- package/template/.opencode/skills/firebase-basics/SKILL.md +103 -0
- package/template/.opencode/skills/firebase-basics/references/additional-skills.md +113 -0
- package/template/.opencode/skills/firebase-basics/references/cli-usage.md +31 -0
- package/template/.opencode/skills/firebase-basics/references/client-library-usage.md +45 -0
- package/template/.opencode/skills/firebase-basics/references/core-concepts.md +61 -0
- package/template/.opencode/skills/firebase-basics/references/iac-usage.md +40 -0
- package/template/.opencode/skills/firebase-basics/references/iam-security.md +74 -0
- package/template/.opencode/skills/firebase-basics/references/mcp-usage.md +63 -0
- package/template/.opencode/skills/flutter/SKILL.md +292 -0
- package/template/.opencode/skills/flutter-add-integration-test/SKILL.md +163 -0
- package/template/.opencode/skills/flutter-add-widget-preview/SKILL.md +145 -0
- package/template/.opencode/skills/flutter-add-widget-test/SKILL.md +154 -0
- package/template/.opencode/skills/flutter-apply-architecture-best-practices/SKILL.md +162 -0
- package/template/.opencode/skills/flutter-build-responsive-layout/SKILL.md +139 -0
- package/template/.opencode/skills/flutter-fix-layout-issues/SKILL.md +130 -0
- package/template/.opencode/skills/flutter-implement-json-serialization/SKILL.md +153 -0
- package/template/.opencode/skills/flutter-setup-declarative-routing/SKILL.md +255 -0
- package/template/.opencode/skills/flutter-setup-localization/SKILL.md +210 -0
- package/template/.opencode/skills/flutter-use-http-package/SKILL.md +174 -0
- package/template/.opencode/skills/frontend-design/SKILL.md +89 -0
- package/template/.opencode/skills/frontend-patterns/SKILL.md +631 -0
- package/template/.opencode/skills/golang-patterns/SKILL.md +673 -0
- package/template/.opencode/skills/golang-testing/SKILL.md +719 -0
- package/template/.opencode/skills/impeccable/SKILL.md +165 -0
- package/template/.opencode/skills/impeccable/agents/impeccable-asset-producer.md +101 -0
- package/template/.opencode/skills/impeccable/reference/adapt.md +190 -0
- package/template/.opencode/skills/impeccable/reference/animate.md +175 -0
- package/template/.opencode/skills/impeccable/reference/audit.md +133 -0
- package/template/.opencode/skills/impeccable/reference/bolder.md +113 -0
- package/template/.opencode/skills/impeccable/reference/brand.md +118 -0
- package/template/.opencode/skills/impeccable/reference/clarify.md +174 -0
- package/template/.opencode/skills/impeccable/reference/codex.md +105 -0
- package/template/.opencode/skills/impeccable/reference/cognitive-load.md +106 -0
- package/template/.opencode/skills/impeccable/reference/color-and-contrast.md +105 -0
- package/template/.opencode/skills/impeccable/reference/colorize.md +154 -0
- package/template/.opencode/skills/impeccable/reference/craft.md +123 -0
- package/template/.opencode/skills/impeccable/reference/critique.md +273 -0
- package/template/.opencode/skills/impeccable/reference/delight.md +302 -0
- package/template/.opencode/skills/impeccable/reference/distill.md +111 -0
- package/template/.opencode/skills/impeccable/reference/document.md +427 -0
- package/template/.opencode/skills/impeccable/reference/extract.md +69 -0
- package/template/.opencode/skills/impeccable/reference/harden.md +347 -0
- package/template/.opencode/skills/impeccable/reference/heuristics-scoring.md +234 -0
- package/template/.opencode/skills/impeccable/reference/interaction-design.md +195 -0
- package/template/.opencode/skills/impeccable/reference/layout.md +141 -0
- package/template/.opencode/skills/impeccable/reference/live.md +622 -0
- package/template/.opencode/skills/impeccable/reference/motion-design.md +109 -0
- package/template/.opencode/skills/impeccable/reference/onboard.md +234 -0
- package/template/.opencode/skills/impeccable/reference/optimize.md +258 -0
- package/template/.opencode/skills/impeccable/reference/overdrive.md +130 -0
- package/template/.opencode/skills/impeccable/reference/personas.md +179 -0
- package/template/.opencode/skills/impeccable/reference/polish.md +242 -0
- package/template/.opencode/skills/impeccable/reference/product.md +62 -0
- package/template/.opencode/skills/impeccable/reference/quieter.md +99 -0
- package/template/.opencode/skills/impeccable/reference/responsive-design.md +114 -0
- package/template/.opencode/skills/impeccable/reference/shape.md +165 -0
- package/template/.opencode/skills/impeccable/reference/spatial-design.md +100 -0
- package/template/.opencode/skills/impeccable/reference/teach.md +156 -0
- package/template/.opencode/skills/impeccable/reference/typeset.md +124 -0
- package/template/.opencode/skills/impeccable/reference/typography.md +159 -0
- package/template/.opencode/skills/impeccable/reference/ux-writing.md +107 -0
- package/template/.opencode/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
- package/template/.opencode/skills/impeccable/scripts/command-metadata.json +94 -0
- package/template/.opencode/skills/impeccable/scripts/critique-storage.mjs +242 -0
- package/template/.opencode/skills/impeccable/scripts/design-parser.mjs +820 -0
- package/template/.opencode/skills/impeccable/scripts/detect-csp.mjs +198 -0
- package/template/.opencode/skills/impeccable/scripts/detect.mjs +21 -0
- package/template/.opencode/skills/impeccable/scripts/impeccable-paths.mjs +110 -0
- package/template/.opencode/skills/impeccable/scripts/is-generated.mjs +69 -0
- package/template/.opencode/skills/impeccable/scripts/live-accept.mjs +595 -0
- package/template/.opencode/skills/impeccable/scripts/live-browser-session.js +123 -0
- package/template/.opencode/skills/impeccable/scripts/live-browser.js +4860 -0
- package/template/.opencode/skills/impeccable/scripts/live-complete.mjs +75 -0
- package/template/.opencode/skills/impeccable/scripts/live-completion.mjs +18 -0
- package/template/.opencode/skills/impeccable/scripts/live-inject.mjs +446 -0
- package/template/.opencode/skills/impeccable/scripts/live-poll.mjs +200 -0
- package/template/.opencode/skills/impeccable/scripts/live-resume.mjs +48 -0
- package/template/.opencode/skills/impeccable/scripts/live-server.mjs +838 -0
- package/template/.opencode/skills/impeccable/scripts/live-session-store.mjs +254 -0
- package/template/.opencode/skills/impeccable/scripts/live-status.mjs +47 -0
- package/template/.opencode/skills/impeccable/scripts/live-wrap.mjs +632 -0
- package/template/.opencode/skills/impeccable/scripts/live.mjs +247 -0
- package/template/.opencode/skills/impeccable/scripts/load-context.mjs +141 -0
- package/template/.opencode/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/template/.opencode/skills/impeccable/scripts/pin.mjs +214 -0
- package/template/.opencode/skills/iterative-retrieval/SKILL.md +202 -0
- package/template/.opencode/skills/java-coding-standards/SKILL.md +138 -0
- package/template/.opencode/skills/jetpack-compose/.skillfish.json +10 -0
- package/template/.opencode/skills/jetpack-compose/SKILL.md +420 -0
- package/template/.opencode/skills/jpa-patterns/SKILL.md +141 -0
- package/template/.opencode/skills/nutrient-document-processing/SKILL.md +165 -0
- package/template/.opencode/skills/nuxt-ui/SKILL.md +334 -0
- package/template/.opencode/skills/nuxt-ui/references/components.md +377 -0
- package/template/.opencode/skills/nuxt-ui/references/composables.md +127 -0
- package/template/.opencode/skills/nuxt-ui/references/layouts/chat.md +266 -0
- package/template/.opencode/skills/nuxt-ui/references/layouts/dashboard.md +220 -0
- package/template/.opencode/skills/nuxt-ui/references/layouts/docs.md +141 -0
- package/template/.opencode/skills/nuxt-ui/references/layouts/editor.md +168 -0
- package/template/.opencode/skills/nuxt-ui/references/layouts/page.md +260 -0
- package/template/.opencode/skills/nuxt-ui/references/theming.md +427 -0
- package/template/.opencode/skills/postgres-patterns/SKILL.md +146 -0
- package/template/.opencode/skills/project-guidelines-example/SKILL.md +345 -0
- package/template/.opencode/skills/python-patterns/SKILL.md +749 -0
- package/template/.opencode/skills/python-testing/SKILL.md +815 -0
- package/template/.opencode/skills/security-review/SKILL.md +494 -0
- package/template/.opencode/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/template/.opencode/skills/shadcn-ui/README.md +248 -0
- package/template/.opencode/skills/shadcn-ui/SKILL.md +326 -0
- package/template/.opencode/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
- package/template/.opencode/skills/shadcn-ui/examples/data-table.tsx +313 -0
- package/template/.opencode/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
- package/template/.opencode/skills/shadcn-ui/resources/component-catalog.md +481 -0
- package/template/.opencode/skills/shadcn-ui/resources/customization-guide.md +516 -0
- package/template/.opencode/skills/shadcn-ui/resources/migration-guide.md +463 -0
- package/template/.opencode/skills/shadcn-ui/resources/setup-guide.md +412 -0
- package/template/.opencode/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
- package/template/.opencode/skills/springboot-patterns/SKILL.md +304 -0
- package/template/.opencode/skills/springboot-security/SKILL.md +119 -0
- package/template/.opencode/skills/springboot-tdd/SKILL.md +157 -0
- package/template/.opencode/skills/springboot-verification/SKILL.md +100 -0
- package/template/.opencode/skills/strategic-compact/SKILL.md +63 -0
- package/template/.opencode/skills/strategic-compact/suggest-compact.sh +52 -0
- package/template/.opencode/skills/tdd-workflow/SKILL.md +409 -0
- package/template/.opencode/skills/vercel-composition-patterns/AGENTS.md +946 -0
- package/template/.opencode/skills/vercel-composition-patterns/SKILL.md +89 -0
- package/template/.opencode/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/template/.opencode/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
- package/template/.opencode/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/template/.opencode/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/template/.opencode/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
- package/template/.opencode/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
- package/template/.opencode/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/template/.opencode/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
- package/template/.opencode/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/template/.opencode/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/template/.opencode/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/template/.opencode/skills/verification-loop/SKILL.md +120 -0
- package/template/.opencode/skills/web-design-guidelines/SKILL.md +39 -0
- package/template/AGENTS.md +32 -0
- package/template/opencode.json +354 -0
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
# Frontend Developer Agent - User Guide
|
|
2
|
+
|
|
3
|
+
Panduan lengkap untuk menggunakan Frontend Developer Agent di OpenCode.
|
|
4
|
+
|
|
5
|
+
## 📚 Complete Documentation
|
|
6
|
+
|
|
7
|
+
- **[README.md](./README.md)** - User guide (you are here)
|
|
8
|
+
- **[QUICK_START.md](./QUICK_START.md)** - Getting started in 5 minutes
|
|
9
|
+
- **[EXAMPLES.md](./EXAMPLES.md)** - 50+ practical examples
|
|
10
|
+
- **[WORKFLOWS.md](./WORKFLOWS.md)** - 8 detailed workflows
|
|
11
|
+
- **[CHEATSHEET.md](./CHEATSHEET.md)** - Quick reference
|
|
12
|
+
- **[MCP_GUIDE.md](./MCP_GUIDE.md)** - MCP integration guide
|
|
13
|
+
- **[TESTING_GUIDE.md](./TESTING_GUIDE.md)** - Testing & validation
|
|
14
|
+
- **[SUMMARY.md](./SUMMARY.md)** - Installation summary
|
|
15
|
+
|
|
16
|
+
## 📋 Daftar Isi
|
|
17
|
+
|
|
18
|
+
1. [Cara Menggunakan Agent](#cara-menggunakan-agent)
|
|
19
|
+
2. [Skills yang Terintegrasi](#skills-yang-terintegrasi)
|
|
20
|
+
3. [Contoh Penggunaan](#contoh-penggunaan)
|
|
21
|
+
4. [Tips & Best Practices](#tips--best-practices)
|
|
22
|
+
5. [Troubleshooting](#troubleshooting)
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Cara Menggunakan Agent
|
|
27
|
+
|
|
28
|
+
### Metode 1: Menggunakan @mention (Recommended)
|
|
29
|
+
|
|
30
|
+
Dalam OpenCode, Anda bisa langsung memanggil agent dengan `@` mention:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
@frontend-developer bantu aku buat komponen Card yang reusable
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Metode 2: Mengaktifkan sebagai Primary Agent
|
|
37
|
+
|
|
38
|
+
Edit `opencode.json` untuk menjadikan ini primary agent:
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"agent": {
|
|
43
|
+
"frontend": {
|
|
44
|
+
"prompt": "{file:.opencode/agents/frontend-developer.md}",
|
|
45
|
+
"mode": "primary"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Kemudian gunakan Tab key untuk switch ke agent ini.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Skills yang Terintegrasi
|
|
56
|
+
|
|
57
|
+
Agent ini mengintegrasikan 10+ skills dari repository Anda:
|
|
58
|
+
|
|
59
|
+
### Core Skills (Auto-load)
|
|
60
|
+
|
|
61
|
+
Agent akan otomatis load skills ini saat session dimulai:
|
|
62
|
+
|
|
63
|
+
1. **`coding-standards`**
|
|
64
|
+
- Universal coding best practices
|
|
65
|
+
- TypeScript/JavaScript standards
|
|
66
|
+
- Error handling patterns
|
|
67
|
+
- File organization
|
|
68
|
+
|
|
69
|
+
2. **`frontend-patterns`**
|
|
70
|
+
- Vue/Nuxt component patterns
|
|
71
|
+
- Composable patterns
|
|
72
|
+
- State management
|
|
73
|
+
- Performance optimization
|
|
74
|
+
- Form handling
|
|
75
|
+
|
|
76
|
+
3. **`frontend-design`**
|
|
77
|
+
- Design thinking process
|
|
78
|
+
- Aesthetic guidelines
|
|
79
|
+
- Typography standards
|
|
80
|
+
- Animation patterns
|
|
81
|
+
- Creative implementation
|
|
82
|
+
|
|
83
|
+
4. **`web-design-guidelines`**
|
|
84
|
+
- UI/UX compliance
|
|
85
|
+
- Accessibility audit
|
|
86
|
+
- Design best practices
|
|
87
|
+
- Interface guidelines
|
|
88
|
+
|
|
89
|
+
### Contextual Skills (Load on-demand)
|
|
90
|
+
|
|
91
|
+
Agent akan load skills ini sesuai kebutuhan:
|
|
92
|
+
|
|
93
|
+
- **`nuxt-ui`** - Saat bekerja dengan Nuxt UI components
|
|
94
|
+
- **`vercel-composition-patterns`** - Untuk refactoring komponen kompleks
|
|
95
|
+
- **`building-components`** - Saat membuat component library
|
|
96
|
+
- **`security-review`** - Untuk user input dan authentication
|
|
97
|
+
- **`tdd-workflow`** - Saat menulis tests
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Contoh Penggunaan
|
|
102
|
+
|
|
103
|
+
### 1. Membuat Komponen Baru
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
@frontend-developer Buat komponen MarketCard untuk menampilkan:
|
|
107
|
+
- Nama market
|
|
108
|
+
- Status (active/closed/resolved)
|
|
109
|
+
- Volume trading
|
|
110
|
+
- Tanggal berakhir
|
|
111
|
+
- Tombol untuk bet
|
|
112
|
+
|
|
113
|
+
Gunakan Nuxt UI dan pastikan accessible.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Agent akan:
|
|
117
|
+
|
|
118
|
+
1. Load skill `nuxt-ui` dan `building-components`
|
|
119
|
+
2. Membuat komponen dengan TypeScript strict mode
|
|
120
|
+
3. Implementasi accessibility (ARIA labels, keyboard navigation)
|
|
121
|
+
4. Tambahkan loading states dan error handling
|
|
122
|
+
5. Gunakan design system yang konsisten
|
|
123
|
+
|
|
124
|
+
### 2. Optimasi Performance
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
@frontend-developer Review komponen MarketList.vue, kayaknya lemot saat render 100+ items. Bisa dioptimasi?
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Agent akan:
|
|
131
|
+
|
|
132
|
+
1. Load skill `frontend-patterns`
|
|
133
|
+
2. Analisis performance bottlenecks
|
|
134
|
+
3. Suggest virtualization untuk long lists
|
|
135
|
+
4. Implementasi memoization
|
|
136
|
+
5. Optimize re-renders
|
|
137
|
+
|
|
138
|
+
### 3. Implementasi Design
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
@frontend-developer Bikin landing page dengan aesthetic futuristic,
|
|
142
|
+
bold colors, dan smooth animations. Pakai gradient meshes dan
|
|
143
|
+
geometric patterns.
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Agent akan:
|
|
147
|
+
|
|
148
|
+
1. Load skill `frontend-design`
|
|
149
|
+
2. Choose distinctive fonts (bukan Inter/Roboto)
|
|
150
|
+
3. Create cohesive color palette
|
|
151
|
+
4. Implement purposeful animations
|
|
152
|
+
5. Add atmospheric backgrounds
|
|
153
|
+
|
|
154
|
+
### 4. Refactoring Komponen
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
@frontend-developer Komponen UserProfile ini terlalu complex, ada 15 props dan banyak conditional rendering. Bisa direfactor?
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Agent akan:
|
|
161
|
+
|
|
162
|
+
1. Load skill `vercel-composition-patterns`
|
|
163
|
+
2. Extract compound components
|
|
164
|
+
3. Use composition over props
|
|
165
|
+
4. Improve maintainability
|
|
166
|
+
5. Preserve functionality
|
|
167
|
+
|
|
168
|
+
### 5. Accessibility Audit
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
@frontend-developer Check accessibility untuk form di pages/create-market.vue
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Agent akan:
|
|
175
|
+
|
|
176
|
+
1. Load skill `web-design-guidelines`
|
|
177
|
+
2. Check semantic HTML
|
|
178
|
+
3. Verify keyboard navigation
|
|
179
|
+
4. Check ARIA labels
|
|
180
|
+
5. Test color contrast
|
|
181
|
+
6. Provide actionable fixes
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Tips & Best Practices
|
|
186
|
+
|
|
187
|
+
### 1. Berikan Konteks yang Cukup
|
|
188
|
+
|
|
189
|
+
❌ **Kurang baik:**
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
Buat komponen button
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
✅ **Lebih baik:**
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
Buat komponen Button dengan:
|
|
199
|
+
- Variants: primary, secondary, ghost
|
|
200
|
+
- Sizes: sm, md, lg
|
|
201
|
+
- Support icon (leading dan trailing)
|
|
202
|
+
- Loading state
|
|
203
|
+
- Disabled state
|
|
204
|
+
- Full width option
|
|
205
|
+
|
|
206
|
+
Gunakan Nuxt UI sebagai base dan pastikan accessible.
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 2. Spesifikasikan Stack Nuxt/Vue
|
|
210
|
+
|
|
211
|
+
Agent ini fokus ke Nuxt/Vue. Sebutkan konteks stack dengan jelas:
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
@frontend-developer Buat composable useMarketData dengan Vue 3
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### 3. Minta Penjelasan
|
|
218
|
+
|
|
219
|
+
Agent akan explain trade-offs dan decisions:
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
@frontend-developer Explain kenapa kamu pakai computed di sini vs watch
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### 4. Iterasi Bertahap
|
|
226
|
+
|
|
227
|
+
Mulai simple, lalu improve:
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
# Step 1
|
|
231
|
+
@frontend-developer Buat basic MarketCard component
|
|
232
|
+
|
|
233
|
+
# Step 2 (setelah review)
|
|
234
|
+
@frontend-developer Tambahkan animation saat hover dan loading skeleton
|
|
235
|
+
|
|
236
|
+
# Step 3
|
|
237
|
+
@frontend-developer Add share dan bookmark functionality
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### 5. Leverage Memory Management
|
|
241
|
+
|
|
242
|
+
Agent akan remember context dalam session:
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
# Message 1
|
|
246
|
+
@frontend-developer Analyze struktur project ini
|
|
247
|
+
|
|
248
|
+
# Message 5 (agent sudah tau struktur)
|
|
249
|
+
Buat komponen serupa dengan UserCard tapi untuk Market
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Memory Management
|
|
255
|
+
|
|
256
|
+
### Apa yang Agent Ingat
|
|
257
|
+
|
|
258
|
+
✅ **Selama Session:**
|
|
259
|
+
|
|
260
|
+
- Project structure dan patterns
|
|
261
|
+
- Your coding preferences
|
|
262
|
+
- Design system tokens
|
|
263
|
+
- Recent changes
|
|
264
|
+
- Architecture decisions
|
|
265
|
+
|
|
266
|
+
❌ **Tidak Diingat:**
|
|
267
|
+
|
|
268
|
+
- Temporary debug code
|
|
269
|
+
- Failed experiments
|
|
270
|
+
- Session sebelumnya (kecuali disebutkan)
|
|
271
|
+
|
|
272
|
+
### Cara Memaksimalkan Context
|
|
273
|
+
|
|
274
|
+
**Untuk task besar, guide the agent:**
|
|
275
|
+
|
|
276
|
+
```markdown
|
|
277
|
+
@frontend-developer Kita akan implement feature "Market Discovery".
|
|
278
|
+
|
|
279
|
+
Phase 1: Buat komponen MarketGrid untuk display markets
|
|
280
|
+
Phase 2: Add filtering (status, category, date range)
|
|
281
|
+
Phase 3: Implement search dengan semantic similarity
|
|
282
|
+
Phase 4: Add sorting options
|
|
283
|
+
|
|
284
|
+
Mulai dari Phase 1 dulu.
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**Agent akan track progress:**
|
|
288
|
+
|
|
289
|
+
```yaml
|
|
290
|
+
Session Context:
|
|
291
|
+
current_phase: 'Phase 1'
|
|
292
|
+
completed_components: ['MarketGrid']
|
|
293
|
+
next_steps: ['Add filtering']
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Troubleshooting
|
|
299
|
+
|
|
300
|
+
### Agent tidak load skill yang dibutuhkan
|
|
301
|
+
|
|
302
|
+
**Solusi:** Minta explicitly
|
|
303
|
+
|
|
304
|
+
```
|
|
305
|
+
@frontend-developer Load skill `nuxt-ui` and help me build a form
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Agent pakai pattern yang tidak sesuai project
|
|
309
|
+
|
|
310
|
+
**Solusi:** Specify project patterns
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
@frontend-developer Kita pakai Pinia untuk state management, bukan Zustand.
|
|
314
|
+
Update approach kamu.
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### Agent terlalu verbose
|
|
318
|
+
|
|
319
|
+
**Solusi:** Minta concise
|
|
320
|
+
|
|
321
|
+
```
|
|
322
|
+
@frontend-developer Same task tapi less explanation, more code
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Agent skip accessibility
|
|
326
|
+
|
|
327
|
+
**Solusi:** Remind explicitly
|
|
328
|
+
|
|
329
|
+
```
|
|
330
|
+
@frontend-developer IMPORTANT: Ensure WCAG 2.1 compliance untuk semua komponen
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Performance concerns tidak addressed
|
|
334
|
+
|
|
335
|
+
**Solusi:** Trigger performance review
|
|
336
|
+
|
|
337
|
+
```
|
|
338
|
+
@frontend-developer Load `frontend-patterns` and review for performance
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## Advanced Usage
|
|
344
|
+
|
|
345
|
+
### Custom Workflow
|
|
346
|
+
|
|
347
|
+
Anda bisa create custom workflow file:
|
|
348
|
+
|
|
349
|
+
**.opencode/workflows/create-component.md**
|
|
350
|
+
|
|
351
|
+
```markdown
|
|
352
|
+
# Component Creation Workflow
|
|
353
|
+
|
|
354
|
+
1. Load skills: `building-components`, `web-design-guidelines`
|
|
355
|
+
2. Create component file with TypeScript
|
|
356
|
+
3. Add props interface
|
|
357
|
+
4. Implement render logic
|
|
358
|
+
5. Add accessibility attributes
|
|
359
|
+
6. Create usage example
|
|
360
|
+
7. Add to exports
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
Kemudian:
|
|
364
|
+
|
|
365
|
+
```
|
|
366
|
+
@frontend-developer Follow workflow di .opencode/workflows/create-component.md untuk buat SearchBar component
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Team Collaboration
|
|
370
|
+
|
|
371
|
+
Share agent config dengan team (tanpa auto-commit oleh agent):
|
|
372
|
+
|
|
373
|
+
```bash
|
|
374
|
+
# Commit hanya saat Anda memang meminta commit
|
|
375
|
+
git add .opencode/agents/frontend-developer.md
|
|
376
|
+
git commit -m "Add frontend developer agent config"
|
|
377
|
+
git push
|
|
378
|
+
|
|
379
|
+
# Team members bisa langsung pakai
|
|
380
|
+
@frontend-developer ...
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Integration dengan CI/CD
|
|
384
|
+
|
|
385
|
+
Agent bisa review PR sebelum merge:
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
# .github/workflows/frontend-review.yml
|
|
389
|
+
- name: Frontend Review
|
|
390
|
+
run: |
|
|
391
|
+
opencode "@frontend-developer Review changes in this PR for:
|
|
392
|
+
- Performance issues
|
|
393
|
+
- Accessibility compliance
|
|
394
|
+
- Code quality
|
|
395
|
+
- Best practices"
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
## Keyboard Shortcuts
|
|
401
|
+
|
|
402
|
+
Untuk primary agent mode:
|
|
403
|
+
|
|
404
|
+
- `Tab` - Switch between agents
|
|
405
|
+
- `Ctrl+P` - List available actions
|
|
406
|
+
- `/` - Run commands (e.g., `/undo`, `/redo`)
|
|
407
|
+
- `@` - Mention agents/files
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## Maintenance
|
|
412
|
+
|
|
413
|
+
### Update Agent Skills
|
|
414
|
+
|
|
415
|
+
Ketika ada skill baru:
|
|
416
|
+
|
|
417
|
+
1. Check skill availability:
|
|
418
|
+
|
|
419
|
+
```bash
|
|
420
|
+
ls ~/.opencode/skills
|
|
421
|
+
ls ~/.agents/skills
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
2. Update agent file untuk include skill baru di section "Contextual Skills"
|
|
425
|
+
|
|
426
|
+
3. Test integration:
|
|
427
|
+
|
|
428
|
+
```
|
|
429
|
+
@frontend-developer Load skill `new-skill-name` dan explain kapan harus dipakai
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
### Version Control
|
|
433
|
+
|
|
434
|
+
Track perubahan agent config:
|
|
435
|
+
|
|
436
|
+
```bash
|
|
437
|
+
# See changes
|
|
438
|
+
git diff .opencode/agents/frontend-developer.md
|
|
439
|
+
|
|
440
|
+
# Update
|
|
441
|
+
git add .opencode/agents/frontend-developer.md
|
|
442
|
+
git commit -m "Update frontend agent: add new skill integration"
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## Resources
|
|
448
|
+
|
|
449
|
+
### Related Files
|
|
450
|
+
|
|
451
|
+
- Agent definition: `.opencode/agents/frontend-developer.md`
|
|
452
|
+
- Project guidelines: `CLAUDE.md`
|
|
453
|
+
- Skills directory: `~/.opencode/skills/`, `~/.agents/skills/`
|
|
454
|
+
|
|
455
|
+
### Documentation
|
|
456
|
+
|
|
457
|
+
- OpenCode Agents: https://opencode.ai/docs/agents
|
|
458
|
+
- OpenCode Skills: https://opencode.ai/docs/skills
|
|
459
|
+
- OpenCode Config: https://opencode.ai/docs/config
|
|
460
|
+
|
|
461
|
+
### Community
|
|
462
|
+
|
|
463
|
+
- OpenCode Discord: https://opencode.ai/discord
|
|
464
|
+
- GitHub Issues: https://github.com/anomalyco/opencode/issues
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
## Quick Reference Card
|
|
469
|
+
|
|
470
|
+
```
|
|
471
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
472
|
+
│ FRONTEND DEVELOPER AGENT - Quick Reference │
|
|
473
|
+
├─────────────────────────────────────────────────────────────┤
|
|
474
|
+
│ │
|
|
475
|
+
│ ACTIVATE: │
|
|
476
|
+
│ @frontend-developer [your request] │
|
|
477
|
+
│ │
|
|
478
|
+
│ COMMON TASKS: │
|
|
479
|
+
│ • Build component → Specify props, behavior, style │
|
|
480
|
+
│ • Optimize performance → Mention specific bottleneck │
|
|
481
|
+
│ • Implement design → Describe aesthetic direction │
|
|
482
|
+
│ • Refactor code → Explain current issues │
|
|
483
|
+
│ • Review accessibility → Point to specific files │
|
|
484
|
+
│ │
|
|
485
|
+
│ LOADED SKILLS: │
|
|
486
|
+
│ ✓ coding-standards ✓ frontend-patterns │
|
|
487
|
+
│ ✓ frontend-design ✓ web-design-guidelines │
|
|
488
|
+
│ │
|
|
489
|
+
│ CONTEXTUAL SKILLS: │
|
|
490
|
+
│ • nuxt-ui • vercel-composition-patterns │
|
|
491
|
+
│ • building-components • security-review │
|
|
492
|
+
│ • tdd-workflow │
|
|
493
|
+
│ │
|
|
494
|
+
│ QUALITY STANDARDS: │
|
|
495
|
+
│ ☑ TypeScript strict mode ☑ Accessibility (WCAG 2.1) │
|
|
496
|
+
│ ☑ Immutability ☑ Performance optimized │
|
|
497
|
+
│ ☑ Error handling ☑ Responsive design │
|
|
498
|
+
│ │
|
|
499
|
+
└─────────────────────────────────────────────────────────────┘
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
**Happy coding! 🚀**
|
|
505
|
+
|
|
506
|
+
Jika ada pertanyaan atau butuh bantuan, mention `@frontend-developer` di OpenCode Anda.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Frontend Developer Agent
|
|
2
|
+
|
|
3
|
+
Expert frontend developer agent for Nuxt.js + Nuxt UI projects with MCP integration.
|
|
4
|
+
|
|
5
|
+
## 🎯 Agent
|
|
6
|
+
|
|
7
|
+
**Frontend Developer** (`frontend-developer.md`) - Senior frontend developer specializing in:
|
|
8
|
+
|
|
9
|
+
- Nuxt 4 & Vue 3 Composition API
|
|
10
|
+
- Nuxt UI component library
|
|
11
|
+
- TypeScript strict mode
|
|
12
|
+
- Performance optimization
|
|
13
|
+
- Accessibility (WCAG 2.1)
|
|
14
|
+
- Modern CSS & animations
|
|
15
|
+
|
|
16
|
+
## 📚 Documentation
|
|
17
|
+
|
|
18
|
+
Complete documentation in `docs/` folder:
|
|
19
|
+
|
|
20
|
+
| Document | Description |
|
|
21
|
+
| ------------------------------------------- | -------------------------------- |
|
|
22
|
+
| [QUICK_START.md](./docs/QUICK_START.md) | Get started in 5 minutes |
|
|
23
|
+
| [EXAMPLES.md](./docs/EXAMPLES.md) | 50+ practical code examples |
|
|
24
|
+
| [API_PATTERNS.md](./docs/API_PATTERNS.md) | useApi composable guide |
|
|
25
|
+
| [WORKFLOWS.md](./docs/WORKFLOWS.md) | 8 detailed development workflows |
|
|
26
|
+
| [CHEATSHEET.md](./docs/CHEATSHEET.md) | Quick command reference |
|
|
27
|
+
| [MCP_GUIDE.md](./docs/MCP_GUIDE.md) | MCP server integration |
|
|
28
|
+
| [TESTING_GUIDE.md](./docs/TESTING_GUIDE.md) | Testing & validation |
|
|
29
|
+
| [INDEX.md](./docs/INDEX.md) | Complete navigation |
|
|
30
|
+
|
|
31
|
+
## 🚀 Quick Start
|
|
32
|
+
|
|
33
|
+
1. **Activate agent:**
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
@frontend Hello! What can you help me with?
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. **Create component:**
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
@frontend Create Button component dengan props label dan variant
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
3. **Read documentation:**
|
|
46
|
+
- Start: `docs/QUICK_START.md`
|
|
47
|
+
- Examples: `docs/EXAMPLES.md`
|
|
48
|
+
|
|
49
|
+
## 🔧 Configuration
|
|
50
|
+
|
|
51
|
+
Agent configured in `../.opencode/config.json`:
|
|
52
|
+
|
|
53
|
+
- **Model:** Claude Sonnet 4
|
|
54
|
+
- **Temperature:** 0.4
|
|
55
|
+
- **MCP Servers:** Nuxt, Nuxt UI, Playwright, Figma
|
|
56
|
+
- **Skills:** 10+ professional skills integrated
|
|
57
|
+
|
|
58
|
+
## 📁 Structure
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
.opencode/agents/
|
|
62
|
+
├── README.md # This file
|
|
63
|
+
├── frontend-developer.md # Agent definition (main file)
|
|
64
|
+
└── docs/ # All documentation
|
|
65
|
+
├── INDEX.md # Navigation hub
|
|
66
|
+
├── QUICK_START.md # Getting started
|
|
67
|
+
├── EXAMPLES.md # Code examples
|
|
68
|
+
├── API_PATTERNS.md # API patterns
|
|
69
|
+
└── ... (8+ more guides)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Why this structure?**
|
|
73
|
+
|
|
74
|
+
- OpenCode shows ONLY `frontend-developer.md` in agent list
|
|
75
|
+
- All documentation in `docs/` folder (clean agent switcher)
|
|
76
|
+
- Easy to share/distribute as single package
|
|
77
|
+
|
|
78
|
+
## ✨ Features
|
|
79
|
+
|
|
80
|
+
- **MCP Integration:** Real-time Nuxt & Nuxt UI documentation
|
|
81
|
+
- **Skills Integration:** 10+ professional coding skills
|
|
82
|
+
- **Custom Patterns:** Project-specific patterns (e.g., useApi)
|
|
83
|
+
- **Type Safety:** TypeScript strict mode enforced
|
|
84
|
+
- **Accessibility:** WCAG 2.1 Level AA compliance
|
|
85
|
+
- **Performance:** Lighthouse 90+ targets
|
|
86
|
+
|
|
87
|
+
## 🎓 Usage Examples
|
|
88
|
+
|
|
89
|
+
### Create Component
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
@frontend Create ProductCard component dengan:
|
|
93
|
+
- Image with lazy loading
|
|
94
|
+
- Price and discount badge
|
|
95
|
+
- Add to cart button
|
|
96
|
+
- Wishlist toggle
|
|
97
|
+
Gunakan Nuxt UI components.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### API Integration
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
@frontend Implement user list page dengan:
|
|
104
|
+
- useApi composable untuk fetch
|
|
105
|
+
- Error handling dengan retry
|
|
106
|
+
- Pagination
|
|
107
|
+
- Search functionality
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Performance Optimization
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
@frontend Optimize /products page:
|
|
114
|
+
- Current FCP: 3.5s
|
|
115
|
+
- Target: < 1.5s
|
|
116
|
+
- Lighthouse: 90+
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## 📖 Learn More
|
|
120
|
+
|
|
121
|
+
- **Quick Start:** `docs/QUICK_START.md` (5 minutes)
|
|
122
|
+
- **Full Guide:** `docs/INDEX.md` (complete navigation)
|
|
123
|
+
- **API Patterns:** `docs/API_PATTERNS.md` (useApi guide)
|
|
124
|
+
- **Examples:** `docs/EXAMPLES.md` (50+ examples)
|
|
125
|
+
|
|
126
|
+
## 🤝 Sharing
|
|
127
|
+
|
|
128
|
+
To share this agent with others:
|
|
129
|
+
|
|
130
|
+
1. Copy entire `agents/` folder
|
|
131
|
+
2. Copy `../.opencode/config.json` (agent config section)
|
|
132
|
+
3. Share documentation: Point to `docs/QUICK_START.md`
|
|
133
|
+
|
|
134
|
+
Recipients will see only "Frontend Developer" in their agent list!
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
**Version:** 1.0.0
|
|
139
|
+
**Status:** Production Ready ✅
|
|
140
|
+
**Documentation:** 12 files | ~230 KB | 8,500+ lines
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Frontend Developer Agent - Documentation
|
|
2
|
+
|
|
3
|
+
Complete documentation untuk Frontend Developer Agent.
|
|
4
|
+
|
|
5
|
+
## 📚 Documentation Files
|
|
6
|
+
|
|
7
|
+
- **[README.md](./README.md)** - Complete user guide
|
|
8
|
+
- **[QUICK_START.md](./QUICK_START.md)** - Get started in 5 minutes
|
|
9
|
+
- **[EXAMPLES.md](./EXAMPLES.md)** - 50+ practical examples
|
|
10
|
+
- **[API_PATTERNS.md](./API_PATTERNS.md)** - useApi composable guide
|
|
11
|
+
- **[WORKFLOWS.md](./WORKFLOWS.md)** - 8 detailed workflows
|
|
12
|
+
- **[CHEATSHEET.md](./CHEATSHEET.md)** - Quick reference
|
|
13
|
+
- **[MCP_GUIDE.md](./MCP_GUIDE.md)** - MCP integration guide
|
|
14
|
+
- **[TESTING_GUIDE.md](./TESTING_GUIDE.md)** - Testing & validation
|
|
15
|
+
- **[SUMMARY.md](./SUMMARY.md)** - Installation summary
|
|
16
|
+
- **[COMPLETION_REPORT.md](./COMPLETION_REPORT.md)** - Project completion report
|
|
17
|
+
|
|
18
|
+
## 🚀 Quick Navigation
|
|
19
|
+
|
|
20
|
+
### For Beginners
|
|
21
|
+
|
|
22
|
+
Start here → [QUICK_START.md](./QUICK_START.md)
|
|
23
|
+
|
|
24
|
+
### For Examples
|
|
25
|
+
|
|
26
|
+
See [EXAMPLES.md](./EXAMPLES.md) and [API_PATTERNS.md](./API_PATTERNS.md)
|
|
27
|
+
|
|
28
|
+
### For Quick Reference
|
|
29
|
+
|
|
30
|
+
Use [CHEATSHEET.md](./CHEATSHEET.md)
|
|
31
|
+
|
|
32
|
+
### For Complete Guide
|
|
33
|
+
|
|
34
|
+
Read [INDEX.md](./INDEX.md) for full navigation
|
|
35
|
+
|
|
36
|
+
## 📖 About
|
|
37
|
+
|
|
38
|
+
These documentation files support the **Frontend Developer Agent** (`../frontend-developer.md`).
|
|
39
|
+
|
|
40
|
+
The agent is configured in `../../config.json` and uses these docs as reference material.
|
|
41
|
+
|
|
42
|
+
## 🎯 Structure
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
.opencode/agents/
|
|
46
|
+
├── frontend-developer.md # Agent definition (ONLY agent file)
|
|
47
|
+
└── docs/ # All documentation files
|
|
48
|
+
├── INDEX.md # Navigation hub
|
|
49
|
+
├── README.md # This file
|
|
50
|
+
├── QUICK_START.md # Getting started
|
|
51
|
+
├── EXAMPLES.md # Practical examples
|
|
52
|
+
├── API_PATTERNS.md # useApi guide
|
|
53
|
+
├── WORKFLOWS.md # Detailed workflows
|
|
54
|
+
├── CHEATSHEET.md # Quick reference
|
|
55
|
+
├── MCP_GUIDE.md # MCP integration
|
|
56
|
+
├── TESTING_GUIDE.md # Testing suite
|
|
57
|
+
├── SUMMARY.md # Installation summary
|
|
58
|
+
└── COMPLETION_REPORT.md # Project completion
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
This structure ensures OpenCode only shows **"Frontend Developer"** in the agent list, keeping it clean and focused.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
**Total Documentation:** 12 files | ~230 KB | 8,500+ lines
|