C++ Core Guidelines

Imponha um estilo C++ consistente e as melhores práticas em sua base de código. Analise convenções de nomenclatura, segurança de memória e correção de const, e obtenha sugestões acionáveis de modernização até C++23. Acelere revisões com prompts prontos e acesso rápido a diretrizes selecionadas.

Documentação

Chinês | Inglês

Servidor MCP de Guia de Estilo C++

Imponha um estilo C++ consistente e boas práticas em todo o seu código. Analise convenções de nomenclatura, segurança de memória e correção de const, e obtenha sugestões de modernização acionáveis até C++23. Acelere revisões com prompts prontos e acesso rápido a diretrizes selecionadas.

Ferramentas

FerramentaDescrição
check_namingValide identificadores C++ (variáveis, classes, funções, etc.) de acordo com as convenções de nomenclatura
check_include_guardVerifique guards de inclusão de arquivos de cabeçalho ou o uso de #pragma once
analyze_memory_safetyDetecte vazamentos de memória, ponteiros soltos e padrões de memória inseguros
suggest_modern_cppObtenha sugestões de modernização direcionadas de C++11 a C++23
check_const_correctnessEncontre qualificadores const ausentes em funções membro, parâmetros e variáveis

Recursos

URIDescrição
cpp-style://naming/{category}Referência de convenções de nomenclatura (variável, classe, função, namespace, …)
cpp-style://best-practices/{topic}Guias de boas práticas (memória, exceções, templates, concorrência, …)
cpp-style://standard/{version}Documentação de recursos do padrão C++ (cpp11 – cpp23)
cpp-style://examples/{pattern}Exemplos de padrões de design (RAII, Pimpl, Factory, Observer, …)

Prompts

PromptDescrição
code_reviewModelo de revisão de código (geral / desempenho / segurança / legibilidade / moderno)
refactor_suggestionGuia de refatoração direcionado a um padrão C++ específico

Uso

Conecte via Smithery (recomendado)

npx -y @smithery/cli install @SongJiangzhou/cpp_guidelines --client claude

Endpoint MCP (HTTP / streamable-http)

https://cpp-style-guide-mcp.fly.dev/mcp

Instalação local

git clone https://github.com/SongJiangzhou/cpp_guidelines_mcp.git
cd cpp_guidelines_mcp
uv sync
uv run mcp run cpp_style_server.py

Adicione à configuração do seu cliente MCP:

{
  "mcpServers": {
    "cpp-style": {
      "command": "uv",
      "args": ["run", "mcp", "run", "cpp_style_server.py"],
      "cwd": "/path/to/cpp_guidelines_mcp"
    }
  }
}

Exemplos

# Check a variable name
check_naming("myVariable", "variable")

# Analyze memory safety
analyze_memory_safety("void f(int* p) { delete p; p->run(); }")

# Modernize code to C++17
suggest_modern_cpp("for (int i=0; i<v.size(); i++) {...}", "cpp17")

# Check const correctness
check_const_correctness("class Foo { int getValue() { return x; } int x; };")

# Access naming convention docs
Resource: cpp-style://naming/all

# Access memory best practices
Resource: cpp-style://best-practices/memory

Estrutura do Projeto

cpp_guidelines_mcp/
├── cpp_style_server.py        # MCP server entry point
├── cpp_style/
│   ├── tools/                 # 5 analysis tools
│   ├── resources/             # 4 reference resource categories
│   ├── prompts/               # 2 prompt templates
│   └── data/                  # JSON knowledge base
├── fly.toml                   # Fly.io deployment config
├── Dockerfile                 # Container image
└── smithery.yaml              # Smithery config (local stdio mode)

Pilha Tecnológica

  • Python >= 3.12
  • FastMCP >= 1.21.0
  • uv gerenciador de pacotes
  • Implantado no Fly.io

Licença

MIT

Links