技術スタック

Ship Codingを支えている技術スタックと、その選定理由。 AIコーディングではルールがバラつきやすい。だからLinterや型チェックで機械的に検出できる状態にしておくことと、それらが速く回ることを重視している。

Stack

Next.js 16 (TypeScript)
一番慣れているフレームワーク。App Router + RSCでサーバーファースト。
Tailwind CSS v4
v4のCSS-first config。デザイントークンをCSSカスタムプロパティで管理。
Bun
パッケージマネージャー、テストランナー、スクリプト実行をBunに統一。速い。

Architecture

Feature-Sliced Design
レイヤーとスライスによる依存方向の強制。Steigerで自動検証している。小規模でも入れる価値がある。

Quality

Biome
フォーマットとLintを一つのツールで。設定が少なく速い。
Bun Test
Jest互換API。Happy DOMでコンポーネントテスト。速くて設定が少ない。
Knip
未使用コード検出。AIコーディングはデッドコードが増えやすい。放置するとコンテキストが膨らむので、こまめに消す。
Steiger
FSDのレイヤー依存ルールを自動検証。アーキテクチャの劣化を防ぐ。

Infrastructure

Cloudflare Pages
エッジでの静的配信とSSR。GitHub連携でプレビューデプロイ。グローバルCDNが速い。

Content

MDX
Markdownにカスタムコンポーネントを埋め込める。CMSを挟まずファイルベースで管理。

Toolkit

このサイトに限らず、普段の開発でよく使っている技術。

Development

Claude Code
メインの開発ツール。コード生成、レビュー、リファクタリングまで。
Cursor
エディタ。Claude Codeと併用している。

Web

Next.js
Webアプリのデフォルト選択肢。このサイトもNext.js。
Hono
Cloudflare Workers上の軽量Webフレームワーク。APIサーバーに使っている。
Drizzle ORM + Turso
TypeScriptファーストのORM + エッジで動くSQLite。型安全にDBを扱える。
Turborepo
モノレポのタスク管理。キャッシュが効いてビルドが速い。

Mobile

Expo
React Nativeアプリの開発・ビルド・配信。NativeWindでTailwindの書き味をそのまま持ち込める。