Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install tool-appgit clone https://github.com/CafeIT25/dev-tools.gitcp -r dev-tools/ ~/.claude/skills/tool-app/# 技術スタック - 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(予定)
```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: 初版作成
- 今後、実装に応じて随時更新予定