環境構築は失敗したときがめんどくさい気がして地味にAIに完全には頼りずらいので備忘録として参考にしたものを残しておきます。
基本的にはそれぞれの言語でリンタとフォーマッタぐらいまでの設定しておくとだんだんきれいなコードが書けるようになるのではと期待しています。
python + uv + Ruff + ty
参考になった”数理の弾丸”様の記事
全て入れるのは初心者的にハードルが高いが、
uv(パッケージ管理)とRuff(コード整形、チェック)ぐらいは常に使用しておくと捗るはず。
ちなみにuvもRuffも”Astral Software Inc.”という謎の会社のソフトウェアです(日経新聞風)。

新しいプロジェクトを始めるときの流れ。詳細は上記の本家様参照ください。
uv init uv add --dev ruff uv add --dev ty uv add --dev poethepoet
一行でまとめて実行できるようにするには下記の内容をpyproject.tomlに記述して
uv run poe check
で実行可能。
初心者なのでチェック後自動で修正されるlintの–fixオプションは外しています。
# pyproject.toml に追記 [tool.poe.tasks] format = "uv run ruff format ." lint = "uv run ruff check ." type-check = "uv run ty check ." check = ["format", "lint", "type-check"]
uv
基本的には公式参照推奨。2025年11月現在では
mac と Linux(WSL含む)は下記コマンドでインストールできる。
curl -LsSf https://astral.sh/uv/install.sh | sh
Windowsは下記コマンドでインストールできる。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
使い方 基本のみ
基本は時間があればこちらも公式を参照するのがおすすめhttps://docs.astral.sh/uv/
プロジェクトの作業ディレクトリで以下コマンドで準備完了。
uv init
追加したいパッケージがある場合は
uv add <パッケージ名>
コードなど実行したい場合は
uv run <コマンド>
例えば以下のように実行。
uv run main.py
おまけ:uvでURLを指定してインストールしたい場合
例えばpytorchのwheelを指定して韻すろーるしたい場合以下のように書いてからuv add torchなどでインストールする。
[[tool.uv.index]]
name = "pytorch-cu13" # 任意の名前
url = "https://download.pytorch.org/whl/cu130"
explicit = true
[tool.uv.sources]
torch = { index = "pytorch-cu13" }
torchvision = { index = "pytorch-cu13" }
torchaudio = { index = "pytorch-cu13"}
Ruff
更新履歴
- 20260110 mypyからAstral社のty(より高速?)による型チェックに更新しました。
TypeScript + Biome + Docker
webアプリ開発環境
コンテナ周りの土台と言語、その他共通のツール
- インフラ層
Docker Compose - 言語
TypeScript - パッケージマネージャー
pnpm
バックエンド側のツール
- ランタイム
Node.js - アプリケーションフレームワーク
Fastify
テスト系
テストランナー
Vitest(ユニット / 統合テスト)
モック / テスト補助
Node 用の HTTP クライアント(supertest / undici / axios など)
モック・spy: Vitest 組み込みの vi.fn など
DB / ORM・マイグレーション
ORM / Query Builder:
Prisma / Drizzle ORM / Kysely など
マイグレーション:
ORM 組み込みの CLI(prisma migrate など)
Docker 側では:
DB コンテナ(PostgreSQL / MySQL / MariaDB / MongoDB など)
統合テスト向け
Testcontainers for Node.js(テスト時だけ DB コンテナ自動起動)
or
docker-compose で test 用の DB を立ち上げ、Vitest から接続
フロントエンド側のツール
- フロントエンド側のツール
ビルド / 開発サーバー
Vite
Dev サーバー
本番ビルド(SSR を使う場合は、そのフレームワーク側の設定も加わる)
フレームワーク
React / Vue / Svelte / Solid など
(ここはプロジェクト依存)
テスト系
ユニット & コンポーネントテスト
Vitest
Testing Library(@testing-library/react など)
DOM 環境: jsdom or happy-dom
ブラウザ E2E
Playwright(または Cypress だが、最近は Playwright に寄りがち)
API モック
MSW(Mock Service Worker)
フロントエンドからの HTTP リクエストをモック
Storybook / Vitest / Playwright などと連携できる
tmp
コンテナ / インフラ
- Docker, Docker Compose(+ 本番なら K8s 等)
言語 / ランタイム / パッケージ
- Node.js, TypeScript, tsx, npm/pnpm/yarn
バックエンドアプリ
- Node フレームワーク(Express / Fastify / NestJS 等)
- ORM / DB / マイグレーション(Prisma 等)
- テスト(Vitest, Testcontainers)
フロントエンドアプリ
- Vite + フレームワーク(React 等)
- コンポーネントテスト(Vitest + Testing Library)
- E2E(Playwright)
- モック(MSW)
品質管理
- ESLint, Prettier, tsc, 型テスト
- セキュリティ / 依存管理ツール
開発体験(DX)
- ホットリロード, デバッガ
- API / DB クライアント
- Storybook / API ドキュメント
CI / CD
- GitHub Actions など
- Lint / Test / Build / E2E / Docker ビルド / デプロイ

コメント