Thanks for improving awesome-ai-rules.
This guide covers structure, naming, quality, and PR flow.
rules/
<tool>/
<stack>/
<tool-specific rule file>
assets/
guides/
README.md
rules/stores all tool and stack rule files.assets/contains images and static docs resources.guides/contains supporting documentation.
- Pick a tool under
rules/<tool>/. - Create a new stack directory:
rules/<tool>/<stack>/. - Add the correct tool-specific file name.
- Write concrete rules for coding behavior and constraints.
- Include stack-aware expectations (lint, test, build, safety).
- Update
README.mdlinks when adding a new available stack.
Use these exact names:
| Tool | File Name | Example Path |
|---|---|---|
| Cursor | .cursorrules |
rules/cursor/react/.cursorrules |
| Claude Code | CLAUDE.md |
rules/claude-code/python/CLAUDE.md |
| GitHub Copilot | copilot-instructions.md |
rules/copilot/go/copilot-instructions.md |
| Windsurf | .windsurfrules |
rules/windsurf/nextjs/.windsurfrules |
| Codex | codex.md |
rules/codex/typescript/codex.md |
| Gemini CLI | GEMINI.md |
rules/gemini-cli/rust/GEMINI.md |
Each rule file should be:
- Specific and actionable
- Testable and reviewable
- Production-oriented
- Consistent with nearby tool conventions
- Free of filler and duplicated guidance
Recommended sections:
- Role and boundaries
- Planning and execution flow
- Code quality and testing expectations
- Safety and forbidden actions
- Fork the repository.
- Create a branch:
feat/<tool>-<stack>-rules. - Commit focused changes with clear messages.
- Push to your fork.
- Open a PR to
main. - Explain what changed, why it matters, and how to use it.
- Address review comments and update the branch.
- Correct path:
rules/<tool>/<stack>/ - Correct file naming convention
- Concrete, stack-aware, production-ready rules
- README updates for newly available stacks
- No unrelated cleanup or generated files
- Never commit secrets, tokens, or private URLs.
- Keep PRs focused; avoid broad multi-tool edits unless required.
Thanks for contributing.