rules
matlab · matlab/rules
This collection provides MATLAB coding rules and guidelines optimized for AI coding assistants, covering standards, live script generation, and performance optimization.
A collection of MATLAB coding rules and guidelines optimized for use with AI coding assistants like Cursor, Windsurf, Claude Code, and GitHub Copilot
Preview
What you can do with it
- Ensure AI-generated MATLAB code adheres to naming conventions and formatting rules.
- Guide the AI to create version-controlled MATLAB Live Scripts with proper documentation.
- Optimize AI-written MATLAB code for performance using vectorization and parallel computing guidelines.
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
MATLAB AI Coding Rules
MATLAB coding rules and guidelines for AI coding assistants like Cursor, Windsurf, Claude Code, and GitHub Copilot.
Overview
Rule files for AI coding assistants to generate MATLAB code that follows coding standards.
Available Rules
matlab-coding-standards.md
Comprehensive MATLAB coding standards covering:
- Naming conventions for variables, functions, classes, and properties
- Statement and expression guidelines
- Formatting rules and whitespace conventions
- Function and class authoring best practices
- Error handling patterns
Use this rule when: Writing or reviewing any MATLAB code for standards compliance
live-script-generation.md
Guidelines for generating MATLAB Live Scripts in plain text .m format:
- Plain text Live Script formatting rules
- Section structure and documentation
- Mathematical notation and LaTeX support
- Visualization best practices
- Version control compatibility
Use this rule when: Creating MATLAB Live Scripts that need to be version-controlled or AI-generated
matlab-performance-optimization.md
Performance optimization guidelines for MATLAB development:
- Profiling and benchmarking techniques
- Vectorization and implicit expansion
- Memory management and pre-allocation
- Parallel computing with parfor and parfeval
- App Designer performance optimization
- JIT compiler optimization patterns
- File I/O performance strategies
Use this rule when: Writing performance-critical MATLAB code, optimizing existing code, or building responsive applications
Quick Start
Choose your AI coding tool and follow the appropriate setup instructions:
Cursor
Option 1: Project Rules (Recommended)
- Create a
.cursor/rulesdirectory in your project - Copy the rule files you want to use:
mkdir .cursor/rules cp matlab-coding-standards.md .cursor/rules/ cp live-script-generation.md .cursor/rules/ cp matlab-performance-optimization.md .cursor/rules/ - Cursor will automatically load these rules for your project
Option 2: Reference with @
In your Cursor chat, reference rules directly:
@matlab-coding-standards.md Write a function to calculate eigenvalues
Option 3: Global Rules
Add to Cursor Settings > General > Rules for AI:
When writing MATLAB code, follow the standards at @matlab-coding-standards.md
Windsurf
Option 1: Workspace Rules
- Create a
.windsurf/rulesdirectory in your workspace - Copy the rule files:
mkdir .windsurf/rules cp matlab-coding-standards.md .windsurf/rules/ cp live-script-generation.md .windsurf/rules/ cp matlab-performance-optimization.md .windsurf/rules/ - Windsurf will automatically apply these rules to your workspace
Option 2: Global Rules
Add to your global_rules.md:
# MATLAB Development
When working with MATLAB code:
1. Follow naming conventions: lowerCamelCase for functions, UpperCamelCase for classes
2. Use arguments blocks for input validation
3. Limit function inputs to 6 or fewer
4. Use spaces (4 per indent), not tabs
5. Keep lines <= 120 characters
For complete standards, reference: [path/to/matlab-coding-standards.md]
Claude Code
Option 1: Project CLAUDE.md (Recommended)
Create a CLAUDE.md file in your project root:
# MATLAB Project Rules
When working with MATLAB code in this project, import and follow these rules:
@matlab-coding-standards.md
@live-script-generation.md
@matlab-performance-optimization.md
Option 2: Direct Reference
In your conversation with Claude Code, use the @ symbol:
Please review this code for standards compliance @matlab-coding-standards.md
[paste your code]
Option 3: User-Level Rules
Add to ~/.claude/CLAUDE.md:
# MATLAB Development Rules
When I'm working with MATLAB code, always:
- Follow the standards in @matlab-coding-standards.md
- Use lowerCamelCase for functions and UpperCamelCase for classes
- Validate inputs using arguments blocks
- Keep code readable with proper spacing and comments
GitHub Copilot
Option 1: Repository Instructions
Create .github/copilot-instructions.md:
# MATLAB Coding Standards
This repository uses MATLAB. Follow these standards:
## Naming Conventions
- Functions: lowerCamelCase
- Classes: UpperCamelCase
- Variables: lowerCamelCase (descriptive names)
- Name-Value arguments: UpperCamelCase
## Code Style
- Indentation: 4 spaces (no tabs)
- Line length: <= 120 characters
- Use arguments blocks for input validation
- Limit functions to <= 6 input arguments
- Use " for strings (not ')
## Documentation
- H1 line immediately after function declaration
- Include help text with syntax, inputs, outputs
- Use %% for section dividers
For complete standards, see: matlab-coding-standards.md
Option 2: Path-Scoped Instructions
Create .github/instructions/matlab.instructions.md:
---
applyTo:
- "**/*.m"
- "**/*.mlx"
---
# MATLAB Code Standards
When generating or modifying MATLAB code:
- Follow naming: lowerCamelCase for functions, UpperCamelCase for classes
- Use arguments blocks for validation
- 4-space indentation, <= 120 char lines
- Include clear function documentation
- Avoid global variables, eval, command syntax in functions
See matlab-coding-standards.md for complete guidelines.
Usage Examples
Example 1: Writing a New Function
Cursor / Windsurf / Claude Code:
@matlab-coding-standards.md Write a function that validates email addresses using regular expressions. Include input validation and proper documentation.
GitHub Copilot:
// Write a MATLAB function that validates email addresses
// Follow the project's coding standards
// Include arguments block for validation
Example 2: Creating a Live Script
Any Tool:
@live-script-generation.m