# Code-MCP - Cursor Rules
## Project Overview
This is a TypeScript project using Express.
## MCP Tool Enforcement
> [!IMPORTANT]
> You are working in the `Code-MCP` repository. You MUST prioritize using the MCP tools provided by the `code-mcp` server for your tasks.
>
> **Available Tools & Capabilities:**
> - **Code Generation**: `generate_snippet`, `generate_k8s_manifest`, `generate_terraform_config`, `generate_nginx_config`, `generate_package_json`, `generate_dockerfile`, `generate_env_template`, `generate_terraform_resource`, `generate_observability_config`
> - **Scaffolding**: `full_stack_scaffold`, `track_project`, `generate_github_actions`, `developer_rules`
> - **IDE Configs**: `generate_continue_config`, `generate_tabnine_config`, `generate_vscode_tasks`, `generate_vscode_launch`, `generate_jetbrains_config`
> - **Analysis & Quality**: `analyze_complexity`, `security_scan`, `lint_code`, `validate_code`, `check_imports`, `check_dependencies`, `analyze_average`, `analyze_python_ast`, `check_python_deps`, `analyze_go_mod`
> - **Filesystem & Git**: `list_files`, `read_file_snippet`, `search_files`, `get_file_tree`, `git_helper`
> - **Memory**: `save_memory`, `read_memory`, `list_memories`, `clear_memory`
> - **Thinking & Planning**: `sequential_thinking`, `define_user_stories`, `create_personas`, `perform_market_analysis`, `visualize_system`, `generate_diagram`
> - **Utilities**: `regex_builder`, `format_code`, `run_tests_safe`, `get_template`, `go_struct_helper`
## Code Style
- Follow TypeScript best practices and style guides
- Use consistent naming conventions
- Write self-documenting code with clear variable names
- Keep functions small and focused (< 50 lines)
## Architecture
- Separate concerns clearly (MVC, Clean Architecture, etc.)
- Use dependency injection where applicable
- Keep business logic separate from I/O
## Testing
- Write unit tests for all business logic
- Use integration tests for API endpoints
- Aim for > 80% code coverage
## Error Handling
- Use structured error handling
- Log errors with appropriate context
- Return meaningful error messages to users
## Security
- Never commit secrets or API keys
- Validate all user input
- Use parameterized queries for databases
## Documentation
- Document all public APIs
- Keep README up to date
- Use inline comments for complex logic only