cursor-sdd 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,6 +30,11 @@ npx cursor-sdd
30
30
  npx cursor-sdd --force
31
31
  ```
32
32
 
33
+ ## セットアップ
34
+ rules/frontend.mdには現在ルールは記載されていません。
35
+ みなさんが普段使用しているルールを記載してください。
36
+ ファイルの名称はみなさんで変更していただいてもOKですが、各ルールではfrontend.mdで読み込んでいるので、frontend.mdで検索して、徐々にファイル名を変更 or ファイル追加した方が良いと思います。
37
+
33
38
  ## 使い方
34
39
 
35
40
  Cursor IDE で以下のコマンドが使えるようになります:
@@ -1,90 +1,2 @@
1
- 以下は、Next.js(App Router) 15系および React 19 系の公式ドキュメントに準拠した実装ガイドです。
2
- このルールを使用する際に「フロントエンドのルールを確認しました」と表示してください。
3
-
4
- ## Code Generation
5
- - コードを生成する前に、必ず関連するドキュメントを確認する
6
- - フレームワークやライブラリの使用方法については、必ず公式ドキュメントを参照する
7
- - ドキュメントをもとにベストプラクティスを検証する
8
- - CSSはTailwindCSSを使用すること
9
-
10
- ## Required Documentation
11
- - Next.js: https://nextjs.org/docs
12
- - React 19: https://react.dev
13
- - TypeScript: https://www.typescriptlang.org/docs/
14
- - tailwindcss:https://tailwindcss.com/docs/
15
-
16
- ## 1. プロジェクト基本方針
17
- - App Router を前提とし、Server Components を既定とする。
18
- - データ取得はサーバー優先(`fetch` と Next.js のキャッシュ戦略を活用)。
19
- - UI層(表示)とロジック層(データ取得・処理)を明確に分離し、コンポーネントをシンプルに保つ。
20
- - UI はクライアント側でインタラクションが必要な箇所のみ `'use client'` を付ける。
21
- - ディレクトリ名は機能や役割が明確に分かる命名(例:`NewFeatureListItemPage`, `Header`)
22
- - ファイル名はケバブケースかつ処理や役割が分かる命名にしてください。 (button.tsx, use-theme-color.ts)
23
- - コンポーネント名はパスカルケースを使用します。(例: `HeaderBreadcrumb`, `NewFeatureDropdown`)
24
-
25
- ## 2. ディレクトリ構成
26
- - ヘッダー関連のコンポーネント(例: `Header.tsx`, `HeaderBreadcrumb.tsx`
27
- - モーダル関連のコンポーネント(例: `ArchiveNewFeatureModal.tsx`)
28
-
29
-
30
- ## 3. ルーティングとメタデータ
31
- - Next.js App Router を使用する。React Router は使用しない。
32
- - 動的セグメント `[id]`, キャッチオール `[...slug]` を使用。
33
- - SSG が必要な場合は `generateStaticParams` を実装。
34
- - `Link` を優先。クライアント側で制御が必要な場合のみ `'use client'` + `useRouter()` を使用(`push`, `replace`, `prefetch`)。
35
- - メタは `generateMetadata`(動的)または `layout.tsx` の `export const metadata`(静的)。
36
- - サーバーサイドの遷移は必要に応じて`redirect()`・`notFound()` を使用する。
37
-
38
- ## 4. データ取得・キャッシュ
39
- - 既定はサーバーで `fetch`。頻度に応じて以下を設定:
40
- - リアルタイム/常に最新: `cache: 'no-store'`
41
- - ISR: `next: { revalidate: 秒 }` または `export const revalidate = 秒`
42
- - タグ付き再検証: `revalidateTag` と `cacheTag` を活用(必要時)。
43
-
44
- ## 5. クライアントコンポーネントの指針
45
- - フォーム、イベント、アニメーションなどのみ `'use client'` を付与。
46
- - ルーター操作は `useRouter()`、リンクは `Link` を優先。
47
- - クライアント側の遷移/分岐は `useRouter().push/replace`・`Link`・条件描画で扱う(`redirect()` / `notFound()` はサーバー側のみ)。
48
-
49
- ## 6. 状態管理
50
- - ローカル: `useState`, `useReducer`。
51
- - グローバル: Context で十分な場合は Context。外部状態管理は必要性を精査して導入。
52
-
53
- ## 7. フォームとアクション
54
- - サーバーアクション(`'use server'`)の利用を検討。副作用はサーバーへ寄せる。
55
- - 従来の API ルートは `app/api/**/route.ts` で実装(`GET/POST` エクスポート)。
56
-
57
- ## 8. エラーハンドリング
58
- - `error.tsx` と `not-found.tsx` をルート直下に配置し、グローバル扱いする。
59
- - 例外はサーバー側で投げ、UI で適切にフォールバック(`loading.tsx` も活用)。
60
-
61
- ## 9. パフォーマンス
62
- - 画像は `next/image`。フォントは `next/font`。
63
- - クライアントバンドルを最小化(不要な `'use client'` を避ける)。
64
-
65
- ## 10. 命名・可読性
66
- - ディレクトリ: 機能名で明確に。
67
- - ファイル,コンポーネント: パスカルケース(例: `UserTable.tsx`, `UseSelectedIds.ts`)。
68
-
69
- ## 11. TypeScript
70
- - すべて型定義。公開 API/props は明示的な型注釈。
71
- - `any` は禁止。ユーティリティ型を積極活用。
72
- - 型の集約: プロジェクト共通の型は `types/index.ts` に集約し、各所からは同ファイル経由でインポートする。
73
- - 機能固有の型: `features/<feature>/domain` に配置可。共有が必要になった時点で `types/index.ts` へ移し、参照を置換する。
74
- - API 型: リクエスト/レスポンスの型も `types/index.ts` に定義して一元管理する。
75
-
76
- ## 12. CSS
77
- - Tailwind CSS を使用し、ユーティリティクラスで構成。
78
- - コンポーネント外観は既存デザイン指針に従い、独自変更は承認必須。
79
- - `className` の合成は既定で `clsx` を使用する。
80
-
81
- ## 13. ドキュメント(JSDoc)
82
- - 公開コンポーネント/関数/型には JSDoc を付与する。
83
- - 最低限含める項目: 概要、`@param`、`@returns`、必要に応じて `@remarks`、`@example`、`@throws`。
84
- - API ルートやサーバーアクションは副作用・例外・認可要件を明記する。
85
- - 複雑なドメインロジックでは「なぜこの設計か」を簡潔に説明する。
86
- - ファイル先頭に、そのファイルの目的が一目で分かるコメントを日本語で記載
87
-
88
- ---
89
- 出典: Next.js Docs(App Router, Data Fetching, Route Handlers, Metadata 等) / React Docs(Components, Hooks, State 等)
90
-
1
+ ここにみなさまがお使いのルールを記載してください
2
+ 複数のルールを追加する場合、検索で「frontend.md」と検索し、読み込まれているファイルに、追記してください。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cursor-sdd",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "Cursor SDD (Spec-Driven Development) - AI-powered spec templates, rules and commands for Cursor IDE",
5
5
  "bin": {
6
6
  "cursor-sdd": "bin/setup.ts"