# Rules & ignore files [Back to README](../README.md) | | Convention | Files | Read by | Spec | | --- | --- | --- | --- | --- | | 🟢 | [Rules files](../conventions/agent-rules/) | `.cursorrules` `.mdc` `.clinerules` `.clinerules/` _(pattern)_ `.windsurfrules` | Cursor (.cursorrules / .mdc), Cline (.clinerules/ and legacy .clinerules), Windsurf (.windsurfrules) | [spec ↗](https://docs.cline.bot/customization/cline-rules) | | 🟢 | [AI ignore files](../conventions/ai-ignore-files/) | `.aiignore` `.cursorignore` `.codeiumignore` `.aiexclude` | JetBrains Junie (.aiignore), Cursor (.cursorignore), Codeium/Windsurf (.codeiumignore) | [spec ↗](https://cursor.com/docs/reference/ignore-file) | ## [Rules files](../conventions/agent-rules/) Per-tool rule files that scope agent behavior - older single-file forms (.cursorrules, .clinerules, .windsurfrules) and newer directory-based, glob-scoped forms (.cursor/rules/*.mdc, .clinerules/, .windsurf/rules/*.md). ## [AI ignore files](../conventions/ai-ignore-files/) gitignore-syntax files that fence an AI agent out of paths - secrets, vendored code, generated output - so they're never sent to the model as context.