@walwal-harness/cli 6.1.6 → 7.1.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/HR-Resource/academic-academic-anthropologist/SKILL.md +142 -0
- package/HR-Resource/academic-academic-geographer/SKILL.md +144 -0
- package/HR-Resource/academic-academic-historian/SKILL.md +140 -0
- package/HR-Resource/academic-academic-narratologist/SKILL.md +135 -0
- package/HR-Resource/academic-academic-psychologist/SKILL.md +135 -0
- package/HR-Resource/brick-office/SKILL.md +20 -0
- package/HR-Resource/cdo/SKILL.md +33 -0
- package/HR-Resource/ceo/SKILL.md +36 -0
- package/HR-Resource/coo/SKILL.md +36 -0
- package/HR-Resource/cqo/SKILL.md +33 -0
- package/HR-Resource/cto/SKILL.md +36 -0
- package/HR-Resource/design-design-brand-guardian/SKILL.md +339 -0
- package/HR-Resource/design-design-image-prompt-engineer/SKILL.md +253 -0
- package/HR-Resource/design-design-inclusive-visuals-specialist/SKILL.md +88 -0
- package/HR-Resource/design-design-ui-designer/SKILL.md +400 -0
- package/HR-Resource/design-design-ux-architect/SKILL.md +486 -0
- package/HR-Resource/design-design-ux-researcher/SKILL.md +346 -0
- package/HR-Resource/design-design-visual-storyteller/SKILL.md +166 -0
- package/HR-Resource/design-design-whimsy-injector/SKILL.md +455 -0
- package/HR-Resource/engineering-engineering-ai-data-remediation-engineer/SKILL.md +227 -0
- package/HR-Resource/engineering-engineering-ai-engineer/SKILL.md +163 -0
- package/HR-Resource/engineering-engineering-autonomous-optimization-architect/SKILL.md +124 -0
- package/HR-Resource/engineering-engineering-backend-architect/SKILL.md +252 -0
- package/HR-Resource/engineering-engineering-cms-developer/SKILL.md +553 -0
- package/HR-Resource/engineering-engineering-code-reviewer/SKILL.md +93 -0
- package/HR-Resource/engineering-engineering-codebase-onboarding-engineer/SKILL.md +190 -0
- package/HR-Resource/engineering-engineering-data-engineer/SKILL.md +323 -0
- package/HR-Resource/engineering-engineering-database-optimizer/SKILL.md +193 -0
- package/HR-Resource/engineering-engineering-devops-automator/SKILL.md +393 -0
- package/HR-Resource/engineering-engineering-email-intelligence-engineer/SKILL.md +370 -0
- package/HR-Resource/engineering-engineering-embedded-firmware-engineer/SKILL.md +190 -0
- package/HR-Resource/engineering-engineering-feishu-integration-developer/SKILL.md +615 -0
- package/HR-Resource/engineering-engineering-filament-optimization-specialist/SKILL.md +300 -0
- package/HR-Resource/engineering-engineering-frontend-developer/SKILL.md +242 -0
- package/HR-Resource/engineering-engineering-git-workflow-master/SKILL.md +101 -0
- package/HR-Resource/engineering-engineering-incident-response-commander/SKILL.md +461 -0
- package/HR-Resource/engineering-engineering-minimal-change-engineer/SKILL.md +224 -0
- package/HR-Resource/engineering-engineering-mobile-app-builder/SKILL.md +510 -0
- package/HR-Resource/engineering-engineering-rapid-prototyper/SKILL.md +479 -0
- package/HR-Resource/engineering-engineering-security-engineer/SKILL.md +321 -0
- package/HR-Resource/engineering-engineering-senior-developer/SKILL.md +193 -0
- package/HR-Resource/engineering-engineering-software-architect/SKILL.md +98 -0
- package/HR-Resource/engineering-engineering-solidity-smart-contract-engineer/SKILL.md +539 -0
- package/HR-Resource/engineering-engineering-sre/SKILL.md +107 -0
- package/HR-Resource/engineering-engineering-technical-writer/SKILL.md +410 -0
- package/HR-Resource/engineering-engineering-threat-detection-engineer/SKILL.md +551 -0
- package/HR-Resource/engineering-engineering-voice-ai-integration-engineer/SKILL.md +578 -0
- package/HR-Resource/engineering-engineering-wechat-mini-program-developer/SKILL.md +367 -0
- package/HR-Resource/finance-finance-bookkeeper-controller/SKILL.md +277 -0
- package/HR-Resource/finance-finance-financial-analyst/SKILL.md +251 -0
- package/HR-Resource/finance-finance-fpa-analyst/SKILL.md +280 -0
- package/HR-Resource/finance-finance-investment-researcher/SKILL.md +289 -0
- package/HR-Resource/finance-finance-tax-strategist/SKILL.md +256 -0
- package/HR-Resource/game-development-blender-blender-addon-engineer/SKILL.md +251 -0
- package/HR-Resource/game-development-game-audio-engineer/SKILL.md +281 -0
- package/HR-Resource/game-development-game-designer/SKILL.md +184 -0
- package/HR-Resource/game-development-godot-godot-gameplay-scripter/SKILL.md +351 -0
- package/HR-Resource/game-development-godot-godot-multiplayer-engineer/SKILL.md +314 -0
- package/HR-Resource/game-development-godot-godot-shader-developer/SKILL.md +283 -0
- package/HR-Resource/game-development-level-designer/SKILL.md +225 -0
- package/HR-Resource/game-development-narrative-designer/SKILL.md +260 -0
- package/HR-Resource/game-development-roblox-studio-roblox-avatar-creator/SKILL.md +314 -0
- package/HR-Resource/game-development-roblox-studio-roblox-experience-designer/SKILL.md +322 -0
- package/HR-Resource/game-development-roblox-studio-roblox-systems-scripter/SKILL.md +342 -0
- package/HR-Resource/game-development-technical-artist/SKILL.md +246 -0
- package/HR-Resource/game-development-unity-unity-architect/SKILL.md +288 -0
- package/HR-Resource/game-development-unity-unity-editor-tool-developer/SKILL.md +327 -0
- package/HR-Resource/game-development-unity-unity-multiplayer-engineer/SKILL.md +338 -0
- package/HR-Resource/game-development-unity-unity-shader-graph-artist/SKILL.md +286 -0
- package/HR-Resource/game-development-unreal-engine-unreal-multiplayer-architect/SKILL.md +330 -0
- package/HR-Resource/game-development-unreal-engine-unreal-systems-engineer/SKILL.md +327 -0
- package/HR-Resource/game-development-unreal-engine-unreal-technical-artist/SKILL.md +273 -0
- package/HR-Resource/game-development-unreal-engine-unreal-world-builder/SKILL.md +290 -0
- package/HR-Resource/hiring/SKILL.md +28 -0
- package/HR-Resource/index.json +747 -0
- package/HR-Resource/integrations-mcp-memory-backend-architect-with-memory/SKILL.md +264 -0
- package/HR-Resource/marketing-marketing-agentic-search-optimizer/SKILL.md +328 -0
- package/HR-Resource/marketing-marketing-ai-citation-strategist/SKILL.md +187 -0
- package/HR-Resource/marketing-marketing-app-store-optimizer/SKILL.md +338 -0
- package/HR-Resource/marketing-marketing-baidu-seo-specialist/SKILL.md +243 -0
- package/HR-Resource/marketing-marketing-bilibili-content-strategist/SKILL.md +216 -0
- package/HR-Resource/marketing-marketing-book-co-author/SKILL.md +127 -0
- package/HR-Resource/marketing-marketing-carousel-growth-engine/SKILL.md +216 -0
- package/HR-Resource/marketing-marketing-china-ecommerce-operator/SKILL.md +300 -0
- package/HR-Resource/marketing-marketing-china-market-localization-strategist/SKILL.md +300 -0
- package/HR-Resource/marketing-marketing-content-creator/SKILL.md +71 -0
- package/HR-Resource/marketing-marketing-cross-border-ecommerce/SKILL.md +276 -0
- package/HR-Resource/marketing-marketing-douyin-strategist/SKILL.md +166 -0
- package/HR-Resource/marketing-marketing-growth-hacker/SKILL.md +71 -0
- package/HR-Resource/marketing-marketing-instagram-curator/SKILL.md +130 -0
- package/HR-Resource/marketing-marketing-kuaishou-strategist/SKILL.md +240 -0
- package/HR-Resource/marketing-marketing-linkedin-content-creator/SKILL.md +230 -0
- package/HR-Resource/marketing-marketing-livestream-commerce-coach/SKILL.md +322 -0
- package/HR-Resource/marketing-marketing-podcast-strategist/SKILL.md +294 -0
- package/HR-Resource/marketing-marketing-private-domain-operator/SKILL.md +325 -0
- package/HR-Resource/marketing-marketing-reddit-community-builder/SKILL.md +140 -0
- package/HR-Resource/marketing-marketing-seo-specialist/SKILL.md +338 -0
- package/HR-Resource/marketing-marketing-short-video-editing-coach/SKILL.md +429 -0
- package/HR-Resource/marketing-marketing-social-media-strategist/SKILL.md +142 -0
- package/HR-Resource/marketing-marketing-tiktok-strategist/SKILL.md +142 -0
- package/HR-Resource/marketing-marketing-twitter-engager/SKILL.md +143 -0
- package/HR-Resource/marketing-marketing-video-optimization-specialist/SKILL.md +136 -0
- package/HR-Resource/marketing-marketing-wechat-official-account/SKILL.md +162 -0
- package/HR-Resource/marketing-marketing-weibo-strategist/SKILL.md +257 -0
- package/HR-Resource/marketing-marketing-xiaohongshu-specialist/SKILL.md +155 -0
- package/HR-Resource/marketing-marketing-zhihu-strategist/SKILL.md +179 -0
- package/HR-Resource/ops/SKILL.md +46 -0
- package/HR-Resource/paid-media-paid-media-auditor/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-creative-strategist/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-paid-social-strategist/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-ppc-strategist/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-programmatic-buyer/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-search-query-analyst/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-tracking-specialist/SKILL.md +88 -0
- package/HR-Resource/product-product-behavioral-nudge-engine/SKILL.md +97 -0
- package/HR-Resource/product-product-feedback-synthesizer/SKILL.md +136 -0
- package/HR-Resource/product-product-manager/SKILL.md +486 -0
- package/HR-Resource/product-product-sprint-prioritizer/SKILL.md +171 -0
- package/HR-Resource/product-product-trend-researcher/SKILL.md +176 -0
- package/HR-Resource/project-management-project-management-experiment-tracker/SKILL.md +215 -0
- package/HR-Resource/project-management-project-management-jira-workflow-steward/SKILL.md +247 -0
- package/HR-Resource/project-management-project-management-project-shepherd/SKILL.md +211 -0
- package/HR-Resource/project-management-project-management-studio-operations/SKILL.md +217 -0
- package/HR-Resource/project-management-project-management-studio-producer/SKILL.md +220 -0
- package/HR-Resource/project-management-project-manager-senior/SKILL.md +152 -0
- package/HR-Resource/resource-manager/SKILL.md +23 -0
- package/HR-Resource/sales-sales-account-strategist/SKILL.md +244 -0
- package/HR-Resource/sales-sales-coach/SKILL.md +288 -0
- package/HR-Resource/sales-sales-deal-strategist/SKILL.md +197 -0
- package/HR-Resource/sales-sales-discovery-coach/SKILL.md +242 -0
- package/HR-Resource/sales-sales-engineer/SKILL.md +199 -0
- package/HR-Resource/sales-sales-outbound-strategist/SKILL.md +218 -0
- package/HR-Resource/sales-sales-pipeline-analyst/SKILL.md +284 -0
- package/HR-Resource/sales-sales-proposal-strategist/SKILL.md +234 -0
- package/HR-Resource/spatial-computing-macos-spatial-metal-engineer/SKILL.md +354 -0
- package/HR-Resource/spatial-computing-terminal-integration-specialist/SKILL.md +87 -0
- package/HR-Resource/spatial-computing-visionos-spatial-engineer/SKILL.md +71 -0
- package/HR-Resource/spatial-computing-xr-cockpit-interaction-specialist/SKILL.md +49 -0
- package/HR-Resource/spatial-computing-xr-immersive-developer/SKILL.md +49 -0
- package/HR-Resource/spatial-computing-xr-interface-architect/SKILL.md +49 -0
- package/HR-Resource/specialized-accounts-payable-agent/SKILL.md +202 -0
- package/HR-Resource/specialized-agentic-identity-trust/SKILL.md +404 -0
- package/HR-Resource/specialized-agents-orchestrator/SKILL.md +384 -0
- package/HR-Resource/specialized-automation-governance-architect/SKILL.md +233 -0
- package/HR-Resource/specialized-blockchain-security-auditor/SKILL.md +480 -0
- package/HR-Resource/specialized-compliance-auditor/SKILL.md +175 -0
- package/HR-Resource/specialized-corporate-training-designer/SKILL.md +209 -0
- package/HR-Resource/specialized-customer-service/SKILL.md +415 -0
- package/HR-Resource/specialized-data-consolidation-agent/SKILL.md +77 -0
- package/HR-Resource/specialized-government-digital-presales-consultant/SKILL.md +380 -0
- package/HR-Resource/specialized-healthcare-customer-service/SKILL.md +406 -0
- package/HR-Resource/specialized-healthcare-marketing-compliance/SKILL.md +412 -0
- package/HR-Resource/specialized-hospitality-guest-services/SKILL.md +620 -0
- package/HR-Resource/specialized-hr-onboarding/SKILL.md +468 -0
- package/HR-Resource/specialized-identity-graph-operator/SKILL.md +277 -0
- package/HR-Resource/specialized-language-translator/SKILL.md +281 -0
- package/HR-Resource/specialized-legal-billing-time-tracking/SKILL.md +586 -0
- package/HR-Resource/specialized-legal-client-intake/SKILL.md +509 -0
- package/HR-Resource/specialized-legal-document-review/SKILL.md +471 -0
- package/HR-Resource/specialized-loan-officer-assistant/SKILL.md +572 -0
- package/HR-Resource/specialized-lsp-index-engineer/SKILL.md +331 -0
- package/HR-Resource/specialized-real-estate-buyer-seller/SKILL.md +613 -0
- package/HR-Resource/specialized-recruitment-specialist/SKILL.md +526 -0
- package/HR-Resource/specialized-report-distribution-agent/SKILL.md +82 -0
- package/HR-Resource/specialized-retail-customer-returns/SKILL.md +583 -0
- package/HR-Resource/specialized-sales-data-extraction-agent/SKILL.md +84 -0
- package/HR-Resource/specialized-sales-outreach/SKILL.md +442 -0
- package/HR-Resource/specialized-specialized-chief-of-staff/SKILL.md +296 -0
- package/HR-Resource/specialized-specialized-civil-engineer/SKILL.md +373 -0
- package/HR-Resource/specialized-specialized-cultural-intelligence-strategist/SKILL.md +105 -0
- package/HR-Resource/specialized-specialized-developer-advocate/SKILL.md +334 -0
- package/HR-Resource/specialized-specialized-document-generator/SKILL.md +72 -0
- package/HR-Resource/specialized-specialized-french-consulting-market/SKILL.md +209 -0
- package/HR-Resource/specialized-specialized-korean-business-navigator/SKILL.md +233 -0
- package/HR-Resource/specialized-specialized-mcp-builder/SKILL.md +265 -0
- package/HR-Resource/specialized-specialized-model-qa/SKILL.md +505 -0
- package/HR-Resource/specialized-specialized-salesforce-architect/SKILL.md +197 -0
- package/HR-Resource/specialized-specialized-workflow-architect/SKILL.md +614 -0
- package/HR-Resource/specialized-study-abroad-advisor/SKILL.md +299 -0
- package/HR-Resource/specialized-supply-chain-strategist/SKILL.md +599 -0
- package/HR-Resource/specialized-zk-steward/SKILL.md +228 -0
- package/HR-Resource/support-support-analytics-reporter/SKILL.md +382 -0
- package/HR-Resource/support-support-executive-summary-generator/SKILL.md +229 -0
- package/HR-Resource/support-support-finance-tracker/SKILL.md +459 -0
- package/HR-Resource/support-support-infrastructure-maintainer/SKILL.md +635 -0
- package/HR-Resource/support-support-legal-compliance-checker/SKILL.md +605 -0
- package/HR-Resource/support-support-support-responder/SKILL.md +602 -0
- package/HR-Resource/testing-testing-accessibility-auditor/SKILL.md +333 -0
- package/HR-Resource/testing-testing-api-tester/SKILL.md +323 -0
- package/HR-Resource/testing-testing-evidence-collector/SKILL.md +227 -0
- package/HR-Resource/testing-testing-performance-benchmarker/SKILL.md +285 -0
- package/HR-Resource/testing-testing-reality-checker/SKILL.md +253 -0
- package/HR-Resource/testing-testing-test-results-analyzer/SKILL.md +322 -0
- package/HR-Resource/testing-testing-tool-evaluator/SKILL.md +411 -0
- package/HR-Resource/testing-testing-workflow-optimizer/SKILL.md +467 -0
- package/assets/templates/config.json +36 -2
- package/bin/init.js +207 -109
- package/commands/goal.md +25 -0
- package/commands/hot-fix.md +25 -0
- package/commands/play-harness.md +22 -0
- package/commands/release-harness.md +22 -0
- package/commands/stop-harness.md +21 -0
- package/conventions/README.md +14 -88
- package/conventions/brick-office.md +5 -0
- package/conventions/cdo.md +6 -0
- package/conventions/ceo.md +9 -0
- package/conventions/coo.md +6 -0
- package/conventions/cqo.md +6 -23
- package/conventions/cto.md +5 -23
- package/conventions/hiring.md +7 -0
- package/conventions/ops.md +9 -0
- package/conventions/resource-manager.md +6 -0
- package/conventions/shared.md +29 -58
- package/gotchas/README.md +14 -82
- package/gotchas/brick-office.md +9 -0
- package/gotchas/cdo.md +9 -0
- package/gotchas/ceo.md +9 -0
- package/gotchas/coo.md +9 -0
- package/gotchas/cqo.md +6 -19
- package/gotchas/cto.md +6 -19
- package/gotchas/hiring.md +9 -0
- package/gotchas/ops.md +17 -0
- package/gotchas/resource-manager.md +9 -0
- package/gotchas/shared.md +13 -0
- package/package.json +11 -17
- package/scripts/harness-runtime-stop.sh +58 -0
- package/scripts/harness-service-ops-monitor.sh +160 -16
- package/scripts/harness-stop.sh +18 -0
- package/scripts/harness-worker-evidence-validate.sh +59 -0
- package/scripts/import-agency-agents.js +102 -0
- package/scripts/play.sh +104 -0
- package/scripts/release.sh +89 -0
- package/conventions/conductor.md +0 -24
- package/conventions/coo-developer.md +0 -24
- package/conventions/dispatcher.md +0 -24
- package/conventions/documentationer.md +0 -24
- package/conventions/evaluator-architecture.md +0 -24
- package/conventions/evaluator-code-quality.md +0 -24
- package/conventions/evaluator-functional.md +0 -24
- package/conventions/evaluator-security.md +0 -24
- package/conventions/evaluator-visual.md +0 -24
- package/conventions/generator-backend.md +0 -24
- package/conventions/generator-designer.md +0 -24
- package/conventions/generator-devops.md +0 -24
- package/conventions/generator-frontend.md +0 -24
- package/conventions/meeting-manager.md +0 -24
- package/conventions/planner.md +0 -24
- package/conventions/service-ops.md +0 -24
- package/gotchas/conductor.md +0 -38
- package/gotchas/coo-developer.md +0 -22
- package/gotchas/dispatcher.md +0 -38
- package/gotchas/documentationer.md +0 -22
- package/gotchas/evaluator-architecture.md +0 -22
- package/gotchas/evaluator-code-quality.md +0 -22
- package/gotchas/evaluator-functional.md +0 -22
- package/gotchas/evaluator-security.md +0 -22
- package/gotchas/evaluator-visual.md +0 -22
- package/gotchas/generator-backend-laravel.md +0 -19
- package/gotchas/generator-backend.md +0 -22
- package/gotchas/generator-designer.md +0 -22
- package/gotchas/generator-devops.md +0 -22
- package/gotchas/generator-frontend.md +0 -22
- package/gotchas/meeting-manager.md +0 -30
- package/gotchas/planner.md +0 -22
- package/gotchas/service-ops.md +0 -30
- package/skills/_shared/dynamic-registration.md +0 -120
- package/skills/brainstorming/SKILL.md +0 -220
- package/skills/brainstorming/references/attribution.md +0 -109
- package/skills/brainstorming/references/spec-document-reviewer-prompt.md +0 -49
- package/skills/brainstorming/references/visual-companion.md +0 -287
- package/skills/brainstorming/scripts/frame-template.html +0 -214
- package/skills/brainstorming/scripts/helper.js +0 -88
- package/skills/brainstorming/scripts/server.cjs +0 -354
- package/skills/brainstorming/scripts/start-server.sh +0 -148
- package/skills/brainstorming/scripts/stop-server.sh +0 -56
- package/skills/conductor/SKILL.md +0 -336
- package/skills/coo-developer/SKILL.md +0 -72
- package/skills/cqo/SKILL.md +0 -146
- package/skills/cto/SKILL.md +0 -141
- package/skills/dispatcher/SKILL.md +0 -298
- package/skills/dispatcher/persona-ceo.md +0 -169
- package/skills/dispatcher/references/convention-flow.md +0 -111
- package/skills/dispatcher/references/gotcha-flow.md +0 -79
- package/skills/dispatcher/references/initialization.md +0 -53
- package/skills/dispatcher/references/pipeline-definitions.md +0 -151
- package/skills/documentationer/SKILL.md +0 -92
- package/skills/evaluator-architecture/SKILL.md +0 -173
- package/skills/evaluator-code-quality/SKILL.md +0 -218
- package/skills/evaluator-code-quality/references/scoring-rubric.md +0 -104
- package/skills/evaluator-functional/SKILL.md +0 -271
- package/skills/evaluator-functional/references/ia-compliance.md +0 -37
- package/skills/evaluator-functional/references/playwright-tools.md +0 -43
- package/skills/evaluator-functional/references/scoring-rubric.md +0 -52
- package/skills/evaluator-security/SKILL.md +0 -172
- package/skills/evaluator-visual/SKILL.md +0 -165
- package/skills/evaluator-visual/references/responsive-checklist.md +0 -44
- package/skills/evaluator-visual/references/scoring-rubric.md +0 -59
- package/skills/generator-backend/SKILL.md +0 -153
- package/skills/generator-backend/references/nestjs-msa-patterns.md +0 -69
- package/skills/generator-backend/references/sprint-contract-be.md +0 -32
- package/skills/generator-designer/SKILL.md +0 -219
- package/skills/generator-devops/SKILL.md +0 -201
- package/skills/generator-frontend/SKILL.md +0 -155
- package/skills/generator-frontend/references/_web-react-legacy/ai-forbidden-patterns.md +0 -89
- package/skills/generator-frontend/references/_web-react-legacy/component-patterns.md +0 -52
- package/skills/generator-frontend/references/_web-react-legacy/design-system-rules.md +0 -139
- package/skills/generator-frontend/references/_web-react-legacy/vercel-best-practices.md +0 -54
- package/skills/meeting-manager/SKILL.md +0 -419
- package/skills/planner/SKILL.md +0 -243
- package/skills/planner/hr-onboard.md +0 -134
- package/skills/planner/hr-recruit.md +0 -99
- package/skills/planner/persona-coo-hr.md +0 -182
- package/skills/planner/references/api-contract-schema.md +0 -34
- package/skills/planner/references/fe-stack-detection.md +0 -164
- package/skills/planner/references/ia-map-guide.md +0 -31
- package/skills/planner/references/plan-template.md +0 -51
- package/skills/service-ops/SKILL.md +0 -295
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# AI Forbidden Patterns — 셀프 체크 목록
|
|
2
|
-
|
|
3
|
-
> 구현 완료 후 이 목록으로 최종 점검. 하나라도 해당되면 수정.
|
|
4
|
-
> 출처: taste-skill, supanova-design-skill 통합
|
|
5
|
-
|
|
6
|
-
## Visual & CSS
|
|
7
|
-
|
|
8
|
-
| # | 금지 패턴 | 올바른 대안 |
|
|
9
|
-
|---|----------|-----------|
|
|
10
|
-
| V-1 | Neon/Outer Glow (`box-shadow` 글로우) | inner border 또는 tinted shadow |
|
|
11
|
-
| V-2 | Pure Black `#000000` | `#0a0a0a`, Zinc-950, Slate-950 |
|
|
12
|
-
| V-3 | 과포화 Accent (Saturation > 80%) | 뉴트럴과 자연스럽게 블렌딩 |
|
|
13
|
-
| V-4 | 과도한 Gradient Text (페이지당 1개 초과) | 1개까지만 허용 |
|
|
14
|
-
| V-5 | 커스텀 마우스 커서 | 기본 커서 유지 |
|
|
15
|
-
| V-6 | `h-screen` | `min-h-[100dvh]` |
|
|
16
|
-
| V-7 | `linear` / `ease-in-out` 트랜지션 | `cubic-bezier(0.16, 1, 0.3, 1)` |
|
|
17
|
-
| V-8 | `top/left/width/height` 애니메이션 | `transform` + `opacity` only |
|
|
18
|
-
| V-9 | 스크롤 컨테이너에 `backdrop-blur` | fixed/sticky 요소에만 |
|
|
19
|
-
| V-10 | 임의 `z-50` 남발 | 시스템 레이어에만 (nav, modal, overlay) |
|
|
20
|
-
|
|
21
|
-
## Typography
|
|
22
|
-
|
|
23
|
-
| # | 금지 패턴 | 올바른 대안 |
|
|
24
|
-
|---|----------|-----------|
|
|
25
|
-
| T-1 | Inter, Noto Sans KR, Roboto, Arial, Open Sans | Pretendard(한국어) + Geist/Outfit/Satoshi(영문) |
|
|
26
|
-
| T-2 | 크기로만 계층 표현하는 거대 H1 | weight + color로 계층 |
|
|
27
|
-
| T-3 | Dashboard에 Serif 폰트 | Sans-Serif only |
|
|
28
|
-
| T-4 | 한국어에 `leading-none` | `leading-tight` ~ `leading-snug` |
|
|
29
|
-
| T-5 | 한국어 `break-keep-all` 누락 | 모든 한국어 블록에 적용 |
|
|
30
|
-
|
|
31
|
-
## Layout & Spacing
|
|
32
|
-
|
|
33
|
-
| # | 금지 패턴 | 올바른 대안 |
|
|
34
|
-
|---|----------|-----------|
|
|
35
|
-
| L-1 | 3-Column Equal Card Row | Bento Grid, Zig-Zag, 비대칭 |
|
|
36
|
-
| L-2 | 센터 정렬 Hero (VARIANCE > 4) | Split Screen, 좌측 정렬, 비대칭 여백 |
|
|
37
|
-
| L-3 | Flexbox calc (`w-[calc(33%-1rem)]`) | CSS Grid |
|
|
38
|
-
| L-4 | 인접 섹션 동일 레이아웃 | 섹션마다 다른 패턴 |
|
|
39
|
-
| L-5 | Edge-to-edge 콘텐츠 | `max-w-7xl mx-auto` 컨테이너 |
|
|
40
|
-
| L-6 | 섹션 간격 부족 | `py-24 md:py-32 lg:py-40` 최소 |
|
|
41
|
-
|
|
42
|
-
## Content & Data
|
|
43
|
-
|
|
44
|
-
| # | 금지 패턴 | 올바른 대안 |
|
|
45
|
-
|---|----------|-----------|
|
|
46
|
-
| C-1 | "John Doe", "김철수" | 하윤서, 박도현, 이서진 |
|
|
47
|
-
| C-2 | "Acme Corp", "넥서스" | 스텔라랩스, 베리파이, 루미너스 |
|
|
48
|
-
| C-3 | 깨끗한 숫자 `50,000+`, `5.0` | 유기적 숫자 `47,200+`, `4.87` |
|
|
49
|
-
| C-4 | AI 클리셰: "혁신적인", "원활한", "차세대" | 구체적, 행동 지향적 카피 |
|
|
50
|
-
| C-5 | AI 영문 클리셰: "Elevate", "Seamless", "Unleash" | 구체적 동사 |
|
|
51
|
-
| C-6 | Lorem Ipsum, 영문 플레이스홀더 | 자연스러운 한국어 콘텐츠 |
|
|
52
|
-
| C-7 | 반말/존댓말 혼용 | 합니다/하세요 통일 |
|
|
53
|
-
| C-8 | 이모지 사용 | Phosphor/Radix 아이콘 |
|
|
54
|
-
|
|
55
|
-
## External Resources
|
|
56
|
-
|
|
57
|
-
| # | 금지 패턴 | 올바른 대안 |
|
|
58
|
-
|---|----------|-----------|
|
|
59
|
-
| E-1 | Unsplash URL (깨짐) | `picsum.photos/seed/{name}/{w}/{h}` |
|
|
60
|
-
| E-2 | 기본 SVG "egg" 아바타 | `i.pravatar.cc/150?u={name}` 또는 커스텀 |
|
|
61
|
-
| E-3 | shadcn/ui 기본 상태 | radius/colors/shadows 커스터마이즈 필수 |
|
|
62
|
-
| E-4 | FontAwesome, Material Icons | Phosphor 또는 Radix |
|
|
63
|
-
| E-5 | `window.addEventListener('scroll')` | `IntersectionObserver` |
|
|
64
|
-
| E-6 | Framer Motion에서 `useState`로 연속 애니메이션 | `useMotionValue` + `useTransform` |
|
|
65
|
-
|
|
66
|
-
## React / Next.js 특정
|
|
67
|
-
|
|
68
|
-
| # | 금지 패턴 | 올바른 대안 |
|
|
69
|
-
|---|----------|-----------|
|
|
70
|
-
| R-1 | Server Component에서 전역 상태 | Client Component로 격리 |
|
|
71
|
-
| R-2 | Provider를 Server Component에 직접 배치 | 별도 `'use client'` 래퍼 |
|
|
72
|
-
| R-3 | 무분별한 `'use client'` | 인터랙션 필요한 leaf만 |
|
|
73
|
-
| R-4 | Perpetual motion이 부모 리렌더 유발 | `React.memo` + 격리 Client Component |
|
|
74
|
-
| R-5 | `useEffect` cleanup 없는 애니메이션 | 반드시 cleanup return |
|
|
75
|
-
| R-6 | 3rd party import 전 package.json 미확인 | 설치 명령 먼저 출력 |
|
|
76
|
-
|
|
77
|
-
## Pre-Flight Checklist
|
|
78
|
-
|
|
79
|
-
구현 완료 후 최종 점검:
|
|
80
|
-
|
|
81
|
-
- [ ] 위 테이블의 모든 금지 패턴 0개 확인
|
|
82
|
-
- [ ] 로딩/에러/빈 상태 3가지 모두 구현
|
|
83
|
-
- [ ] 모바일 레이아웃 (`w-full`, `px-4`) 보장
|
|
84
|
-
- [ ] `min-h-[100dvh]` 사용 (h-screen 아님)
|
|
85
|
-
- [ ] 모든 트랜지션 `cubic-bezier(0.16, 1, 0.3, 1)`
|
|
86
|
-
- [ ] useEffect cleanup 함수 존재
|
|
87
|
-
- [ ] 한국어 텍스트에 `break-keep-all` 적용
|
|
88
|
-
- [ ] 카드 대신 spacing으로 구분 가능한 곳은 spacing 사용
|
|
89
|
-
- [ ] 인터랙티브 컴포넌트 `'use client'` 격리
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Component Patterns
|
|
2
|
-
|
|
3
|
-
## 프로젝트 구조
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
apps/web/src/
|
|
7
|
-
├── api/
|
|
8
|
-
│ ├── client.ts # fetch 인스턴스 (base: localhost:3000)
|
|
9
|
-
│ ├── types.ts # api-contract.json → TypeScript 1:1
|
|
10
|
-
│ └── [domain].ts # 도메인별 API 함수
|
|
11
|
-
├── components/
|
|
12
|
-
│ ├── ui/ # Button, Input, Modal, Card
|
|
13
|
-
│ └── [domain]/ # 도메인별 컴포넌트
|
|
14
|
-
├── pages/ (또는 app/)
|
|
15
|
-
├── hooks/
|
|
16
|
-
│ └── use[Domain].ts
|
|
17
|
-
├── stores/ # Zustand (클라이언트 상태만)
|
|
18
|
-
└── styles/
|
|
19
|
-
└── globals.css # Tailwind directives
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## API 타입 변환
|
|
23
|
-
|
|
24
|
-
```typescript
|
|
25
|
-
// api-contract.json의 response_200을 그대로 반영
|
|
26
|
-
interface ItemResponse {
|
|
27
|
-
id: number;
|
|
28
|
-
name: string;
|
|
29
|
-
created_at: string;
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## 상태관리
|
|
34
|
-
|
|
35
|
-
- 서버 상태: TanStack Query (캐시, 리페치, 낙관적 업데이트)
|
|
36
|
-
- 클라이언트 상태: Zustand (최소한, 서버 상태와 중복 금지)
|
|
37
|
-
|
|
38
|
-
## 3가지 상태 필수 처리
|
|
39
|
-
|
|
40
|
-
```tsx
|
|
41
|
-
if (isLoading) return <Skeleton />;
|
|
42
|
-
if (error) return <ErrorMessage error={error} />;
|
|
43
|
-
if (data.length === 0) return <EmptyState />;
|
|
44
|
-
return <ItemList items={data} />;
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## 접근성
|
|
48
|
-
|
|
49
|
-
- `<button>`, `<nav>`, `<main>`, `<form>` 시맨틱 태그
|
|
50
|
-
- `aria-label` 필요 시 추가
|
|
51
|
-
- Tab 순서 논리적, Enter/Escape 동작
|
|
52
|
-
- 색상 대비 4.5:1 이상
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
# Design System Rules
|
|
2
|
-
|
|
3
|
-
> 출처: taste-skill (Leonxlnx), supanova-design-skill (uxjoseph)
|
|
4
|
-
> React/Next.js 앱 컨텍스트에 맞게 적응
|
|
5
|
-
|
|
6
|
-
## 디자인 변수 (Baseline)
|
|
7
|
-
|
|
8
|
-
```
|
|
9
|
-
DESIGN_VARIANCE: 8 (1=대칭, 10=비대칭)
|
|
10
|
-
MOTION_INTENSITY: 6 (1=정적, 10=시네마틱)
|
|
11
|
-
VISUAL_DENSITY: 4 (1=갤러리, 10=콕핏)
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
사용자 요청에 따라 동적 조정. Planner의 plan.md에 명시된 톤에 맞춤.
|
|
15
|
-
|
|
16
|
-
## 1. Typography
|
|
17
|
-
|
|
18
|
-
### 한국어
|
|
19
|
-
- **Primary**: Pretendard (CDN 또는 next/font)
|
|
20
|
-
- Headlines: `text-4xl md:text-5xl lg:text-6xl tracking-tight leading-tight font-bold`
|
|
21
|
-
- Body: `text-base md:text-lg text-gray-600 leading-relaxed max-w-[65ch]`
|
|
22
|
-
- **`break-keep-all`** 필수 (한국어 단어 중간 줄바꿈 방지)
|
|
23
|
-
- **`leading-tight` ~ `leading-snug`** (한국어는 Latin보다 수직 여백 필요)
|
|
24
|
-
|
|
25
|
-
### 영문 Display
|
|
26
|
-
- `Geist`, `Outfit`, `Cabinet Grotesk`, `Satoshi` 중 택 1
|
|
27
|
-
- Headlines: `tracking-tighter leading-none`
|
|
28
|
-
- Dashboard/Software UI: Serif 폰트 **금지** → Sans-Serif만 (`Geist` + `Geist Mono`)
|
|
29
|
-
|
|
30
|
-
### 금지 폰트
|
|
31
|
-
Inter, Noto Sans KR, Roboto, Arial, Open Sans, Helvetica, Malgun Gothic
|
|
32
|
-
|
|
33
|
-
## 2. Color
|
|
34
|
-
|
|
35
|
-
- **Accent 1개만.** Saturation < 80%
|
|
36
|
-
- **THE LILA BAN**: AI 보라색/파란색 그라디언트 **금지**
|
|
37
|
-
- Neutral base: Zinc/Slate 계열
|
|
38
|
-
- Accent: Emerald, Electric Blue, Warm Amber, Deep Rose 중 택 1
|
|
39
|
-
- 페이지 전체 warm/cool gray **혼용 금지**
|
|
40
|
-
- **NO Pure Black**: `#000000` 금지 → `#0a0a0a`, Zinc-950, Slate-950
|
|
41
|
-
|
|
42
|
-
### 다크모드
|
|
43
|
-
- 랜딩페이지: 다크 기본 권장 (`bg-zinc-950`)
|
|
44
|
-
- 앱/대시보드: 라이트 기본, 다크 옵션 (`dark:` prefix)
|
|
45
|
-
|
|
46
|
-
## 3. Layout
|
|
47
|
-
|
|
48
|
-
- **ANTI-CENTER BIAS**: DESIGN_VARIANCE > 4 일 때 센터 정렬 Hero **금지**
|
|
49
|
-
- Split Screen (50/50), 좌측 정렬/우측 에셋, 비대칭 여백 사용
|
|
50
|
-
- **NO 3-Column Equal Cards**: Bento Grid, Zig-Zag, 비대칭 그리드 사용
|
|
51
|
-
- **Grid over Flex-Math**: `grid grid-cols-1 md:grid-cols-3 gap-6` (flexbox calc 금지)
|
|
52
|
-
- **컨테이너**: `max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`
|
|
53
|
-
- **섹션 간격**: `py-24 md:py-32 lg:py-40` (디자인이 숨쉬도록)
|
|
54
|
-
- **모바일 오버라이드**: `< 768px`에서 `w-full px-4 py-8` 단일 컬럼 강제
|
|
55
|
-
|
|
56
|
-
### Bento Grid 패턴
|
|
57
|
-
```
|
|
58
|
-
grid grid-cols-12
|
|
59
|
-
- col-span-8 row-span-2 (큰 카드)
|
|
60
|
-
- col-span-4 (작은 카드 2개 스택)
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## 4. Components
|
|
64
|
-
|
|
65
|
-
### Card Architecture (Double-Bezel)
|
|
66
|
-
```
|
|
67
|
-
Outer: bg-white/5 ring-1 ring-white/10 p-1.5 rounded-[2rem]
|
|
68
|
-
Inner: bg-distinct shadow-[inset_0_1px_1px_rgba(255,255,255,0.15)] rounded-[calc(2rem-0.375rem)]
|
|
69
|
-
```
|
|
70
|
-
- Card는 elevation이 hierarchy를 전달할 때만 사용
|
|
71
|
-
- VISUAL_DENSITY > 7: card 대신 `border-t`, `divide-y`, negative space
|
|
72
|
-
|
|
73
|
-
### CTA Button
|
|
74
|
-
```
|
|
75
|
-
rounded-full px-8 py-4 text-lg
|
|
76
|
-
hover:scale-[1.02] active:scale-[0.98]
|
|
77
|
-
transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1)
|
|
78
|
-
```
|
|
79
|
-
- 화살표 아이콘: 원형 래퍼 안에 배치 (`w-8 h-8 rounded-full bg-black/5`)
|
|
80
|
-
- 모바일 최소 48px 높이
|
|
81
|
-
|
|
82
|
-
### Eyebrow Tag
|
|
83
|
-
```
|
|
84
|
-
rounded-full px-3 py-1 text-[11px] uppercase tracking-[0.15em] font-medium bg-accent/10 text-accent
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## 5. Motion
|
|
88
|
-
|
|
89
|
-
### 전역 트랜지션 기본값
|
|
90
|
-
```css
|
|
91
|
-
transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
|
|
92
|
-
```
|
|
93
|
-
`linear`, `ease-in-out` **금지**. 모든 인터랙티브 요소에 이 curve 적용.
|
|
94
|
-
|
|
95
|
-
### 스크롤 진입
|
|
96
|
-
```css
|
|
97
|
-
@keyframes fadeInUp {
|
|
98
|
-
from { opacity: 0; transform: translateY(2rem); filter: blur(4px); }
|
|
99
|
-
to { opacity: 1; transform: translateY(0); filter: blur(0); }
|
|
100
|
-
}
|
|
101
|
-
```
|
|
102
|
-
- `IntersectionObserver`로 트리거 (`window.addEventListener('scroll')` 금지)
|
|
103
|
-
- 형제 요소 stagger: `animation-delay: calc(var(--index) * 80ms)`
|
|
104
|
-
|
|
105
|
-
### Framer Motion (MOTION_INTENSITY > 5)
|
|
106
|
-
- Spring physics: `type: "spring", stiffness: 100, damping: 20`
|
|
107
|
-
- `layout` / `layoutId`로 레이아웃 전환
|
|
108
|
-
- `useMotionValue` + `useTransform` (연속 애니메이션에 useState 금지)
|
|
109
|
-
- Perpetual motion은 `React.memo`로 격리된 Client Component에서만
|
|
110
|
-
- `<AnimatePresence>` 필수
|
|
111
|
-
|
|
112
|
-
### 성능
|
|
113
|
-
- **GPU만**: `transform`, `opacity`만 애니메이션. `top/left/width/height` 금지
|
|
114
|
-
- **Blur 제한**: `backdrop-blur`는 fixed/sticky 요소에만
|
|
115
|
-
- **Z-index**: sticky nav(`z-40`), overlay(`z-50`)에만. 임의 z-50 남발 금지
|
|
116
|
-
- **Grain/Noise**: `position: fixed; pointer-events: none; z-[60]`에서만
|
|
117
|
-
|
|
118
|
-
## 6. Viewport & Responsiveness
|
|
119
|
-
|
|
120
|
-
- **`min-h-[100dvh]`** 사용 (`h-screen` **금지** — iOS Safari 깨짐)
|
|
121
|
-
- Breakpoints: `sm:640` `md:768` `lg:1024` `xl:1280`
|
|
122
|
-
- 모바일 터치 타겟: 최소 44px
|
|
123
|
-
- 텍스트 가독성: 모바일 최소 14px
|
|
124
|
-
|
|
125
|
-
## 7. 한국어 콘텐츠 기준
|
|
126
|
-
|
|
127
|
-
- **자연스러운 한국어**: 번역체 금지
|
|
128
|
-
- 존댓말 일관성: 합니다/하세요 통일
|
|
129
|
-
- CTA: "무료로 시작하기", "3분만에 만들어보기", "지금 바로 체험하기"
|
|
130
|
-
- **금지 표현**: "혁신적인", "획기적인", "차세대", "원활한", "게임 체인저"
|
|
131
|
-
- 이름: 하윤서, 박도현, 이서진, 김하늘 (김철수/John Doe 금지)
|
|
132
|
-
- 숫자: `47,200+`, `4.87/5.0` (50,000+, 5.0 같은 깨끗한 숫자 금지)
|
|
133
|
-
|
|
134
|
-
## 8. Icons
|
|
135
|
-
|
|
136
|
-
- **Phosphor Icons** (`@phosphor-icons/react`) 또는 **Radix Icons** (`@radix-ui/react-icons`)
|
|
137
|
-
- strokeWidth 전역 통일 (1.5 또는 2.0 중 택 1)
|
|
138
|
-
- **이모지 금지**: 코드, 마크업, 텍스트 어디에서든
|
|
139
|
-
- FontAwesome, Material Icons 금지 (두꺼운 선)
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# Vercel / Next.js Best Practices
|
|
2
|
-
|
|
3
|
-
> 출처: Vercel Engineering, Next.js App Router 공식 문서
|
|
4
|
-
|
|
5
|
-
## Framework 기본값
|
|
6
|
-
|
|
7
|
-
- **Next.js App Router** + **Server Components** 기본
|
|
8
|
-
- `'use client'`는 인터랙션이 필요한 곳에만 추가
|
|
9
|
-
- `proxy.ts` (Next.js 16+) 또는 `middleware.ts`로 인터셉션, 인증 게이트, 리다이렉트
|
|
10
|
-
- Cache Components, `next/image`, `next/font` 우선 사용
|
|
11
|
-
|
|
12
|
-
## RSC (React Server Components) 규칙
|
|
13
|
-
|
|
14
|
-
- **RSC 안전**: 전역 상태는 Client Components에서만 동작
|
|
15
|
-
- Next.js에서 Provider는 별도 `'use client'` 컴포넌트로 래핑
|
|
16
|
-
- **인터랙티비티 격리**: 모션/인터랙션이 있는 UI는 독립 leaf 컴포넌트로 추출 + `'use client'`
|
|
17
|
-
- Server Components는 정적 레이아웃만 렌더링
|
|
18
|
-
|
|
19
|
-
## 렌더링 전략
|
|
20
|
-
|
|
21
|
-
- **SSG (Static)**: 변하지 않는 페이지
|
|
22
|
-
- **ISR (Incremental)**: 주기적 갱신이 필요한 페이지
|
|
23
|
-
- **SSR (Dynamic)**: 요청마다 달라지는 페이지
|
|
24
|
-
- **PPR (Partial Prerendering)**: 정적 쉘 + 동적 홀 조합
|
|
25
|
-
|
|
26
|
-
## 성능 최적화
|
|
27
|
-
|
|
28
|
-
- `next/image`: 자동 최적화, `loading="lazy"`, `sizes` 속성 필수
|
|
29
|
-
- `next/font`: 빌드 타임 폰트 최적화, 레이아웃 시프트 방지
|
|
30
|
-
- **번들 사이즈**: `'use client'` 경계에서 트리쉐이킹 확인
|
|
31
|
-
- **Core Web Vitals**: LCP < 2.5s, FID < 100ms, CLS < 0.1 목표
|
|
32
|
-
|
|
33
|
-
## 상태관리 전략
|
|
34
|
-
|
|
35
|
-
- **서버 상태**: TanStack Query (캐시, 리페치, 낙관적 업데이트)
|
|
36
|
-
- **클라이언트 상태**: Zustand (최소한, 서버 상태와 중복 금지)
|
|
37
|
-
- `useState`/`useReducer`: 격리된 UI 로직에만
|
|
38
|
-
- 전역 상태: deep prop-drilling 회피 목적으로만
|
|
39
|
-
|
|
40
|
-
## 의존성 검증 [필수]
|
|
41
|
-
|
|
42
|
-
3rd party 라이브러리 import 전 반드시 `package.json` 확인.
|
|
43
|
-
없으면 설치 명령 먼저 출력. **존재를 가정하지 않는다.**
|
|
44
|
-
|
|
45
|
-
## Tailwind CSS 버전 관리
|
|
46
|
-
|
|
47
|
-
- `package.json`에서 v3/v4 확인 후 해당 문법 사용
|
|
48
|
-
- v4: `postcss.config.js`에 `tailwindcss` 플러그인 사용 금지 → `@tailwindcss/postcss` 또는 Vite 플러그인
|
|
49
|
-
- v3 프로젝트에 v4 문법 혼용 금지
|
|
50
|
-
|
|
51
|
-
## shadcn/ui 사용 시
|
|
52
|
-
|
|
53
|
-
- 기본 상태 그대로 사용 **금지**
|
|
54
|
-
- radius, colors, shadows를 프로젝트 디자인 시스템에 맞게 커스터마이즈 필수
|