본문으로 건너뛰기
cccskills
무료GitHub에 공개

dzero-js

D-ZERO の JavaScript/TypeScript コーディング規約。JS/TS を書く・編集する・レビューするときに使う。イベント処理、DOM 操作、状態変更、ライブラリ追加、スクリプト読み込みに適用する。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

JavaScript コーディング規約

実装レイヤー選定(dzero-tech-selection)を経ていない場合は先にそちらを読むこと。HTML だけで実現できるものは JavaScript で実装しない。 詳細は JavaScript ガイドライン を参照。

実装規範

モジュール設計

  • 目的や機能ごとにファイルを分割する
  • 実行タイミングをコントロールできるよう、ひとつの関数にまとめて export する(定数の export は可)
  • import した時点でブラウザや DOM に影響する処理が走る実装(import 副作用)を避ける。import 後に任意に実行できる状態にする
  • type="module" 環境のためファイル参照に拡張子は必須。TypeScript ファイルの参照は .ts を .js に変えて書く。__assets/_libs はエイリアス @ で参照する

DOM・スタイル操作

  • style 属性のプロパティを直接書き換えない。状態の変更は、その状態を表す data-* 属性の変更で行い、スタイルは CSS 側で管理する(JS はロジックと管理に徹する)
  • 動的な値を反映する場合はカスタムプロパティを使う(el.style.setProperty('--block-size', ...))
  • インタラクションの呼び出しは command 属性を基本とし、規定にないアクションやフックは command イベント(e.command / e.source)で実装する。[commandfor] の要素に直接イベントリスナを張るような、意図と振る舞いの関連が不明確な実装は避ける

パフォーマンス

  • 頻発するイベント・タイマー(scroll / resize / mousemove / touchmove / wheel / setTimeout / setInterval)での監視は避け、代替 API を使う:
    • ビューポート進入の検知 → IntersectionObserver
    • 要素サイズ変更の検知 → ResizeObserver
    • ウィンドウ幅・メディアクエリ状態 → window.matchMedia
  • イベントリスナには Passive Event Listener({ passive: true })を利用する
  • 同一フレーム内で複数回走りうる処理は requestAnimationFrame(+ cancelAnimationFrame)で間引く
  • 同じ戻り値を期待できる処理(セレクタクエリ等)は変数化して繰り返さない

ライブラリ

  • 許可リスト: core-js、@oddbird/popover-polyfill、invokers-polyfill、what-input、jQuery、Splide。リスト外のライブラリは必ず相談する
  • 信頼性(継続的な保守運用が可能か)を十分に検証する
  • yarn で NPM からインストールして import で利用するのが基本。package.json と yarn.lock の変更はコミットする
  • CDN から直接参照しない。外部ファイルとして読み込む必要がある場合はダウンロードして同じサーバーにセルフホストする

読み込み

  • script 要素には type="module" が必要。基本は import を利用し、script 要素での直接読み込みは例外(依存順に注意)
  • インライン JavaScript が許されるのは、タグマネージャー・トラッキング・SNS 埋め込み・そのページ限定と保証されたコードのみ。書く場合は <script type="module">(タグマネージャー等は加工せずそのまま貼る)

lint

  • リントエラー(ESLint / Prettier)は例外なく必ず修正する。eslint-disable で逃げず、ルールが現状にそぐわない場合は Config ファイルの変更を提案する

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

D-ZERO のアクセシビリティ規約。マークアップやインタラクションの実装・変更・レビューで、WAI-ARIA、代替テキスト(alt)、ランドマーク、見出し、キーボード操作、フォーカスを扱うときに使う。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

d-zero-dev/frontend-guidelines202026년 10월 15일 업데이트

dzero-css

무료

D-ZERO の CSS コーディング規約。CSS を書く・編集する・レビューするときに使う。コンポーネントのスタイル、レイアウト、レスポンシブ、カスタムプロパティ、セレクタ設計に適用する。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

d-zero-dev/frontend-guidelines202026년 10월 15일 업데이트

デザインデータ(Figma などのデザインカンプ)を参照してコーディングするときの解釈原則とアセットの扱い。Figma の URL・MCP・デザイン画像・カンプをもとに実装や修正をするときに必ず使う。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

d-zero-dev/frontend-guidelines202026년 10월 15일 업데이트

D-ZERO の HTML/Pug マークアップ規約。HTML や Pug を書く・編集する・レビューするときに使う。コンポーネント設計、クラス命名、文書構造、画像、リンク、メタ情報に適用する。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

d-zero-dev/frontend-guidelines202026년 10월 15일 업데이트

フロントエンド実装のコードレビューを実施する。PR レビュー、コードレビュー、実装チェック、品質確認を依頼されたときに使う。実装レイヤー選定の妥当性から各技術軸の観点まで順に検査する。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

d-zero-dev/frontend-guidelines202026년 10월 15일 업데이트

UI・機能・コンポーネントの実装レイヤー(HTML/CSS/JavaScript)を決定する判断基準。実装・修正の着手前に必ず読む。アコーディオン、モーダル、ポップオーバー、開閉・切替などのインタラクション実装を依頼されたときに使う。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

d-zero-dev/frontend-guidelines202026년 10월 15일 업데이트

d-zero-dev의 스킬 모두 보기

이 스킬의 문제 신고