Token导航 LogoToken导航TokenDH.com
cacode (Christian Cruz Arango) logo
数据服务未说明官方级别未说明来源级核验

cacode (Christian Cruz Arango)

MCP Server

一个开源的代码分析工具,用于检查代码质量、最佳实践、性能、安全性、架构和数据库问题,支持与任何LLM连接,自动发现MCP服务器,分析数据库模式并生成交互式HTML报告。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
代码质量安全分析TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ChristianCruzArango

提供方

ChristianCruzArango

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Cacode

开源代码分析工具 它审查您的项目的代码质量、最佳实践、性能、安全性、架构和数据库问题。连接到任何LLM,自动发现MCP服务器,分析数据库模式,并生成交互式HTML报告。

开源代码分析工具 他们检查您的项目以寻找代码质量、良好的实践、性能、安全性、体系结构和数据库问题。它连接到任何LLM,自动发现MCP服务器,分析数据库架构并生成交互式HTML报告。

______________________________________________________________________

目录/目录

______________________________________________________________________

安装/安装

npm install -g cacode

要求/要求: Node.js>=18.0.0

______________________________________________________________________

初始设置/初始设置

选项A:您已安装Claude Code(零配置)

如果你已经有了 克劳德代码 安装并验证, 你不需要配置任何东西.CACode会自动检测到它并询问您是否要使用它:

如果你已经有了 克劳德代码 安装和认证, 您不需要设置任何内容。Cacode会自动检测到它,并询问您是否想使用它:

cacode analyze ./my-project
# > Claude Code detectado en tu sistema.
# > ¿Deseas usar Claude Code para el analisis? (y/n): y
# > Usando Claude Code como proveedor LLM

不需要API密钥。透明地使用您现有的Claude Code订阅。

没有API密钥。透明地使用您现有的Claude Code订阅。

选项B:配置API密钥(任何提供程序)

如果您更喜欢使用特定的提供程序,或者没有Claude代码,请配置API密钥:

如果您更喜欢使用特定的提供程序,或者您没有Claude Code,请配置密钥API:

cacode init --global

这创建了两个文件/这创建了两个文件:

~/.cacode/
  ├── .env                # API keys + database credentials
  └── .cacode.yml         # Default analysis settings

位置 / Location |---|---| | 视窗 | C:\Users\\.cacode\ | | macOS | /Users//.cacode/ | | Linux | /home//.cacode/ |

1.设置您的API密钥/Configurat tu API密钥

编辑 ~/.cacode/.env:

# Choose ONE provider / Elige UN proveedor:

# Anthropic (Claude) - Default / Por defecto
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxx

# OpenAI (GPT)
# OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx

# Google Gemini
# GEMINI_API_KEY=AIxxxxxxxxxxxxxxxxxxxxx

# OpenRouter (200+ models with one key / 200+ modelos con una key)
# OPENROUTER_API_KEY=sk-or-xxxxxxxxxxxxxxxxxxxx

# Ollama - No API key needed / No necesita API key
# Just run: ollama serve

2.(可选)设置数据库凭据/(可选)配置BD凭据

在同一个 ~/.cacode/.env:

在同一时间 ~/.cacode/.env:

# Database connection / Conexion a base de datos
DB_TYPE=postgresql
DATABASE_URL=postgresql://user:password@localhost:5432/mydb

就是这样。您只需配置一次,即可分析任何项目。

这就是全部。配置一次,分析任何项目。

______________________________________________________________________

快速启动/快速启动

英语:

# 1. Install
npm install -g cacode

# 2. Configure (one time only)
cacode init --global
# Edit ~/.cacode/.env with your API key

# 3. Analyze any project (3 modes)
cacode analyze ./my-project                          # Local project
cacode analyze https://github.com/user/repo.git      # Git repository
cacode analyze ./src/controllers/auth.ts             # Single file

# The report opens automatically in your browser

西班牙语:

# 1. Instalar
npm install -g cacode

# 2. Configurar (solo una vez)
cacode init --global
# Edita ~/.cacode/.env con tu API key

# 3. Analiza lo que necesites (3 modos)
cacode analyze ./mi-proyecto                         # Proyecto local
cacode analyze https://github.com/user/repo.git      # Repositorio Git
cacode analyze ./src/controllers/auth.ts             # Archivo individual

# El reporte se abre automaticamente en tu navegador

______________________________________________________________________

命令/Comandos

cacode init

初始化配置文件。

初始化配置文件。

# Global setup (one time) - creates ~/.cacode/.env and ~/.cacode/.cacode.yml
# Configuracion global (una vez) - crea ~/.cacode/.env y ~/.cacode/.cacode.yml
cacode init --global

# Per-project overrides (optional) - creates .cacode.yml in current directory
# Sobreescrituras por proyecto (opcional) - crea .cacode.yml en directorio actual
cacode init

# Overwrite existing / Sobreescribir existente
cacode init --global --force

cacode analyze [path]

主命令。分析本地项目、远程Git存储库或单个文件。

主要指挥部。分析本地项目、远程Git存储库或单个文件。

# ── Local project / Proyecto local ──
cacode analyze                     # Current directory / Directorio actual
cacode analyze ./my-project        # Specific path / Ruta especifica

# ── Git repository / Repositorio Git ──
cacode analyze https://github.com/user/repo.git
cacode analyze https://github.com/user/repo.git --branch develop

# ── Single file / Archivo individual ──
cacode analyze ./src/auth/login.ts
cacode analyze ./app/Http/Controllers/UserController.php
cacode analyze C:\Projects\my-app\src\index.js

单文件模式 仅对一个文件运行快速、集中的分析。非常适合在开发过程中快速审查。它从父目录中检测项目上下文(语言、框架),但只分析指定的文件。

个人档案模式 运行快速且专注于单个文件的分析。非常适合在开发过程中进行快速审查。从父目录检测项目上下文(语言、框架),但仅分析指定的文件。

选项/选项:

OptionDescription (EN)Description (ES)
--provider LLM提供者: anthropic, openai, gemini, ollama, openrouter, openai-compatible, claude-code供应商LLM
--model LLM模型使用
`--config
`通往 .cacode.yml文件路径 .cacode.yml
--output 报表输出目录报表输出目录
--no-browser不要在浏览器中打开报告不要在浏览器中打开报告
-v, --verbose启用调试日志记录Habilitar日志去授权
--ci CI mode: non-zero exit if score \`CI模式的最低得分(默认值:70)CI模式下的最低得分
--format 输出格式: htmljson输出格式: htmljson
--since 自Git Ref以来仅分析更改的文件仅分析自Git Ref以来更改的文件
`--branch
`要克隆的Git分支(远程存储库)Rama de Git a clonar(远程存储)
--lang 报告语言: enes报告语言: enes

cacode registry

搜索可用的MCP服务器。

寻找可用的MCP服务器。

cacode registry search typescript
cacode registry search postgresql
cacode registry list

______________________________________________________________________

配置/配置

CACode使用分层配置系统。您可以全局配置所有内容一次,并可选择覆盖每个项目。

Cacode使用分层配置系统。您可以全局配置所有内容一次,并可以选择按项目覆盖。

位置/文件位置

~/.cacode/                             # GLOBAL (all projects / todos los proyectos)
  ├── .env                             # API keys, database credentials
  └── .cacode.yml                      # Default analysis settings

./my-project/                          # PER-PROJECT overrides (optional / opcional)
  └── .cacode.yml                      # Only what you want to change

优先顺序/优先顺序

后来的消息来源覆盖了以前的消息来源/后来的消息来源覆盖了以前的消息来源:

1. Built-in defaults          (lowest priority / menor prioridad)
2. ~/.cacode/.cacode.yml             (global config)
3. ./project/.cacode.yml             (project config)
4. ~/.cacode/.env                    (global env vars)
5. ./project/.env                    (project env vars - DB only)
6. CLI flags                  (highest priority / mayor prioridad)

全局配置/全局配置

~/.cacode/.cacode.yml:

llm:
  provider: anthropic                    # anthropic | openai | ollama | gemini
  model: claude-sonnet-4-20250514  # Model name / Nombre del modelo
  maxTokens: 4096
  temperature: 0.2

analysis:
  categories:
    - best-practices    # Code quality / Calidad de codigo
    - performance       # Bottlenecks / Cuellos de botella
    - security          # Vulnerabilities / Vulnerabilidades
    - rendering         # UI optimization / Optimizacion de UI
    - architecture      # Design patterns / Patrones de diseno
    - database          # DB schema & queries / Esquema y queries de BD
  exclude:
    - "node_modules/**"
    - "dist/**"
    - "build/**"
    - ".git/**"
    - "coverage/**"
  concurrency: 3        # Parallel analysis / Analisis paralelo
  maxFileSize: 100000   # Max file size in bytes / Tamano maximo en bytes

database:
  enabled: true
  readOnly: true         # Read-only connection / Conexion solo lectura
  connectionTimeout: 10000

mcp:
  autoDiscover: true     # Auto-discover MCP servers / Auto-descubrir servidores MCP
  servers: []            # Custom servers / Servidores personalizados

report:
  outputDir: ./cacode-reports
  openInBrowser: true
  format: html           # html | json
  includeSourceCode: true

每个项目覆盖/每个项目覆盖

如果特定项目需要不同的设置,请创建 ./project/.cacode.yml 随着 只有您要更改的字段:

如果项目需要不同的设置,请创建 ./project/.cacode.yml 骗局 只有你想改变的领域:

# Only analyze security for this project
# Solo analizar seguridad para este proyecto
analysis:
  categories:
    - security
    - performance

# Disable database for this project
# Deshabilitar base de datos para este proyecto
database:
  enabled: false

______________________________________________________________________

LLM供应商

Claude Code(零配置/无配置)

如果您的系统上安装了Claude Code,CACode可以直接使用它。不需要API密钥。

如果Claude Code安装在您的系统上,Cacode可以直接使用它。不需要API密钥。

# Auto-detected / Auto-detectado
cacode analyze ./my-project
# CACode asks: "¿Deseas usar Claude Code para el analisis?"

# Or explicitly / O explicitamente
cacode analyze ./my-project --provider claude-code
cacode analyze ./my-project --provider claude-code --model opus

通过Claude Code提供的型号: sonnet (默认), opus, haiku

API密钥提供程序/带有API密钥的供应商

所有API密钥都进入 ~/.cacode/.env你只设置了一次。

所有API密钥都进入 ~/.cacode/.env.设置它们一次。

人类学(克劳德)

# ~/.cacode/.env
ANTHROPIC_API_KEY=sk-ant-...
cacode analyze . --provider anthropic --model claude-sonnet-4-20250514

OpenAI(GPT)

# ~/.cacode/.env
OPENAI_API_KEY=sk-...
cacode analyze . --provider openai --model gpt-4o

Ollama(本地模型/本地模型)

不需要API密钥。Ollama一定在当地跑步。

不需要API密钥。Ollama必须在本地运行。

# Start Ollama first / Inicia Ollama primero
ollama serve

# Then analyze / Luego analiza
cacode analyze . --provider ollama --model llama3
cacode analyze . --provider ollama --model deepseek-coder
cacode analyze . --provider ollama --model mistral

谷歌双子座

# ~/.cacode/.env
GEMINI_API_KEY=AI...
cacode analyze . --provider gemini --model gemini-pro

OpenRouter(访问200+型号/访问200+型号)

使用以下任何型号 开放路由 (Anthropic、OpenAI、Meta、Mistral等),带有单个API键。

使用任何模型 开放路由 (Anthropic,OpenAI,Meta,Mistral等)使用单个API密钥。

# ~/.cacode/.env
OPENROUTER_API_KEY=sk-or-...
cacode analyze . --provider openrouter --model anthropic/claude-sonnet-4
cacode analyze . --provider openrouter --model openai/gpt-4o
cacode analyze . --provider openrouter --model meta-llama/llama-3-70b

OpenAI兼容(自定义端点/端点个性化)

使用遵循OpenAI格式的任何API(LM Studio、vLLM、Azure OpenAI等)。

使用遵循OpenAI格式的任何API(LM Studio、VLLM、Azure OpenAI等)。

# ~/.cacode/.env
OPENAI_COMPATIBLE_API_KEY=your-key
# ~/.cacode/.cacode.yml
llm:
  provider: openai-compatible
  model: my-custom-model
  baseUrl: http://localhost:8080/v1

自动检测/自动检测

提供程序是从您的 .env 如果 --provider 未指定:

从您的 .env 如果没有指定 --provider:

API密钥/变量检测到提供程序/Provedor detectado默认模型/Modelo Default
ANTHROPIC_API_KEY人类学claude-sonnet-4-20250514
OPENAI_API_KEYOpenAIgpt-4o
GEMINI_API_KEY双子座双子座专业
OPENROUTER_API_KEYOpenRouter人/claude-sonnet-4
(无-已安装Claude Code)Claude Code CLI十四行诗

优先级顺序:Anthropic>OpenAI>Gemini>OpenRouter>Claude Code CLI

Orden de prioridad:人类学>OpenAI>双子座>OpenRouter>克劳德代码CLI

______________________________________________________________________

数据库分析/数据库分析

CACode连接到数据库以分析模式、索引、查询和数据流。

CaCode连接到您的数据库以分析架构、索引、查询和数据流。

设置/设置

将数据库凭据添加到 ~/.cacode/.env:

将BD凭据添加到 ~/.cacode/.env:

DB_TYPE=postgresql
DATABASE_URL=postgresql://user:password@localhost:5432/mydb

或者,如果不同的项目使用不同的数据库,请将它们放在项目自己的数据库中 .env:

O、 如果不同的项目使用不同的数据库,请将它们放在 .env 项目本身:

# ./my-project/.env
DB_TYPE=mysql
DATABASE_URL=mysql://user:password@localhost:3306/projectdb

支持的数据库/支持的数据库

数据库驱动程序URL格式
PostgreSQLpgpostgresql://user:pass@host:5432/db
MySQL/MariaDBmysql2mysql://user:pass@host:3306/db
SQLitebetter-sqlite3sqlite:./path/to/file.db
MongoDBmongodbmongodb://user:pass@host:27017/db

ORM检测

从项目文件中自动检测ORM:

从项目文件自动检测您的ORM:

  • 棱镜 -从 prisma/schema.prismapackage.json
  • 类型ORM -从 package.json (typeorm)
  • Sequelize -从 package.json (sequelize)
  • 细雨 -从 package.json (drizzle-orm)
  • SQL炼金术 -从 requirements.txt
  • Django ORM -从 requirements.txtmanage.py

分析什么/问题分析

  • 模式:表、列、类型、主键、外键/制表符、columnas、tipos、PK、FK
  • 索引:缺少索引、冗余索引/索引缺陷、索引冗余
  • 查询:在代码中发现原始SQL和ORM查询/SQL crudo y query ORM en el codigo
  • 数据流:端点->服务->查询->表跟踪/流跟踪
  • N+1检测:循环内查询/循环内查询
  • 安全:SQL注入,硬编码凭据/Inyeccion SQL,硬编码凭证
  • ER图:报告中的视觉实体关系图/Diagrama ER视觉环境报告

______________________________________________________________________

MCP集成/集成MCP

CACode发现并安装 MCP(模型上下文协议) 服务器使用专门的工具增强分析。

CaCode发现和安装服务器 MCP(模型上下文协议) 使用专业工具改进分析。

自我发现/自我发现

mcp.autoDiscover 启用(默认),CACode:

mcp.autoDiscover 启用(默认),cacode:

  1. 检测您的项目的语言和数据库/检测语言和数据库
  2. 在MCP注册表中搜索匹配的服务器/Busca服务商
  3. 通过安装 npx (没有手动安装)/ npx (无手动设置)
  4. 对您的代码运行他们的分析工具/对您的代码运行他们的分析工具
  5. 将结果作为LLM的上下文提供/将结果作为LLM的上下文提供

自定义MCP服务器/自定义MCP服务器

增添 ~/.cacode/.cacode.yml (全球)或 ./project/.cacode.yml (每个项目):

添加到 ~/.cacode/.cacode.yml (全球)o ./project/.cacode.yml (按项目):

mcp:
  servers:
    - name: my-custom-linter
      command: npx
      args: ["-y", "@my-org/mcp-linter"]
      env:
        CUSTOM_VAR: "value"

    - name: security-scanner
      command: npx
      args: ["-y", "@security/mcp-scanner"]

______________________________________________________________________

技能整合/技能整合

CACode自动从以下位置获取社区最佳实践 技能s.sh 基于您检测到的框架和语言。这些指导方针被注入LLM提示中,以进行更准确、框架感知的分析。

Cacode自动从 技能s.sh 基于检测到的框架和语言。这些指南被注入LLM的提示符中,以便对该框架进行更准确和更有意识的分析。

它是如何工作的/COM函数a

  1. CACode检测项目的框架(React、Angular、Laravel等)
  2. 从以下方面解决匹配技能问题 skills-map.json 注册表
  3. 从GitHub获取技能内容(markdown最佳实践)
  4. 将它们作为LLM上下文与MCP结果和框架知识一起注入

可用技能/技能争议

框架技能
React/Next.jsvercel-react-best-practices, next-best-practices
角度angular-component, angular-signals
查看vue-best-practices, vue-pinia-best-practices, vue-testing-best-practices
斯维尔特svelte5-best-practices
NestJS。 nestjs-best-practices (架构、安全、数据库、性能)
Laravellaravel-specialist (口才、路线、队列)
快递nodejs-backend-patterns
Djangopython-design-patterns, python-performance-optimization
TypeScriptvercel-composition-patterns
python python-anti-patterns, python-type-safety
安全secrets-management
数据库postgresql-table-design, sql-optimization-patterns
建筑architecture-patterns

技能从公共GitHub存储库中获取,并在分析过程中缓存。无需配置。

这些技能是从GitHub的公共回购中获得的,并在分析过程中被隐藏。不需要设置。

______________________________________________________________________

Git远程分析/仓库分析Git

直接通过URL分析任何公共Git存储库。只需粘贴GitHub(或GitLab/Bitbucket)链接,CACode就会处理一切:克隆、分析、生成报告和清理。

直接通过URL分析任何公开的Git存储库。它只粘贴GitHub链接(或Gitlab/BitBucket),而CaCode负责一切:克隆、分析、生成报告和清理。

支持的URL格式/支持的URL格式

# GitHub - HTTPS (with or without .git)
cacode analyze https://github.com/user/repo.git
cacode analyze https://github.com/user/repo

# GitLab
cacode analyze https://gitlab.com/user/repo.git

# Bitbucket
cacode analyze https://bitbucket.org/user/repo.git

# Specific branch / Rama especifica
cacode analyze https://github.com/user/repo.git --branch develop
cacode analyze https://github.com/user/repo --branch feature/auth

# SSH (requires SSH key configured / requiere clave SSH configurada)
cacode analyze git@github.com:user/repo.git

它是如何工作的/COM函数a

当您提供Git URL而不是本地路径时,CACode会自动运行以下过程:

当您提供Git URL而不是本地路径时,CaCode会自动执行以下过程:

cacode analyze https://github.com/user/repo.git
                        │
                        ▼
           ┌────────────────────────┐
           │  1. Detect Git URL     │  Recognizes GitHub, GitLab, Bitbucket
           │     Detectar URL Git   │  URLs automatically (HTTPS or SSH)
           └───────────┬────────────┘
                       ▼
           ┌────────────────────────┐
           │  2. Shallow clone      │  git clone --depth 1 to temp directory
           │     Clonar superficial │  Fast: only downloads latest commit
           └───────────┬────────────┘
                       ▼
           ┌────────────────────────┐
           │  3. Full analysis      │  Same pipeline as local projects:
           │     Analisis completo  │  languages, MCP, LLM, DB, report
           └───────────┬────────────┘
                       ▼
           ┌────────────────────────┐
           │  4. Generate report    │  HTML report saved locally and
           │     Generar reporte    │  opened in your browser
           └───────────┬────────────┘
                       ▼
           ┌────────────────────────┐
           │  5. Cleanup            │  Temporary clone deleted
           │     Limpiar            │  automatically after analysis
           └────────────────────────┘

循序渐进的例子

英语:

# 1. You find a GitHub project you want to review
#    No need to fork, clone, or download anything

# 2. Run CACode with the GitHub URL
cacode analyze https://github.com/expressjs/express.git

# 3. CACode will:
#    - Clone the repo to a temp folder (fast shallow clone)
#    - Detect languages (JavaScript 92%, etc.)
#    - Search and connect MCP servers for detected frameworks
#    - Analyze all source code files with the configured LLM
#    - Generate an HTML report and open it in your browser
#    - Delete the temp folder automatically

# 4. Want a specific branch?
cacode analyze https://github.com/expressjs/express.git --branch 5.x

# 5. Want verbose output to see every step?
cacode analyze https://github.com/user/repo --verbose

西班牙语:

# 1. Encuentras un proyecto en GitHub que quieres revisar
#    No necesitas hacer fork, clonar ni descargar nada

# 2. Ejecuta CACode con la URL de GitHub
cacode analyze https://github.com/expressjs/express.git

# 3. CACode hara:
#    - Clonar el repo a una carpeta temporal (clone superficial rapido)
#    - Detectar lenguajes (JavaScript 92%, etc.)
#    - Buscar y conectar MCP servers para los frameworks detectados
#    - Analizar todos los archivos de codigo con el LLM configurado
#    - Generar un reporte HTML y abrirlo en tu navegador
#    - Eliminar la carpeta temporal automaticamente

# 4. ¿Quieres una rama especifica?
cacode analyze https://github.com/expressjs/express.git --branch 5.x

# 5. ¿Quieres ver cada paso en detalle?
cacode analyze https://github.com/user/repo --verbose

重要提示/重要事项

  • 仅限公共存储库 (除非您为私有存储库配置了SSH密钥)/ 只有公共休息 (除非您为私人RESP配置了SSH密钥)
  • 需要 git 安装 在您的系统上/ 需要 git instalado 在你的系统中
  • 用途 --depth 1 (浅层克隆)提高速度——只下载最新的提交/Usa --depth 1 (表面克隆)对于速度-只下载最后一个提交
  • 克隆超时为2分钟-大型REPO可能需要良好的连接/克隆超时为2分钟-大型REPO可能需要良好的连接
  • 临时文件夹为 总是清理干净,即使分析失败/La carpeta temporal 总是干净的,即使分析失败
  • --branch flag与分支名称和标签一起使用/El-flag --branch 它与分支名称和标记一起工作

______________________________________________________________________

CI/CD集成

在CI管道中使用CACode来执行代码质量标准。

在您的IC管道中使用Cacode来应用代码质量标准。

GitHub操作

name: Code Review
on: [push, pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install CACode
        run: npm install -g cacode

      - name: Run Analysis
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: cacode analyze . --ci --threshold 70 --format json --no-browser

GitLab 的

code-review:
  image: node:20
  script:
    - npm install -g cacode
    - cacode analyze . --ci --threshold 70 --format json --no-browser
  variables:
    ANTHROPIC_API_KEY: $ANTHROPIC_API_KEY

CI Mode Options / CI 模式选项

# Fail if score =阈值(通过/未通过)
- `1` -分数\<阈值(失败/重新测试)

______________________________________________________________________

## 报告/报告

### HTML报告功能/报告HTML特征

- **总体评分**:动画甜甜圈图表(0-100)/带有动画甜甜圈图表的总分
- **类别细分**每个类别的个人分数
- **发行卡片**:具有严重性、描述、建议和代码片段的详细问题/具有严重性、描述、建议和代码片段的问题卡
- **严重性筛选器**:切换关键/警告/信息/严重性过滤器
- **类别过滤器**:按分析类别筛选/按分析类别过滤
- **搜索**:按关键字搜索问题/公共汽车问题por palabra clave
- **暗/亮模式**:切换主题/更改主题
- **可折叠截面**:展开/折叠类别/分组表
- **数据库部分**ER图,表卡,数据库特定问题
- **打印友好**:打印清洁输出/打印清洁输出

### JSON报告/报告JSON

cacode analyze . --format json


输出结构/输出结构:

{ "projectPath": "./my-project", "timestamp": "2026-02-23T...", "overallScore": 72, "categories": [ { "category": "security", "score": 65, "issues": [...] }, { "category": "performance", "score": 80, "issues": [...] } ], "issues": [...], "dbAnalysis": { "schema": { "tables": [...], "relations": [...], "indexes": [...] }, "queriesFound": [...], "flows": [...] }, "metadata": { "totalFiles": 51, "analyzedFiles": 38, "duration": 45000, "provider": "anthropic", "model": "claude-sonnet-4-20250514" } }


______________________________________________________________________

## 自定义规则/自定义规则

在中创建自定义分析规则 `.cacode-rules/` 目录(在项目中或全局):

在目录中创建自定义分析规则 `.cacode-rules/` (在项目中或全球):

.cacode-rules/my-rules.yml

rules: - id: no-console-error category: best-practices severity: warning title: "console.error should use logger" description: "Use the project logger instead of console.error for consistent error handling." pattern: "console\\.error\\(" languages: ["TypeScript", "JavaScript"]

- id: no-any-params category: best-practices severity: warning title: "Function parameter typed as any" description: "Avoid using 'any' for function parameters. Use specific types." pattern: "\\(\\w+:\\s*any" languages: ["TypeScript"] filePattern: "src/.*\\.ts$"


### 规则栏/规则栏

|字段/字段|必填/必填|描述(英语)|描述(英语)|
|---|---|---|---|
| `id` |是/Si |唯一规则标识符|标识符unico|
| `category` |是/是| `best-practices`, `performance`, `security`, `rendering`, `architecture`, `database` 类别 |
| `severity` |是/是| `critical`, `warning`, `info` |严重程度|
| `title` |是/Si |短刊标题|Titulo corto del issue|
| `description` |是/是|详细说明|详细说明|
| `pattern` |是/Si|匹配正则表达式模式| Patron正则表达式一辆公共汽车|
| `languages` |否|仅限于特定语言|限制特定语言|
| `filePattern` |否| Regex to filter file paths | Regex to filter paths|
| `suggestion` |否|如何解决问题| Como corrigir el问题|

______________________________________________________________________

## 分析类别/分析类别

|类别/类别|它检查什么/重访|
|---|---|
| `best-practices` |命名约定、DRY、SOLID、错误处理、代码复杂性/约定、DRY、SOLID和错误处理|
| `performance` |内存泄漏,O(n^2),同步操作,n+1查询,缓存/Fugas de memoria,操作sincronas,n+1|
| `security` |SQL注入、XSS、CSRF、硬编码秘密、eval()、不安全URL/Inyeccion SQL、XSS和secretos硬编码|
| `rendering` |重新渲染、缺少记忆、缺少键、代码拆分/重新渲染、记忆错误|
| `architecture` |关注分离,循环DEPS,GOD对象,耦合/责任分离,耦合|
| `database` |模式规范化、缺少索引、N+1、事务、SQL注入/规范化、索引、事务|

______________________________________________________________________

## 例子/例子

### 基本分析

cacode analyze ./my-express-app


### 使用OpenAI/Analizar对OpenAI进行分析

Set key once in ~/.cacode/.env: OPENAI_API_KEY=sk-...

cacode analyze . --provider openai --model gpt-4o


### 用局部模型分析/Analizar con modelo局部

ollama serve # In another terminal / En otra terminal cacode analyze . --provider ollama --model llama3


### 仅分析安全和性能/仅分析安全和性能

创建 `./project/.cacode.yml`:

analysis: categories: - security - performance


### 分析远程仓库/Analizar仓库remoto

cacode analyze https://github.com/expressjs/express.git --branch 5.x


### 脚本的JSON输出/Salida JSON对位脚本

cacode analyze . --format json --no-browser cat cacode-reports/report-2026-02-23.json | jq '.overallScore'


### 使用数据库进行全面分析/使用数据库进行全面分析

~/.cacode/.env already has:

DB_TYPE=postgresql

DATABASE_URL=postgresql://user:pass@localhost:5432/mydb

cacode analyze . --verbose


产量/Salida:

✓ Usando openrouter API (anthropic/claude-sonnet-4) para analisis profundo [1/8] Detectando lenguajes... ✓ Lenguajes: TypeScript (65%), Python (30%), SQL (5%) ✓ Frameworks: NestJS, Prisma [2/8] Detectando base de datos... ✓ postgresql via .env (ORM: Prisma) [3/8] Configurando MCP servers... ✓ 2 MCP server(s) conectados [4/8] Ejecutando MCP skills... ℹ MCP: 15 tool results + 3 resources obtenidos [5/8] Obteniendo skills de best practices... ✓ 2 skills obtenidos de skills.sh [6/8] Analizando codigo... ℹ 38 archivos de codigo recolectados [7/8] Analizando base de datos... ✓ 12 tablas, 8 relaciones, 15 indices [8/8] Generando reporte... ✓ Reporte: ./cacode-reports/report-2026-02-24.html

Score: 72/100 Critical: 3 Warning: 12 Info: 24


**单个文件分析/单个文件分析:**

cacode analyze ./src/auth/login.ts

ℹ Archivo: login.ts [1/4] Detectando lenguajes... ✓ Lenguajes: TypeScript (100%) ✓ Frameworks: Express [2/4] Analizando codigo... ℹ Archivo: login.ts (TypeScript, 2450 bytes) [3/4] Generando reporte... ✓ Reporte: ./cacode-reports/report-2026-02-24.html

Score: 68/100 Critical: 1 Warning: 4 Info: 2


______________________________________________________________________

## 所有环境变量/所有环境变量

所有变量都进入 `~/.cacode/.env`:

所有变量都在 `~/.cacode/.env`:

| 变量 | 描述 (EN) | 描述 (ES) |
|---|---|---|
| `ANTHROPIC_API_KEY` |Anthropic/Claude API密钥| API密钥de Anthropic/Claude|
| `OPENAI_API_KEY` |OpenAI API密钥| API密钥de OpenAI|
| `GEMINI_API_KEY` |Google Gemini API密钥| API密钥de Google Gemini|
| `OPENROUTER_API_KEY` |OpenRouter API密钥(sk-or-…)| API密钥de OpenRouter|
| `OPENAI_COMPATIBLE_API_KEY` |自定义OpenAI兼容API密钥| API密钥para API兼容con OpenAI|
| `DB_TYPE` |数据库类型: `postgresql`, `mysql`, `mongodb`, `sqlite` |数据库类型|
| `DATABASE_URL` |数据库连接字符串| BD的字符串解连接|

______________________________________________________________________

## 发展/发展

Clone the repo / Clonar el repo

git clone https://github.com/your-org/cacode.git cd cacode

Install dependencies / Instalar dependencias

npm install

Build / Compilar

npm run build

Run tests / Ejecutar tests

npm test

Watch mode / Modo watch

npm run dev


______________________________________________________________________

## 许可证/执照

麻省理工学院

目录标签

目录标签

代码质量安全分析TypeScriptClaude本地部署性能优化数据库优化架构审查

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP