From 7d938155df62415cccdf207327e6b3fa3b66bb55 Mon Sep 17 00:00:00 2001 From: ogasawara Date: Thu, 2 Apr 2026 17:38:08 +0900 Subject: [PATCH] Add kintone development rules and subtable caution to skills MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CLAUDE.md: kintone公式リファレンス(cybozu.dev)参照ルール追加 - CLAUDE.md: JSカスタマイズ時の組み込みAPI優先ルール追加 - CLAUDE.md: サブテーブル利用注意(CLI修正不可・データ消失リスク)追加 - kintone-provision: サブテーブル利用注意を注意事項に追加 Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude/skills/kintone-provision/SKILL.md | 12 ++++++++++++ CLAUDE.md | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+) 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)