--- name: corder-code-templates description: | Generate code templates for common patterns: REST API endpoints, React components, database models, authentication, error handling. Use when implementing new features or creating boilerplate code. This skill provides production-ready code templates: - REST API endpoints (Express, FastAPI) - React/Vue components with best practices - Database models (Sequelize, TypeORM, Mongoose) - Authentication middleware (JWT, OAuth) - Error handling patterns Triggers: "create API", "new component", "implement auth", "add model", "generate code", "コードテンプレート", "API作成", "コンポーネント作成" allowed-tools: - Read - Write - Bash --- # Corder Code Templates Skill ## 概要 このSkillは、corderエージェントが新機能を実装する際に使用するコードテンプレート集です。REST APIエンドポイント、Reactコンポーネント、データベースモデル、認証ロジック、エラーハンドリングなど、頻出パターンのテンプレートを提供します。 ## 主な機能 1. **REST APIエンドポイント**: Express.js、FastAPIのテンプレート 2. **Reactコンポーネント**: 関数コンポーネント、Hooks、状態管理 3. **データベースモデル**: Sequelize、TypeORM、Mongoose 4. **認証ミドルウェア**: JWT、OAuth、セッション管理 5. **エラーハンドリング**: グローバルエラーハンドラー、カスタムエラークラス ## 使用方法 ### テンプレート一覧 ``` templates/ ├── rest-api-endpoint.js # Express REST APIエンドポイント ├── rest-api-endpoint.py # FastAPI エンドポイント ├── react-component.jsx # React関数コンポーネント ├── react-component-ts.tsx # React + TypeScript ├── database-model.js # Sequelize モデル ├── auth-middleware.js # JWT認証ミドルウェア └── error-handler.js # エラーハンドリング ``` ### 使用例 **1. REST APIエンドポイント作成** テンプレートファイル `rest-api-endpoint.js` をコピーして、プロジェクトに追加します: ```javascript // templates/rest-api-endpoint.js をベースに実装 const express = require('express'); const router = express.Router(); /** * @route GET /api/users * @desc Get all users * @access Public */ router.get('/', async (req, res) => { try { const users = await User.findAll(); res.json({ success: true, data: users }); } catch (error) { res.status(500).json({ success: false, error: error.message }); } }); module.exports = router; ``` **2. Reactコンポーネント作成** ```jsx // templates/react-component.jsx をベースに実装 import React, { useState, useEffect } from 'react'; const UserList = () => { const [users, setUsers] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { fetchUsers(); }, []); const fetchUsers = async () => { try { const response = await fetch('/api/users'); const data = await response.json(); setUsers(data.data); } catch (err) { setError(err.message); } finally { setLoading(false); } }; if (loading) return