Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

antfu

Anthony FuのJavaScript/TypeScriptプロジェクト向けのこだわりのツール設定と規約を提供します。新規プロジェクトのセットアップ、ESLint/Prettierの代替設定、モノレポ構成、ライブラリの公開、またはユーザーがAnthony Fuのスタイルを好む場合に活用してください。

description の原文を見る

Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects, configuring ESLint/Prettier alternatives, monorepos, library publishing, or when the user mentions Anthony Fu's preferences.

SKILL.md 本文

コーディング慣行

コード構成

  • 単一責任の原則: 各ソースファイルは明確で焦点を絞ったスコープ/目的を持つべき
  • 大きなファイルの分割: ファイルが大きくなったり複数の責務を扱う場合は分割する
  • 型の分離: 型とインターフェースは常に types.ts または types/*.ts に分離する
  • 定数の抽出: 定数は専用の constants.ts ファイルに移動する

実行環境

  • 同形的コードを推奨: Node、ブラウザ、Workers で動作する環境非依存コードを可能な限り記述する
  • 明確な実行環境指示: コードが環境固有の場合、ファイル先頭にコメントを追加する:
// @env node
// @env browser

TypeScript

  • 明示的な戻り値型: 可能な限り戻り値型を明示的に宣言する
  • 複雑なインライン型を避ける: 複雑な型は専用の type または interface 宣言に抽出する

コメント

  • 不要なコメントを避ける: コードは自己説明的であるべき
  • 「何」ではなく「なぜ」を説明: コメントはコードが何をするかではなく、推論や意図を説明する

テスト (Vitest)

  • テストファイル: foo.tsfoo.test.ts (同じディレクトリ)
  • describe/it API を使用する (test は不可)
  • 複雑な出力には toMatchSnapshot を使用する
  • 言語固有のスナップショットには明示的なパスで toMatchFileSnapshot を使用する

ツール選択

@antfu/ni コマンド

コマンド説明
ni依存関係をインストール
ni <pkg> / ni -D <pkg>依存関係 / 開発依存関係を追加
nr <script>スクリプトを実行
nu依存関係をアップグレード
nun <pkg>依存関係をアンインストール
nciクリーンインストール (pnpm i --frozen-lockfile)
nlx <pkg>パッケージを実行 (npx)

npm パッケージバージョンの確認

fast-npm-meta を使用してパッケージの最新バージョンを調べます。小さなメタデータエンドポイントをクエリするため、レジストリ全体をダウンロードする (パッケージあたり数メガバイト可能) よりも効率的です。

nlx fast-npm-meta version vite              # 7.3.1
nlx fast-npm-meta version "nuxt@^3.5"       # 3.5.22 — 範囲対応
nlx fast-npm-meta version vite nuxt vue     # 複数同時に
nlx fast-npm-meta version vite --json       # スクリプト用 JSON
nlx fast-npm-meta full vite                 # 完全バージョンリスト + dist-tags

最新バージョンのみが必要な場合は npm view <pkg> version よりも、またはレジストリから直接 package.json を読むよりもこちらを推奨します。

TypeScript 設定

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "ESNext",
    "moduleResolution": "bundler",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true
  }
}

ESLint セットアップ

// eslint.config.mjs
import antfu from '@antfu/eslint-config'

export default antfu()

タスク完了時は pnpm run lint --fix を実行してコードをフォーマットしコーディングスタイルを修正します。

詳細な設定オプションについては: antfu-eslint-config

Git フック

{
  "simple-git-hooks": {
    "pre-commit": "pnpm i --frozen-lockfile --ignore-scripts --offline && npx lint-staged"
  },
  "lint-staged": { "*": "eslint --fix" },
  "scripts": {
    "prepare": "npx simple-git-hooks"
  }
}

pnpm カタログ

pnpm-workspace.yaml で名前付きカタログを使用してバージョン管理を行います:

カタログ目的
prod本番依存関係
inlinedバンドラー内参照依存関係
dev開発ツール (リンター、バンドラー、テスト)
frontendフロントエンドライブラリ

デフォルトカタログは避けます。カタログ名はプロジェクト要件に応じて調整できます。


リファレンス

トピック説明リファレンス
ESLint 設定フレームワークサポート、フォーマッター、ルールオーバーライド、VS Code 設定antfu-eslint-config
プロジェクトセットアップ.gitignore、GitHub Actions、VS Code 拡張機能setting-up
アプリ開発Vue/Nuxt/UnoCSS の慣行とパターンapp-development
ライブラリ開発tsdown バンドリング、純粋 ESM パブリッシングlibrary-development
モノレポpnpm workspaces、一元化されたエイリアス、Turborepomonorepo

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
antfu
リポジトリ
antfu/skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/antfu/skills / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: antfu · antfu/skills · ライセンス: MIT