Communityコーディング&開発github.com

elysiajs/elysiajs

ElysiaJS(型安全で高性能なフレームワーク)を使ってバックエンドを作成します。

elysiajs とは?

このスキルは、ElysiaJS フレームワークを使用してタイプセーフで高性能なバックエンドアプリケーションを開発するためのものです。ElysiaJS は、TypeScript の型システムを最大限に活用し、静的型チェックによる堅牢なコードを実現します。また、高速な処理性能を持ち、ミドルウェアやプラグインのエコシステムも充実しています。このスキルを使用することで、開発者はルーティング、バリデーション、エラーハンドリングなどを効率的に実装でき、保守性の高い API サーバーを構築できます。主に Bun や Node.js 環境で動作し、CLI コマンドや設定ファイルはそのまま使用する必要があります。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/elysiajs/skills/tree/main/skills/elysiajs

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

elysiajs は何をしますか?

ElysiaJS(型安全で高性能なフレームワーク)を使ってバックエンドを作成します。

概要

ElysiaJS は、TypeScript の型推論を活用した、高速で型安全な Web フレームワークです。このスキルは、ElysiaJS を使用してバックエンド API を効率的に構築するためのガイドを提供します。

主な特徴

  • 型安全性: TypeScript の型システムを最大限に活用し、コンパイル時にエラーを検出します。
  • 高性能: 軽量で高速なランタイム(Bun 推奨)で動作し、低レイテンシを実現します。
  • プラグインシステム: 豊富なプラグインエコシステムにより、認証、CORS、レート制限などの機能を簡単に追加できます。
  • 直感的な API: シンプルで宣言的な API 設計により、学習コストを低減します。

対応プラットフォーム

  • Bun
  • Node.js

クイックスタート

# Bun を使用してプロジェクトを作成
bun create elysia app

# 依存関係をインストール
cd app
bun install

# 開発サーバーを起動
bun run dev

基本的なルーティング

import { Elysia } from 'elysia'

const app = new Elysia()
  .get('/', () => 'Hello World')
  .get('/user/:id', ({ params: { id } }) => {
    return { id, name: `User ${id}` }
  })
  .post('/data', ({ body }) => {
    return { received: body }
  })
  .listen(3000)

console.log(`Server running at http://localhost:${app.server?.port}`)

型安全なバリデーション

ElysiaJS は、スキーマベースのバリデーションをサポートしています。

import { Elysia, t } from 'elysia'

const app = new Elysia()
  .post('/login', ({ body }) => {
    return { success: true, email: body.email }
  }, {
    body: t.Object({
      email: t.String({ format: 'email' }),
      password: t.String({ minLength: 8 })
    })
  })
  .listen(3000)

ミドルウェアとプラグイン

import { Elysia } from 'elysia'
import { cors } from '@elysiajs/cors'
import { swagger } from '@elysiajs/swagger'

const app = new Elysia()
  .use(cors())
  .use(swagger())
  .get('/', () => 'Hello with CORS and Swagger')
  .listen(3000)

詳細情報

関連スキル