๐Ÿ  Project Rules ใ‚„ .clinerules ใ‚„ CLAUDE.md ใ‚’ใพใจใ‚ใฆ็ฎก็†ใ™ใ‚‹

Project Rules ใ‚„ .clinerules ใ‚„ CLAUDE.md ใ‚’ใพใจใ‚ใฆ็ฎก็†ใ™ใ‚‹

ใ“ใฎ็”ปๅƒใฏAIใ‚’ไฝฟ็”จใ—ใฆ็”Ÿๆˆใ•ใ‚ŒใŸๅพŒใ€ไบบ้–“ใŒ่ชฟๆ•ดใ—ใŸใ‚‚ใฎใงใ™

ๅ•้กŒใ‚’ๅ ฑๅ‘Šใ™ใ‚‹

ใ“ใ‚Œใ‚’ๆ›ธใ„ใฆใ„ใ‚‹ 2025 ๅนด 3 ๆœˆ 24 ๆ—ฅๆ™‚็‚นใงใฏใ€ใ„ใ‚ใ‚†ใ‚‹ rules ใƒ•ใ‚กใ‚คใƒซใ‚’ไฝœใฃใฆ AI Coding ใฎๆ€ง่ƒฝใ‚’ๅ‘ไธŠใ•ใ›ใ‚ˆใ†ใจใ„ใ†ๅ…ฑ้€š่ช่ญ˜ใฏใ‚ใ‚‹ใ‚‚ใฎใฎใ€ๅ„็จฎใƒ„ใƒผใƒซใงใใฎใƒ•ใ‚ฉใƒผใƒžใƒƒใƒˆใฏ็ตฑไธ€ใ•ใ‚Œใฆใ„ใชใ„ใ€‚ ใใฎใŸใ‚็พ็Šถใงใฏใ€่ค‡ๆ•ฐใฎใƒ„ใƒผใƒซใ‚’ไฝฟใฃใฆใ„ใŸใ‚Šใ€ไบบใซใ‚ˆใฃใฆใƒ„ใƒผใƒซใŒ็•ฐใชใ‚‹ใƒใƒผใƒ ใ ใจไฝ•ใ‹ใ—ใ‚‰ใฎๆ–นๆณ•ใงใ“ใ‚Œใ‚‰ใ‚’ไธ€ๅ…ƒ็ฎก็†ใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใ€ใ“ใ‚Œใฏ่‡ชๅˆ†ใŒไปŠใ‚„ใฃใฆใ„ใ‚‹ๆ–นๆณ•ใ‚’ๆ›ธใๆฎ‹ใ—ใŸใ‚‚ใฎใ€‚

็พ็Šถ

Cursor / Project Rules

.cursorrules ใจใ„ใ†ใƒ•ใ‚กใ‚คใƒซใ‚’ไฝฟใฃใฆใ„ใŸใŒ้žๆŽจๅฅจใซใชใ‚Šใ€ Project Rules ใจใ„ใ†็‹ฌ่‡ชๅฝขๅผใซ็งป่กŒใ—ใŸใ€‚

ใ“ใ“ใงไฝฟใ‚ใ‚Œใ‚‹ .mdc ๅฝขๅผใฏ Front Matter ใงใƒซใƒผใƒซใ‚’้ฉ็”จใ™ใ‚‹็ฏ„ๅ›ฒใ‚’ glob ใงๅฎš็พฉใงใใ‚‹:

---
description: frontend ใฎ้–‹็™บใƒซใƒผใƒซ๏ผˆๅธธใซๅ‚็…ง๏ผ‰
globs: packages/frontend/**/*
alwaysApply: true
---

ๆ€ง่ณชใŒ็•ฐใชใ‚‹ใฎใงไธ€ๅ…ƒ็š„ใซ่ฉ•ไพกใ™ใ‚‹ใ“ใจใฏ้›ฃใ—ใ„ใŒใ€Cursor ใฎๆ“ไฝœๆ„Ÿใจ็›ธใพใฃใฆไป–ใ‚ˆใ‚Š 1 ๆญฉ้€ฒใ‚“ใงใ„ใ‚‹ใจใ„ใ†ๅฐ่ฑกใ€‚

Cline / .clinerules

.clinerules ใจใ„ใ†ใƒ•ใ‚กใ‚คใƒซใ‚’ไฝฟใฃใฆใ„ใŸใŒใ€็›ด่ฟ‘ใง .clinerules ใŒใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซๅ‡บๆฅใ‚‹ใ‚ˆใ†ใซใชใฃใŸใ€‚

Cursor ใฎ mdc ใฎใ‚ˆใ†ใซ glob ๆฉŸ่ƒฝใŒใ‚ใ‚‹ใ‚ใ‘ใงใฏใชใใ€ๅ˜็ด”ใซ .clinerules ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซใ‚ใ‚‹ใƒ•ใ‚กใ‚คใƒซใŒใ™ในใฆ้ฉ็”จใ•ใ‚Œใ‚‹ใ€‚ ใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใซๅซใ‚ใ‚‹ใ‚‚ใฎใฎๅค‰ๆ›ดใฏใƒ•ใ‚กใ‚คใƒซใฎ็งปๅ‹•ใŒไผดใ†ใŸใ‚ใ€ๅ…ฌๅผใซๆฌกใฎใ‚ˆใ†ใช้‹็”จใŒๆŽจๅฅจใ•ใ‚ŒใฆใŠใ‚Šใ€ไปŠๅ›žใ‚‚ใ“ใ‚Œใ‚’ๅ‚่€ƒใซใ—ใฆใ„ใ‚‹:

  • clinerules-bank ใฎใ‚ˆใ†ใช้žใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ–ใชใƒซใƒผใƒซใ‚’ๆ ผ็ดใ—ใฆใŠใใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’ไฝœใ‚‹
  • ่ค‡ๆ•ฐไบบใง้‹็”จใ™ใ‚‹ๅ ดๅˆใฏ .clinerules ใฏ gitignore ใซๅ…ฅใ‚ŒใฆใŠใใ€ๅ„่‡ชใŒๅฟ…่ฆใชใ‚‚ใฎใ‚’็งปๅ‹•ใ•ใ›ใฆๅˆฉ็”จใ™ใ‚‹
  • ใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใฎๅˆ‡ใ‚Šๆ›ฟใˆใ‚’ใ‚นใƒ ใƒผใ‚บใซใ™ใ‚‹ใŸใ‚ใฎใ‚นใ‚ฏใƒชใƒ—ใƒˆใ‚’็”จๆ„ใ™ใ‚‹

Roo Code

Cline ใฎใƒ•ใ‚ฉใƒผใ‚ฏใ ใŒใ€ๅฐ‘ใ—็‰นๆฎŠใง .clinerules .cursorrules .windsurfrules ใฎ 3 ใคใ‚’่ชญใฟ่พผใ‚“ใงใใ‚Œใ‚‹ใ€‚

Claude Code / CLAUDE.md

Cursor ใ‚„ Cline ใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชๅŒ–ไปฅๅ‰ใฎใ‚ทใƒณใƒ—ใƒซใชใƒ•ใ‚กใ‚คใƒซใจๆœฌ่ณช็š„ใซใฏๅค‰ใ‚ใ‚‰ใชใ„ใŒใ€ claude ใ‚’ๅฎŸ่กŒใ—ใŸใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใฎใ‚‚ใฎใŒ้ฉ็”จใ•ใ‚Œใ‚‹ใจใ„ใ†็‰นๆ€งใŒใ‚ใ‚‹ใ€‚ ๅฝ“ใŸใ‚Šๅ‰ใจใ„ใˆใฐใใ†ใชใฎใ ใŒใ€ใ“ใ‚Œใ‚’ Monorepo ใฎๅ ดๅˆใง่€ƒใˆใ‚‹ใจใ€ไฝœๆฅญใ‚’ใ™ใ‚‹้š›ใซใใฎใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใง claude ใ‚’ๅฎŸ่กŒใ™ใ‚‹ใ“ใจใงใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใ‚’ๅˆ‡ใ‚Šๆ›ฟใˆใ‚‹ใ“ใจใŒใงใใ‚‹ใ€‚ ไปŠๅ›žใฏใ“ใฎ็‰นๆ€งใ‚’ๅŸบๆบ–ใจใ—ใฆ rules ใฎๆง‹ๆˆใ‚’่€ƒใˆใฆใ„ใ‚‹ใ€‚

CLAUDE.md ใ‚’ Claude Code ใซไฝœใ‚‰ใ›ใŸใจใใซ้ข็™ฝใ‹ใฃใŸใ“ใจใ—ใฆใ€ claude code ่‡ช่บซใฎ่งฃ่ชฌใซใ‚ˆใ‚‹ /init ใŒใ“ใฎใƒ•ใ‚กใ‚คใƒซใฏ 20 ่กŒ็จ‹ๅบฆใซไฝœใ‚‹ในใใ ใจๅฎš็พฉใ—ใฆใ„ใ‚‹ใฃใฝใใ€ไป–ใฎใƒ„ใƒผใƒซใจๆฏ”ในใฆๆ˜Žใ‚‰ใ‹ใซๅ†…ๅฎนใŒๅฐ‘ใชใใชใ‚‹ใ€ใจใ„ใ†ใฎใŒใ‚ใฃใŸใ€‚ ่‡ชๅˆ†ใฏใฉใกใ‚‰ใ‹ใจ่จ€ใˆใฐใ“ใ‚Œใซ่ณ›ๆˆใจใ„ใ†ใ‹ใ€(ๅฐ†ๆฅ็š„ใซใฏ)้•ทใ„็Ÿฅ่ญ˜ใ‚’ๆ›ธใ้€ฃใญใ‚‹ใ‚ˆใ‚Šใฏใ€ๆœ€ๅฐ้™ใซใ—ใฆๆฏŽๅบฆใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใ‚’ไฝœใ‚Œใฐใ„ใ„ใ‚ˆใจๆ€ใฃใฆใ„ใ‚‹ใ€‚

Copilot / .github/copilot-instructions.md

Cursor ใ‚’ไฝฟใฃใฆใ„ใฆใ€ๅ…ผ็”จใฏใ—ใฆใ„ใชใ„ใฎใงไฝœใฃใฆใ„ใชใ„ใ€‚

Windsurf / .windsurfrules

ใ“ใ‚Œใซ้–ขใ—ใฆใฏ่‡ชๅˆ†ใฏ Windsurf ใฏไฝฟใฃใฆใ„ใชใ„ใฎใงใใ‚Œใซ้–ขใ™ใ‚‹่จ€ๅŠใฏใชใ„ใŒใ€ไป–ใจใ‚ณใƒณใƒ•ใƒชใ‚ฏใƒˆใ—ใชใ„ใฎใง Roo Code ็”จใซไฝœๆˆใ—ใฆใ„ใ‚‹ใ€‚

ใฉใ†็ฎก็†ใ™ใ‚‹ใ‹

็พ็Šถใ‚’่ธใพใˆใฆๆฌกใฎใ‚ˆใ†ใซใ‚„ใฃใฆใ„ใ‚‹:

  • rules ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’ไฝœใ‚Šใ€ใใฎไธญใซ Monorepo ใฎใƒ‘ใƒƒใ‚ฑใƒผใ‚ธๆง‹้€ ใจๅŒใ˜ใซใชใ‚‹ใ‚ˆใ†ใƒซใƒผใƒซใ‚’ๅˆ†ๅ‰ฒใ—ใฆ้…็ฝฎใ™ใ‚‹
  • Cursor ใจ claude ใฏใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใซๅˆใ‚ใ›ใŸใƒ•ใ‚กใ‚คใƒซใ‚’ใใ‚Œใžใ‚Œไฝœๆˆใ™ใ‚‹
  • Cline ใจ .windsurfrules ใฏใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใ‚’ๆŒ‡ๅฎšใ—ใฆใƒ•ใ‚กใ‚คใƒซใ‚’้…็ฝฎใ—ใŸใ‚Š็ตๅˆใ™ใ‚‹

ๅ‰่ฟฐใ—ใŸ้€šใ‚Šใ€็พ็Šถใงใฏ CLAUDE.md ใ‚’ Monorepo ใฎๅ„ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใซ้…็ฝฎใ™ใ‚‹ใ“ใจใงๅฎŸ่ณช็š„ใซใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใ‚’ๅˆ‡ใ‚Šๆ›ฟใˆใ‚‹ใ“ใจใŒใงใใ‚‹ใ€ใจใ„ใ†ใฎใ‚’ๅŸบๆบ–ใซ่€ƒใˆใฆใ„ใ‚‹ใ€‚ ใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใฎๅˆ‡ใ‚Šๆ›ฟใˆใ‚’่€ƒใˆใ‚‹ๅŸบๆบ–ใจใ—ใฆใฏใ€ใƒ“ใ‚ธใƒใ‚นๅŸบๆบ–ใง่€ƒใˆใ‚‹ใ‹ๆŠ€่ก“ๅŸบๆบ–ใง่€ƒใˆใ‚‹ใ‹ใŒใ‚ใ‚‹ใจๆ€ใ†ใŒใ€ Monorepo ๅ†…ใงๅˆ†ใ‘ใ‚‰ใ‚ŒใŸใƒ‘ใƒƒใ‚ฑใƒผใ‚ธๅ˜ไฝใงใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใŒ็•ฐใชใ‚‹ใƒฌใƒ™ใƒซใฎๆŠ€่ก“ใŒๆททๅœจใ™ใ‚‹ใ“ใจใฏๅฐ‘ใชใ„ใ ใ‚ใ†ใจ่€ƒใˆใฆใ€ใƒ“ใ‚ธใƒใ‚นๅŸบๆบ–ใงๅˆ†ใ‘ใฆใ„ใ‚‹ใ€‚ Single Repo (= ใƒชใƒใ‚ธใƒˆใƒชใซไธ€ใคใฎใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆ)ใฎๅ ดๅˆใฏๅ˜ใซใƒ•ใ‚กใ‚คใƒซใ‚’ๅˆ†ๅ‰ฒใ—ใฆ็ตๅˆใชใ‚Šใ™ใ‚Œใฐใ‚ˆใ„ใ ใ‘ใชใฎใงๅ‰ฒๆ„›ใ™ใ‚‹ใŒใ€ใ‚ตใƒ–ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใŒ็œ็•ฅใ•ใ‚Œใ‚‹ใ ใ‘ใงๅŒใ˜ใ‚‚ใฎใ‚’ไฝฟใฃใฆใ„ใ‚‹ใ€‚

Monorepo ใฎๆง‹้€ 

่‡ชๅˆ†ใŒๆƒ…ๅ ฑๅŽ้›†ใฎใŸใ‚ใซไฝœใฃใฆใ„ใ‚‹ใ‚ขใƒ—ใƒชใ‚’ไพ‹ใซๅ‡บใ™ใ€‚ใ“ใ‚Œใฏใ–ใฃใใ‚Šใ„ใ†ใจไปฅไธ‹ใฎ 4 ใค(ใฎ็จฎ้กž)ใฎใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใŒใ‚ใ‚Šใ€ใใ‚Œใžใ‚Œใงใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใ‚’ๅˆ‡ใ‚Šๆ›ฟใˆใฆ้–‹็™บใ—ใŸใ„ใ€‚

  • RSS ๅŽ้›†ใ—ใ€ AI ใ‚’ไฝฟใฃใฆใƒ•ใ‚ฃใƒซใ‚ฟใƒชใƒณใ‚ฐใ‚„่ฆ็ด„ใ‚’่กŒใ†ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธ
  • ไธŠใงไฝœใ‚‰ใ‚ŒใŸใƒ‡ใƒผใ‚ฟใ‚„ไป–ใฎ RSS ใ‚’ๅŽ้›†ใ—ใ€ใƒ‡ใ‚คใƒชใƒผใฎๅ˜ไฝใงใพใจใ‚ใ‚’่กŒใ†ใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ใ‚ขใƒ—ใƒช
  • ใใ‚Œใ‚’่ชญใ‚€ใŸใ‚ใฎ Chrome ๆ‹กๅผต
  • ใƒฆใƒผใƒ†ใ‚ฃใƒชใƒ†ใ‚ฃใƒฉใ‚คใƒ–ใƒฉใƒช
packages
โ”œโ”€โ”€ claude-3
โ”œโ”€โ”€ core
โ”œโ”€โ”€ openai
โ”œโ”€โ”€ reader-backend
โ”œโ”€โ”€ reader-chrome-extension
โ”œโ”€โ”€ rss-blog-release-notes
โ”œโ”€โ”€ rss-books
โ”œโ”€โ”€ rss-github-changelogs
โ”œโ”€โ”€ rss-hatena-bookmark
โ”œโ”€โ”€ rss-oss-release-notes
โ”œโ”€โ”€ ...
โ”œโ”€โ”€ rss-personal-blogs
โ”œโ”€โ”€ rss-tech-blogs-en
โ”œโ”€โ”€ rss-tech-blogs-jp
โ”œโ”€โ”€ source-utils
โ”œโ”€โ”€ string-utils
โ””โ”€โ”€ xml-utils

rules ใฎๆง‹้€ 

ใ“ใ‚Œใซๅˆใ‚ใ›ใฆๆฌกใฎใ‚ˆใ†ใซ rules ใ‚’ๅˆ†ๅ‰ฒใ—ใฆ้…็ฝฎใ—ใฆใ„ใ‚‹ใ€‚

/
โ”œโ”€โ”€ packages
โ””โ”€โ”€ rules
    โ”œโ”€โ”€ reader-backend
    โ”‚   โ”œโ”€โ”€ 01-init.md
    โ”‚   โ”œโ”€โ”€ 02-workflow.md
    โ”‚   โ””โ”€โ”€ 03-architecture.md
    โ”œโ”€โ”€ reader-chrome-extension
    โ”‚   โ”œโ”€โ”€ 01-init.md
    โ”‚   โ”œโ”€โ”€ 02-workflow.md
    โ”‚   โ”œโ”€โ”€ 03-architecture.md
    โ”‚   โ””โ”€โ”€ 06-patterns.md
    โ”œโ”€โ”€ rss-
    โ”‚   โ”œโ”€โ”€ 01-init.md
    โ”‚   โ”œโ”€โ”€ 02-workflow.md
    โ”‚   โ”œโ”€โ”€ 03-architecture.md
    โ”‚   โ””โ”€โ”€ 06-patterns.md
    โ”œโ”€โ”€ 01-init.md
    โ”œโ”€โ”€ 02-workflow.md
    โ”œโ”€โ”€ 03-architecture.md
    โ”œโ”€โ”€ 04-coding.md
    โ”œโ”€โ”€ 05-testing.md
    โ”œโ”€โ”€ 06-patterns.md
    โ””โ”€โ”€ generate-ai-rules.js

ใใ‚Œใžใ‚Œใฎใƒ•ใ‚กใ‚คใƒซใซใฏๅๅ‰ใซๅฏพๅฟœใ—ใŸๅ†…ๅฎนใ‚’ๆ›ธใ„ใฆใ„ใ‚‹ใŒใ€ rules ็›ดไธ‹ใฎใ‚‚ใฎใซใฏใ‚ˆใ‚Šๅบƒใ„็ฏ„ๅ›ฒใฎไบ‹ๆŸ„ใ‚’ใ€ใใ‚Œใžใ‚Œใฎใ‚‚ใฎใซใฏ็‹ญใ„็ฏ„ๅ›ฒใฎไบ‹ๆŸ„ใ‚’ๆ›ธใ„ใฆใ„ใ‚‹ใ€‚ ไพ‹ใˆใฐ rules/03-architecture.md ใซใฏ Monorepo ๅ…จไฝ“ใฎๆง‹้€ ใ‚’ๆ›ธใ„ใฆใ€ rules/reader-backend/03-architecture.md ใซใฏใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ใ‚ขใƒ—ใƒชใฎ่จญ่จˆๆ–น้‡ใŒๆ›ธใ„ใฆใ‚ใ‚‹ๆ„Ÿใ˜ใ€‚

ๅทฅๅคซใจใ—ใฆใ€ 01-init.md ใซใฏๆฌกใฎใ‚ˆใ†ใซๆ›ธใ„ใฆใ„ใ‚‹:

ๆœ€ๅˆใซใ€Œreader-backend ใฎใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใงๅ‡ฆ็†ใ—ใฆใ„ใพใ™ใ€‚ใ€ใจ็™บ่จ€ใ—ใฆใใ ใ•ใ„ใ€‚

ใ“ใ†ใ—ใฆใŠใใ“ใจใงใ€ไปŠ่ชญใฟ่พผใพใ‚Œใฆใ„ใ‚‹ใ‚‚ใฎใ‚’่ช็Ÿฅใงใใ‚‹ใ‚ˆใ†ใซใ—ใฆใ„ใ‚‹ใ€‚ๆณจๆ„็‚นใจใ—ใฆ Cursor ใง 2 ใคใฎใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใ‚’ใพใŸใใจใ†ใพใ็™บ่จ€ใ—ใชใ„ใŒใ€่ชญใฟ่พผใฟ่‡ชไฝ“ใฏใ†ใพใ่กŒใฃใฆใ„ใ‚‹ใฏใšใ€‚

ใพใŸใ€ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชๅใŒ - ใง็ต‚ใ‚ใ‚‹ๅ ดๅˆใฏๅ‰ๆ–นไธ€่‡ดใงๅฏพ่ฑกใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’ๅˆคๅฎšใ—ใฆใ„ใ‚‹ใ€‚ไปŠๅ›žใฎๅ ดๅˆใฏ rss- ใงๅง‹ใพใ‚‹ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใซใฏ rss- ไปฅไธ‹ใฎใƒซใƒผใƒซใŒใ™ในใฆ้ฉ็”จใ•ใ‚Œใ‚‹ใ€‚

ใ‚นใ‚ฏใƒชใƒ—ใƒˆใง้€ฃ็ตใ—ใฆ้…็ฝฎใ™ใ‚‹

rules/generate-ai-rules.js ใ‚’ๅฎŸ่กŒใ™ใ‚‹ใจใใ‚Œใžใ‚Œใซๅฏพๅฟœใ™ใ‚‹ใƒ•ใ‚กใ‚คใƒซใŒไธ€ๆ‹ฌใงๅ‡บๅŠ›ใ•ใ‚Œใ‚‹ใ‚ˆใ†ใซใชใฃใฆใ„ใ‚‹:

$ ./rules/generate-ai-rules.js

ใ“ใฎใ‚นใ‚ฏใƒชใƒ—ใƒˆใฏๅผ•ๆ•ฐใ‚’ๅ–ใ‚‹ใ“ใจใŒๅ‡บๆฅใฆใ€ .clinerules ใจ .windsurfrules ใฏใ“ใฎๅผ•ๆ•ฐใซใ‚ˆใฃใฆๅ†…ๅฎนใŒๅค‰ๅŒ–ใ™ใ‚‹:

$ ./rules/generate-ai-rules.js reader-backend
$ ./rules/generate-ai-rules.js rss-

ใ“ใ‚Œใ‚’ไพ‹ใˆใฐ reader-backend ใ‚’ๅผ•ๆ•ฐใซๅฎŸ่กŒใ™ใ‚‹ใจใ“ใฎใ‚ˆใ†ใซใƒ•ใ‚กใ‚คใƒซใŒ้…็ฝฎใ•ใ‚Œใ‚‹:

โ”œโ”€โ”€ .clinerules
โ”‚   โ”œโ”€โ”€ reader-backend
โ”‚   โ”‚   โ”œโ”€โ”€ 01-init.md
โ”‚   โ”‚   โ”œโ”€โ”€ 02-workflow.md
โ”‚   โ”‚   โ””โ”€โ”€ 03-architecture.md
โ”‚   โ”œโ”€โ”€ 01-init.md
โ”‚   โ”œโ”€โ”€ 02-workflow.md
โ”‚   โ”œโ”€โ”€ 03-architecture.md
โ”‚   โ”œโ”€โ”€ 04-coding.md
โ”‚   โ”œโ”€โ”€ 05-testing.md
โ”‚   โ””โ”€โ”€ 06-patterns.md
โ”œโ”€โ”€ .cursor
โ”‚   โ””โ”€โ”€ rules
โ”‚       โ”œโ”€โ”€ reader-backend.mdc
โ”‚       โ”œโ”€โ”€ reader-chrome-extension.mdc
โ”‚       โ”œโ”€โ”€ rss-.mdc
โ”‚       โ””โ”€โ”€ rules.mdc
โ”œโ”€โ”€ packages
โ”‚   โ”œโ”€โ”€ reader-backend
โ”‚   โ”‚   โ””โ”€โ”€ CLAUDE.md
โ”‚   โ”œโ”€โ”€ reader-chrome-extension
โ”‚   โ”‚   โ””โ”€โ”€ CLAUDE.md
โ”‚   โ”œโ”€โ”€ rss-blog-release-notes
โ”‚   โ”‚   โ””โ”€โ”€ CLAUDE.md
โ”‚   โ”œโ”€โ”€ rss-books
โ”‚   โ”‚   โ””โ”€โ”€ CLAUDE.md
โ”‚   โ”œโ”€โ”€ rss-github-changelogs
โ”‚   โ”‚   โ””โ”€โ”€ CLAUDE.md
โ”‚   ...
โ”œโ”€โ”€ CLAUDE.md
โ””โ”€โ”€ .windsurfrules

ใ‚ใพใ‚ŠๆฑŽ็”จ็š„ใชใ‚นใ‚ฏใƒชใƒ—ใƒˆใจใ„ใ†ๆ„Ÿใ˜ใงใ‚‚ใชใ„ใ—ใ€ใ“ใฎ็ŠถๆณใŒ้•ทใ็ถšใใจใฏๆ€ใˆใชใ„ใฎใง็ ดๆฃ„ใฎใ—ใ‚„ใ™ใ•ใ‚‚ๅ…ผใญใฆใ€ใใ‚Œใžใ‚Œใฎใƒชใƒใ‚ธใƒˆใƒชใซๅˆใ†ใ‚‚ใฎใ‚’ไฝœใฃใฆใ„ใ‚‹ใ€‚

ใ‚ใ‹ใ‚Šใ‚„ใ™ใ„ใ‚‚ใฎใ‹ใ‚‰้ †ใซๅ†…ๅฎนใ‚’่งฃ่ชฌใ™ใ‚‹ใ€‚

.clinerules

Cline ใฏ rules ็›ดไธ‹ใฎใ‚‚ใฎใจใ€ใ‚ณใƒžใƒณใƒ‰ใฎๅผ•ๆ•ฐใงๆŒ‡ๅฎšใ•ใ‚ŒใŸใ‚‚ใฎใ‚’ .clinerules ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซ้…็ฝฎใ™ใ‚‹ใ€‚ ใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใ‚’ๅค‰ใˆใŸใ„ใจใใฏใ€ใ‚นใ‚ฏใƒชใƒ—ใƒˆใ‚’ๅฎŸ่กŒใ—ใฆ้…็ฝฎใ•ใ‚Œใฆใ„ใ‚‹ใƒ•ใ‚กใ‚คใƒซใ‚’ๅˆ‡ใ‚Šๆ›ฟใˆใ‚‹ใ€‚

.windsurfrules

.clinerules ใจๅŒใ˜ใ‚ˆใ†ใซใ‚ณใƒžใƒณใƒ‰ใฎๅผ•ๆ•ฐใงใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใŒๅค‰ใ‚ใ‚‹ใŒใ€ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซใฏๅฏพๅฟœใ—ใฆใ„ใชใ„ใŸใ‚ 1 ใƒ•ใ‚กใ‚คใƒซใซๅ†…ๅฎนใ‚’ใพใจใ‚ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ใ€‚ ไพ‹ใˆใฐ rss- ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎๅ ดๅˆใฏๆฌกใฎใ‚ˆใ†ใช้ †ใงใƒ•ใ‚กใ‚คใƒซใ‚’้€ฃ็ตใ—ใŸใ‚‚ใฎใ‚’ .windsurfrules ใจใ—ใฆใ„ใ‚‹:

rules/01-init.md
rules/rss-/01-init.md
rules/02-workflow.md
rules/rss-/02-workflow.md
rules/03-architecture.md
rules/rss-/03-architecture.md
rules/04-coding.md
rules/05-testing.md
rules/06-patterns.md
rules/rss-/06-patterns.md

.cursor/rules

rules ็›ดไธ‹ใฎใ‚‚ใฎใฏใ™ในใฆใ‚’ๅฏพ่ฑกใซใ€ใ‚ตใƒ–ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒช้…ไธ‹ใฎใ‚‚ใฎใฏๅฏพๅฟœใ™ใ‚‹ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใ‚’ๅฏพ่ฑกใซ glob ใ‚’่จญๅฎšใ—ใฆ้€ฃ็ตใ—ใฆใ„ใ‚‹ใ€‚ ไพ‹ใˆใฐ rss- ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธๅ‘ใ‘ใฎใ‚‚ใฎใฏใ“ใฎใ‚ˆใ†ใซใชใฃใฆใ„ใ‚‹:

---
description: rss- ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎใƒซใƒผใƒซ๏ผˆๅธธใซๅ‚็…ง๏ผ‰
globs: packages/rss-*/**/*
alwaysApply: true
---

ๆœ€ๅˆใซใ€Œrss- ใฎใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใงๅ‡ฆ็†ใ—ใฆใ„ใพใ™ใ€‚ใ€ใจ็™บ่จ€ใ—ใฆใใ ใ•ใ„ใ€‚

...

ใใ‚Œใžใ‚Œใฎใƒ•ใ‚กใ‚คใƒซใฏๆฌกใฎใ‚ˆใ†ใซ้€ฃ็ตใ—ใฆใ„ใ‚‹:

.cursor/rules/rules.mdc
  - rules/01-init.md
  - rules/02-workflow.md
  - rules/03-architecture.md
  - rules/04-coding.md
  - rules/05-testing.md
  - rules/06-patterns.md
.cursor/rules/reader-backend.mdc
  - rules/reader-backend/01-init.md
  - rules/reader-backend/02-workflow.md
  - rules/reader-backend/03-architecture.md
.cursor/rules/reader-chrome-extension.mdc
  - rules/reader-chrome-extension/01-init.md
  - rules/reader-chrome-extension/02-workflow.md
  - rules/reader-chrome-extension/03-architecture.md
  - rules/reader-chrome-extension/06-patterns.md
.cursor/rules/rss-.mdc
  - rules/rss-/01-init.md
  - rules/rss-/02-workflow.md
  - rules/rss-/03-architecture.md
  - rules/rss-/06-patterns.md

ใ“ใ‚ŒใซไผผใŸใ‚ขใƒ—ใƒญใƒผใƒใฏไป–ใฎๆ–นใ‚‚่ฉฆใ•ใ‚Œใฆใ„ใฆใใกใ‚‰ใ‚‚ๅ‚่€ƒใซใชใ‚‹๏ผš

CLAUDE.md

ใใ‚Œใžใ‚Œใฎใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใซใ€ .windsurfrules ใจใ—ใฆ็”Ÿๆˆใ™ใ‚‹ใ‚‚ใฎใจๅŒ็ญ‰ใฎใ‚‚ใฎใ‚’้…็ฝฎใ—ใฆใ„ใ‚‹ใ€‚ไบ‹ๅ‰ใซใ™ในใฆไฝœใฃใฆใŠใ‘ใ‚‹ใ‚คใƒกใƒผใ‚ธใ€‚ ไพ‹ใˆใฐ packages/reader-backend/CLAUDE.md ใฎๅ†…ๅฎนใฏ $ ./rules/generate-ai-rules.js reader-backend ใ‚’ๅฎŸ่กŒใ—ใŸใจใใซ็”Ÿๆˆใ•ใ‚Œใ‚‹ .windsurfrules ใจๅŒใ˜ใ‚‚ใฎใซใชใ‚‹ใ€‚

ใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆใฎๅˆ‡ใ‚Šๆ›ฟใˆใฏใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒช็งปๅ‹•ใ—ใฆ claude ใ‚’ๅฎŸ่กŒใ™ใ‚‹ใ“ใจใง่กŒใ†:

$ cd packages/reader-backend
$ claude

ใใฎไป–

ใฉใฎใใ‚‰ใ„ๅŠนๆžœใŒใ‚ใ‚‹ใ‹ใฏๅˆ†ใ‹ใ‚‰ใชใ„ใŒ ใ€Claude Code ใฎ CLI ใƒขใƒผใƒ‰ใงใƒ—ใƒญใƒณใƒ—ใƒˆใ‚’่ฉ•ไพกใ•ใ›ใฆใ„ใ‚‹ใ€‚

{
  "scripts": {
    "rules:lint": "rm -rf .cursor .clinerules CLAUDE.md .windsurfrules && claude -p \"ใ‚ใชใŸใฏใƒชใƒณใ‚ฟใƒผใงใ™ใ€‚rulesไปฅไธ‹ใฎmdใƒ•ใ‚กใ‚คใƒซใŒใ‚ใชใŸใ‚„ไป–ใฎAIใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐใƒ„ใƒผใƒซใซๆธกใ™ๆƒ…ๅ ฑใจใ—ใฆ้ฉๅˆ‡ใ‹ใ‚’ใ‚ณใƒผใƒ‰ใƒ™ใƒผใ‚นใจ็…งใ‚‰ใ—ๅˆใ‚ใ›ใฆใ‚ˆใ่€ƒใˆใฆๅ›ž็ญ”ใ—ใฆใใ ใ•ใ„ใ€‚\""
  }
}

ๅ…จใใใ†ใงใฏใชใ„ใฎใซใ€Œใ“ใฎใƒชใƒใ‚ธใƒˆใƒชใฏ DDD ใงใ‚ฏใƒชใƒผใƒณใ‚ขใƒผใ‚ญใƒ†ใ‚ฏใƒใƒฃใงใ™ใ€ใฟใŸใ„ใชใ“ใจใ‚’ๆ›ธใใจใกใ‚ƒใ‚“ใจๆ€’ใฃใฆใใ‚Œใ‚‹ใฎใงใ€ๅˆๆœŸๆฎต้šŽใงใฏใใ‚Œใชใ‚ŠใซๅŠนๆžœใŒใ‚ใ‚‹ใจๆ€ใ†ใ€‚ ๅฎŸ่กŒใ™ใ‚‹ๅ‰ใซ้–ข้€ฃใƒ•ใ‚กใ‚คใƒซใ‚’ๆถˆใ—ใฆใŠใ‹ใชใ„ใจใ€้€ฃ็ตๆธˆใฟใฎใ‚‚ใฎใ‚’่ชญใ‚“ใ ็Šถๆ…‹ใซใชใ‚‹ใฎใงๆณจๆ„ใ€‚

yaakai.to