サブドメイン別サイトのモノレポ。
apps/
├── portfolio/ # portfolio.0214sh7.dev
└── blog/ # blog.0214sh7.dev
packages/
└── styles/ # 共通デザイントークン
- フレームワーク: Astro
- スタイリング: Tailwind CSS v4
- 言語: TypeScript (strict mode)
- パッケージ管理: npm workspaces
npm run dev:portfolio # ポートフォリオ開発サーバー (localhost:4321)
npm run dev:blog # ブログ開発サーバー (localhost:4321)
npm run build:portfolio # ポートフォリオビルド
npm run build:blog # ブログビルド各アプリ内での操作:
npm run dev # 開発サーバー起動
npm run build # 本番ビルド (dist/ に出力)
npm run preview # ビルド結果のプレビュー<type>/<scope>/<what-to-do>
<scope>はアプリ名(portfolio,blog)またはshared(共通変更)
feat- 新機能fix- バグ修正chore- 雑務(設定変更、依存関係更新など)docs- ドキュメントrefactor- リファクタリングstyle- スタイル変更test- テスト
例: feat/blog/add-tag-filter, fix/portfolio/header-layout, chore/shared/update-deps
Conventional Commits に従う。
<type>(<scope>): <description>
- scope はアプリ名(
portfolio,blog)またはshared - 1行で簡潔に要約する
- 英語で記述する
例:
feat(blog): add tag filterfix(portfolio): resolve header layout issuechore(shared): update tailwind tokens
Cloudflare Pages により、main ブランチへの push で自動デプロイされる。
各サイトは独立した CF Pages プロジェクトとして管理。
| サイト | CF Pages プロジェクト | Root directory |
|---|---|---|
| portfolio | portfolio |
apps/portfolio |
| blog | blog |
apps/blog |
apps/<site-name>/を作成(Astro プロジェクト)- ルート
package.jsonのscriptsにdev:<site-name>,build:<site-name>を追加 - CF Pages で新プロジェクト作成、Root directory を
apps/<site-name>に設定 - この CLAUDE.md のデプロイ表に追記