Skip to main content
Glama
aiconfigs.ts10.3 kB
import { z } from "zod"; export const generateCursorRulesSchema = { name: "generate_cursor_rules", description: "Generates a .cursorrules file for Cursor AI based on the project stack.", inputSchema: z.object({ projectName: z.string().describe("Name of the project"), languages: z.array(z.string()).describe("Programming languages used (e.g., ['typescript', 'python'])"), frameworks: z.array(z.string()).optional().describe("Frameworks used (e.g., ['react', 'fastapi'])"), databases: z.array(z.string()).optional().describe("Databases used (e.g., ['postgresql', 'redis'])") }) }; export const generateGeminiConfigSchema = { name: "generate_gemini_config", description: "Generates a GEMINI.md file for Gemini/Antigravity configuration.", inputSchema: z.object({ projectName: z.string().describe("Name of the project"), languages: z.array(z.string()).describe("Programming languages used"), description: z.string().optional().describe("Project description") }) }; export const generateClaudeConfigSchema = { name: "generate_claude_config", description: "Generates a CLAUDE.md file for Claude Projects/Tasks.", inputSchema: z.object({ projectName: z.string().describe("Name of the project"), languages: z.array(z.string()).describe("Programming languages used"), description: z.string().optional().describe("Project description") }) }; export function generateCursorRulesHandler(args: any) { const { projectName, languages, frameworks = [], databases = [] } = args; const content = `# ${projectName} - Cursor Rules ## Project Overview This is a ${languages.join("/")} project${frameworks.length ? ` using ${frameworks.join(", ")}` : ""}. ## 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 ${languages[0]} 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 ${databases.length ? `\n## Database (${databases.join(", ")})\n- Use connection pooling\n- Handle transactions properly\n- Avoid N+1 queries` : ""} ## Documentation - Document all public APIs - Keep README up to date - Use inline comments for complex logic only `; return { content: [{ type: "text", text: content }] }; } export function generateGeminiConfigHandler(args: any) { const { projectName, languages, description = "" } = args; const content = `# ${projectName} ${description} ## Languages ${languages.map((l: string) => `- ${l}`).join("\n")} ## 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\` ## Coding Standards - Follow ${languages[0]} best practices - Write clean, maintainable code - Include error handling - Add appropriate logging ## Project Structure - Keep related files together - Use consistent naming conventions - Separate concerns appropriately ## Testing Requirements - Write tests for new features - Maintain test coverage ## Security - Never expose secrets in code - Validate all inputs - Use secure dependencies `; return { content: [{ type: "text", text: content }] }; } export function generateClaudeConfigHandler(args: any) { const { projectName, languages, description = "" } = args; const content = `# ${projectName} ${description} ## Tech Stack ${languages.map((l: string) => `- ${l}`).join("\n")} ## Guidelines 1. Follow ${languages[0]} idioms and best practices 2. Write clean, readable code 3. Include proper error handling 4. Document complex logic 5. Write tests for critical paths ## Code Review Checklist - [ ] Code follows style guide - [ ] Tests are included - [ ] No security vulnerabilities - [ ] Performance considered - [ ] Documentation updated `; return { content: [{ type: "text", text: content }] }; } // Windsurf config generator export const generateWindsurfConfigSchema = { name: "generate_windsurf_config", description: "Generates a .windsurfrules file for Windsurf IDE.", inputSchema: z.object({ projectName: z.string(), languages: z.array(z.string()), description: z.string().optional() }) }; export function generateWindsurfConfigHandler(args: any) { const { projectName, languages, description = "" } = args; const content = `# ${projectName} Windsurf Rules\n\n${description}\n\n## Languages\n${languages.join(", ")}\n\n## Coding Standards\n- Follow official documentation\n- Use consistent formatting\n- Write comprehensive tests\n- Handle errors properly\n`; return { content: [{ type: "text", text: content }] }; } // Aider config generator export const generateAiderConfigSchema = { name: "generate_aider_config", description: "Generates a .aider.conf.yml file for Aider AI.", inputSchema: z.object({ projectName: z.string(), languages: z.array(z.string()), model: z.string().optional().describe("AI model to use") }) }; export function generateAiderConfigHandler(args: any) { const { projectName, languages, model = "gpt-4" } = args; const content = `# ${projectName} Aider Configuration\nmodel: ${model}\nauto-commits: true\nauto-test: true\n`; return { content: [{ type: "text", text: content }] }; } // Cline/Roo config generator export const generateClineConfigSchema = { name: "generate_cline_config", description: "Generates a .clinerules file for Cline/Roo Code.", inputSchema: z.object({ projectName: z.string(), languages: z.array(z.string()) }) }; export function generateClineConfigHandler(args: any) { const { projectName, languages } = args; const content = `# ${projectName} - Cline Rules\n\n## Project Stack\n${languages.join(", ")}\n\n## Instructions\n- Follow ${languages[0]} best practices\n- Write clean, tested code\n- Handle errors appropriately\n`; return { content: [{ type: "text", text: content }] }; } // GitHub Copilot config generator export const generateCopilotConfigSchema = { name: "generate_copilot_config", description: "Generates a .github/copilot-instructions.md for GitHub Copilot.", inputSchema: z.object({ projectName: z.string(), languages: z.array(z.string()), frameworks: z.array(z.string()).optional() }) }; export function generateCopilotConfigHandler(args: any) { const { projectName, languages, frameworks = [] } = args; const content = `# ${projectName} - GitHub Copilot Instructions\n\n## Tech Stack\n- Languages: ${languages.join(", ")}\n${frameworks.length ? `- Frameworks: ${frameworks.join(", ")}` : ""}\n\n## Guidelines\n- Follow ${languages[0]} idioms\n- Write clear, documented code\n- Include type hints where applicable\n- Write comprehensive tests\n`; return { content: [{ type: "text", text: content }] }; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/millsydotdev/Code-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server