Back to list
bayamasa

api-development

by bayamasa

0🍴 0📅 Jan 12, 2026

SKILL.md


name: api-development description: Hono + Zod OpenAPIを使用したAPIエンドポイント作成を支援。(1)新しいAPIエンドポイント追加、(2)ルート定義作成、(3)レスポンススキーマ定義、(4)エンティティスキーマ作成で使用。トリガー:「APIを作成」「エンドポイント追加」「ルート追加」「GET/POST/PUT/DELETE API」「スキーマ定義」「レスポンス型」

API Development

Hono + Zod OpenAPI + Drizzle ORM構成。

API作成手順

  1. shared/src/schemas/responses/ にレスポンススキーマ作成
  2. backend/src/routes/ にルート定義作成
  3. backend/src/index.ts にルートをマウント

命名規則

エンドポイントレスポンス名
GET /v1/toursToursResponse
GET /v1/tours/:idTourResponse
GET /v1/destinations/:id/toursDestinationToursResponse

詳細: naming-conventions.md

ルート定義

import { createRoute, OpenAPIHono, z } from '@hono/zod-openapi'
import { MyResponse } from '@trippers/shared/schemas/responses'
import { db } from '@db/index'

const router = new OpenAPIHono()

const getRoute = createRoute({
  method: 'get',
  path: '/',
  tags: ['TagName'],
  summary: '概要',
  responses: {
    200: { description: '成功', content: { 'application/json': { schema: MyResponse } } },
    500: { description: 'エラー', content: { 'application/json': { schema: z.object({ error: z.string() }) } } },
  },
})

router.openapi(getRoute, async (c) => {
  const data = await db.select().from(myTable)
  return c.json(data, 200)
})

export { router as myRoute }

パスパラメータ・スキーマ定義の詳細: templates.md

マウント

// backend/src/index.ts
app.route('/v1/my-resource', myRoute)

チェックリスト

  • shared/src/schemas/responses/ にレスポンススキーマ
  • shared/src/schemas/responses/index.ts にexport追加
  • backend/src/routes/ にルート定義
  • backend/src/index.ts にマウント

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon