Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"$schema": "https://biomejs.dev/schemas/1.7.3/schema.json",
"organizeImports": { "enabled": true },
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"correctness": { "useExhaustiveDependencies": "error" },
"suspicious": { "noExplicitAny": "error" }
}
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 80
},
"javascript": {
"formatter": {
"quoteStyle": "double",
"semicolons": "always"
}
}
}
4 changes: 4 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// ESLint の設定ファイル
module.exports = {
extends: ['next/core-web-vitals'],
};
40 changes: 40 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: CI

on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]

jobs:
lint-and-typecheck:
name: Lint and Type Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci
- name: Run Biome Lint & Format Check
run: npm run lint:biome
- name: Run TypeScript Type Check
run: npm run build
build:
name: Build Project
runs-on: ubuntu-latest
needs: lint-and-typecheck
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci
- name: Build Next.js application
run: npm run build
30 changes: 30 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Deploy to Cloudflare Pages

on:
push:
branches: [main]

jobs:
publish:
name: Publish to Cloudflare Pages
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci
- name: Build with OpenNext
run: npm run open-next:build
- name: Publish to Cloudflare Pages
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: "prototyping-base-app-router"
3 changes: 3 additions & 0 deletions .husky/_/husky.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh
# Husky による Git フックの共通処理
export PATH="$PATH:$(npm bin)"
5 changes: 5 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx biome check --apply .
npx biome format --write .
35 changes: 35 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# LLM開発ルール

## LLMで生成したいこと
- UI生成
- 機能実装
- デプロイ

## 絶対に守るべきこと
- シンプルなアーキテクチャ
- 日本語でのドキュメント・コードコメント
- 最新バージョン技術の使用
- 秘匿情報を含まない公開リポジトリ
- 汎用的な記述

## 検討事項
- 技術スタック
- DB
- UIデザイン
- デプロイ先

## リポジトリに必要なもの
- LLM用rulesファイル (このファイル)
- packages.json
- README.md
- Linter設定
- Formatter設定
- Typescript設定
- TailwindCSS設定
- envファイル
- CloudflareでのNext.jsアプリ作成方法

## 不要なもの
- サンプルアプリケーション
- 具体的な実装
- ハッカソン情報
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@

## 技術スタック

- **フロントエンド**: Next.js, React
- **スタイリング**: CSS Modules または styled-components
- **バックエンド**: API routes (Next.jsのサーバレスAPI機能を使用)
- **フロントエンド**: Next.js(App Router) と React
- **スタイリング**: TailwindCSS
- **言語/ツール**: TypeScript, Biome, Husky
- **デプロイ**: OpenNext を利用した Cloudflare Pages へのデプロイを想定

## プロジェクト構成

Expand Down Expand Up @@ -44,3 +45,10 @@
```bash
npm install
npm run dev
```

アプリを静的にエクスポートする場合は以下を実行してください:

```bash
npm run open-next:build
```
13 changes: 0 additions & 13 deletions components/Alert.js

This file was deleted.

34 changes: 0 additions & 34 deletions components/SettingsForm.js

This file was deleted.

20 changes: 0 additions & 20 deletions components/Timer.js

This file was deleted.

5 changes: 3 additions & 2 deletions doc/setup_nextjs_app_router_project

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions next-env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />

// NOTE: このファイルは自動生成されます。

7 changes: 7 additions & 0 deletions next.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Next.js の設定ファイル
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
};

module.exports = nextConfig;
Loading