init-project
Installation
SKILL.md
Init Project
新規プロジェクトの骨組みを、毎回同じ形で作る。言語は Go か TypeScript のどちらか。TypeScript は React + TanStack Start の Web アプリとして立ち上げ(Bun、Tailwind CSS + shadcn/ui)、Effect を標準のアプリケーション基盤、Ultracite + Oxlint/Oxfmt をコード品質の標準にする。ツールはすべて mise で管理し、バージョンは pin する(latest を書かない)。
原則:
- ツールは mise 経由。グローバルインストールや
go install/npm i -gを直接やらない。mise.tomlの[tools]に書き、mise installで入れる - バージョンは pin。
mise ls-remote <tool>で最新を確認してから、マイナーまで固定して書く(bun = "1.4"、go = "1.27")。latestは使わない - GitHub Actions の
uses:は pinact で SHA に pinし、各 action は Releases を見て最新メジャーを使う - TypeScript は React / TanStack を第一候補にする。フレームワークは TanStack Start、ルーティング・サーバ状態・フォーム・テーブルなどは TanStack の同名ライブラリを使う。TanStack に無い領域(UI、アイコン、バリデーション、テスト)だけ他を探す。UI は Tailwind CSS + shadcn/ui
- TypeScript は Effect を既定採用。成功・失敗・依存関係を Effect の型に載せ、
Effect.run*は server function / loader などのアプリケーション境界に寄せる。ユーザーが明示的に不要と言った場合だけ外す - TypeScript の lint / format は Ultracite。Oxlint + Oxfmt、type-aware lint、anti-slop preset を既定にする。Ultracite に agent files / hooks は生成させず、このスキルが作る
CLAUDE.md/AGENTS.mdと競合させない - CI は format / lint / typecheck / test を最低限とし、TypeScript は build も通す
言語別の雛形は references/typescript.md と references/go.md、CI の規約と action の最新版は references/github-actions.md。選んだ言語の reference だけ読む。