install
source · Clone the upstream repo
git clone https://github.com/CafeIT25/dev-tools
manifest:
skill.mdsource content
技術スタック - Tool App
コア技術
フロントエンドフレームワーク
- React 18.3.x
- 最新の機能を活用(Concurrent Features、Suspense)
- Server Componentsは今回は使用しない(クライアントサイド完結のため)
ビルドツール
- Vite 6.x
- 高速な開発サーバー
- HMR(Hot Module Replacement)
- 最適化されたプロダクションビルド
言語
- TypeScript 5.x
- 型安全性の確保
- 開発体験の向上
- 厳格な型チェック設定
状態管理
- Zustand 5.x
- シンプルで軽量な状態管理
- TypeScript完全サポート
- DevToolsサポート
スタイリング
-
TailwindCSS v4(最新版)
- ユーティリティファーストCSS
- JIT(Just-In-Time)コンパイル
- カスタムデザインシステムの構築
-
CSS Modules(必要に応じて)
- コンポーネントスコープのスタイリング
- Liquid Glass効果の詳細な実装
UI/UXライブラリ
アイコン
- Lucide React
- 軽量で美しいアイコンセット
- Tree-shakable
- TypeScriptサポート
アニメーション
- Framer Motion
- 滑らかなアニメーション
- ジェスチャー対応
- レイアウトアニメーション
ツリービュー
- React Arborist または @tanstack/react-virtual
- 高性能なツリービュー実装
- バーチャルスクローリング対応
データ処理
JSON/YAML処理
- js-yaml
- YAMLのパース/シリアライズ
- TypeScript型定義付き
テキスト選択
- rangy または selection-range
- 高度なテキスト選択機能
- 部分マスキング実装用
ユーティリティ
クリップボード操作
- clipboard-copy
- クロスブラウザ対応
- Promiseベース
シンタックスハイライト
- Prism.js または Monaco Editor(軽量版)
- JSON/YAML/テキストのハイライト
- カスタムテーマ対応
正規表現
- ネイティブJavaScript RegExp
- regex101のパターンライブラリ参考
開発ツール
コード品質
-
ESLint 9.x
- コード品質の維持
- TypeScript ESLintプラグイン
- React Hooksルール
-
Prettier 3.x
- コードフォーマット統一
- ESLintとの統合
テスト(将来的に導入)
-
Vitest
- Viteネイティブテストランナー
- Jest互換API
-
React Testing Library
- コンポーネントテスト
- ユーザー中心のテスト
パフォーマンス最適化
バンドル最適化
- Rollup(Viteに統合)
- Tree-shaking
- コード分割
- 動的インポート
実行時最適化
-
React.memo
- コンポーネントの再レンダリング防止
-
useMemo/useCallback
- 計算結果のメモ化
-
Virtual Scrolling
- 大量データの効率的表示
セキュリティ考慮事項
クライアントサイド処理
- すべての処理はブラウザ内で完結
- 外部APIへの通信なし
- LocalStorageの使用は最小限
サニタイゼーション
- XSS対策(Reactのデフォルト機能を活用)
- 正規表現のDoS攻撃対策
バージョン管理
package.json(予定)
{ "dependencies": { "react": "^18.3.0", "react-dom": "^18.3.0", "zustand": "^5.0.0", "lucide-react": "^0.300.0", "framer-motion": "^11.0.0", "js-yaml": "^4.1.0", "clipboard-copy": "^4.0.0" }, "devDependencies": { "@types/react": "^18.3.0", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.0", "typescript": "^5.5.0", "vite": "^6.0.0", "tailwindcss": "^4.0.0", "eslint": "^9.0.0", "prettier": "^3.0.0" } }
アーキテクチャ方針
Atomic Design
src/ ├── components/ │ ├── atoms/ # 最小単位のコンポーネント │ ├── molecules/ # 複数のatomsの組み合わせ │ ├── organisms/ # 複雑なUIパーツ │ ├── templates/ # ページレイアウト │ └── pages/ # 完全なページ ├── hooks/ # カスタムフック ├── stores/ # Zustandストア ├── utils/ # ユーティリティ関数 └── styles/ # グローバルスタイル
デザインパターン
- Container/Presentationalパターン
- Compound Componentsパターン(複雑なコンポーネント用)
- Render PropsまたはCustom Hooks(ロジックの共有)
更新履歴
- 2025-01-07: 初版作成
- 今後、実装に応じて随時更新予定