diff --git a/.claude/skills/kintone-provision/SKILL.md b/.claude/skills/kintone-provision/SKILL.md index 93f5eee..d9431f2 100644 --- a/.claude/skills/kintone-provision/SKILL.md +++ b/.claude/skills/kintone-provision/SKILL.md @@ -267,6 +267,18 @@ Claude: (REST APIで作成を実行) - **フィールド型の変更不可**: 作成後にフィールドの型は変更できません(kintone APIの制約) - **実行ユーザーの言語**: 自動生成されるシステムフィールドは、APIを実行したユーザーの表示言語で作成されます +### サブテーブル(テーブル)の使用禁止 + +**サブテーブルは、別アプリ+ルックアップ/関連レコードで代替可能な場合はそちらを優先すること。** + +理由: +- CLIからサブテーブルのフィールドを修正できない +- 修正するにはサブテーブル自体を削除→再作成が必要で、**格納データが全て失われる** +- やむを得ず使用する場合は、フィールド設計を完全に確定してから作成する +- サブテーブル修正が必要になった場合は、必ず `npm run backup` でバックアップを取ってから実施する + +設計ドキュメントにサブテーブル(テーブル型)が含まれている場合は、別アプリへの分離を提案すること。 + ## 作成後のワークフロー プロビジョニング完了後は、既存のスキルで管理できます: diff --git a/CLAUDE.md b/CLAUDE.md index 12826a3..56d0c1a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -84,6 +84,27 @@ npm run typecheck - **Multi-environment**: KINTONE_ENV variable tags schema files (dev/prod) - **WSL compatibility**: File watcher uses polling mode for WSL environments +## kintone開発リファレンス + +- **公式ドキュメント**: https://cybozu.dev/ja/ +- 実装や仕様の調査時は必ず公式リファレンスを参照すること(推測で実装しない) + +## kintone開発ルール + +### 組み込みAPI優先 + +JSカスタマイズを実装する際、自前でロジックを書く前にkintone JS APIの組み込み関数で実現できないか必ず https://cybozu.dev/ja/ で調べること。組み込みで対応可能なものは組み込みを使う。 + +## kintone設計ルール + +### サブテーブルの利用注意 + +サブテーブル(テーブル型フィールド)は、別アプリ+ルックアップ/関連レコードで代替可能な場合はそちらを優先する。 + +- CLIからサブテーブルのフィールド修正が不可(削除→再作成が必要、データ消失) +- やむを得ず使用する場合はフィールド設計を完全に確定してから作成 +- 修正時は必ず `npm run backup` でバックアップ後に実施 + ## Adding a New App 1. Run `npm run create` (interactive)