All-in-one 100% open-source plugin for Claude Code / Cowork. Handles security, bug detection and fixing, code quality, dependency management, observability, performance and compliance for any dev project. Stack-aware (Node, Python, PHP/WordPress, Go, Rust, Ruby, Java, C# / .NET), trilingual triggers (EN + PT + ES) — responds in the user's language.
Under the hood it ships a Claude Code plugin (11 skills + 44 slash commands) and an MCP server with 50 tools and 16 resources, with persistent SQLite state for baselines, deltas and suppressions. It also vets third-party AI skills / MCP servers / agents before you install them — the supply-chain check for the agent ecosystem.
| Skill | Slash command | What it does |
|---|---|---|
guardian |
/guardian |
Main router — dispatches to the right module |
guardian-init |
/guardian-init |
Initial bootstrap — installs and configures everything |
guardian-security |
/guardian-scan |
SAST + secrets + CVEs + container + IaC |
guardian-bugfix |
/guardian-fix |
Hunts and fixes implementation bugs |
guardian-quality |
/guardian-quality |
Complexity, duplication, tech debt |
guardian-review |
/guardian-review |
Deep pre-PR / pre-deploy review |
guardian-deps |
/guardian-deps |
Renovate setup + CVE scan + supply chain |
guardian-observability |
/guardian-observe |
Structured logging, metrics, error tracking |
guardian-performance |
/guardian-perf |
Performance budgets, k6, Lighthouse |
guardian-compliance |
/guardian-compliance |
GDPR, licenses, SBOM, privacy policy |
guardian-scanskill |
/guardian-scanskill |
Vet a 3rd-party skill / MCP server / agent before install |
| (combines 3 of them) | /guardian-audit |
Executive report: security + quality + deps |
You can also trigger everything via natural language (EN, PT or ES). Skills fire on descriptions — "audit the project", "check for vulnerabilities", "before merge", "audita o projeto", "vê se há vulnerabilidades", "antes de fazer merge", "audita el proyecto", "comprueba vulnerabilidades", "antes del merge".
The plugin registers an MCP server on stdio that Claude Code launches automatically. The tools group into:
- Cross-stack security (10) —
security_scan_full,scan_sast,scan_deps,scan_secrets,scan_containers,scan_iac,deps_audit,bug_hunt,suggest_fix,register_custom_rules - WordPress (9) —
scan_wordpress(Semgrep PHP + WP rule pack + Trivy + gitleaks + PHPCS-WPCS),wp_audit(live install: checksums + admins + config flags via WP-CLI),wp_vuln_check(WPScan DB),wp_plugin_check,wp_cron_audit,wp_rest_audit,wp_recommend_hardening,wp_describe_setup,bulk_audit_wordpress_sites - C# / .NET (4 dedicated + branches) —
scan_dotnet_secrets,dotnet_target_framework_check,dotnet_efcore_audit,dotnet_describe_setup;scan_sastrunsp/csharp+ parses security-code-scan output;deps_update_planrunsdotnet list package --outdated;observability_setupemits Serilog + prometheus-net templates - Quality, deps, prioritisation (5) —
quality_check,deps_update_plan,triage_findings,prioritize_findings,risk_score - Compliance & SBOM (5) —
compliance_check(GDPR/RGPD),compliance_evidence,generate_sbom(Syft),sbom_diff,license_compatibility - Observability & perf (3) —
observability_setup(Pino/structlog/Monolog/Serilog + Prometheus),health_status,perf_check(k6 / Lighthouse) - Lifecycle / PR / governance (10) —
init_project,precommit_install,review_pr,set_baseline,diff_scans,regression_alert,report_export(Markdown default / branded HTML with dark/light toggle / SARIF 2.1.0 / JSON),create_github_issues,suppress_finding,audit_executive - AI-agent supply chain (1) —
scan_skill: vet a third-party skill / MCP server / agent before you install it. Accepts a directory, file,.zip, or git/HTTP(S) URL and runs 16 threat categories (prompt injection, data exfiltration, privilege escalation, supply chain, excessive agency, output handling, system-prompt leakage, memory poisoning, tool misuse, rogue agent, trigger abuse, dangerous code, taint, signatures, MCP least-privilege, MCP tool poisoning), a YARA-style signature engine, taint-light source→sink, hidden-Unicode detection, and OSV.dev CVE lookups — rolled up into a 0-100 risk score and a SAFE → DO NOT INSTALL verdict - Meta / host (3) —
detect_stack,check_toolchain,install_toolchain
Resources — guardian://wp/audit/latest, guardian://wp/audit/{scan_id}, guardian://wp/cron, guardian://dotnet/target-frameworks, guardian://dotnet/efcore.
Storage — SQLite at .guardian/guardian.db. Tables: scans, findings, cves, baselines, suppressions, stack_snapshots. Enables baseline tracking, scan-to-scan deltas, time-bounded suppressions, regression alerts.
With the plugin enabled, Claude Code auto-loads hooks/hooks.json — three dependency-free, fail-open guardrails that run in milliseconds (no native modules, never break your workflow):
- SessionStart — briefs the agent with the project's security posture: branch, uncommitted changes, last-scan age, and whether the project is guardian-initialized.
- PostToolUse (Write/Edit/MultiEdit) — scans the text just written for hard-coded secrets (AWS, GitHub, GitLab, Anthropic, OpenAI, Stripe, Google, Slack, private keys, …) and warns with a redacted preview. The authoritative full-history scan stays
scan_secrets(gitleaks) via/guardian-scan. - PreToolUse (Bash) — denies catastrophic commands by default (
rm -rf /,curl … | sh, raw-diskdd/mkfs, fork bombs); warns on merely risky ones (force-push, hard reset,sudo,chmod 777).
Blocking secret writes is opt-in: set "secrets": { "block": true } in .guardian/hooks.config.json. Tune every behaviour there, allowlist false positives in .guardian/hooks-allowlist.json, or kill all hooks with GUARDIAN_HOOKS=off. The same detectors run on the CLI for terminal / CI use: node bin/dev-guardian.mjs check --file <path> and --bash "<command>" (exit 1 on a finding).
Semgrep · Trivy · OSV.dev · gitleaks · Renovate · OWASP ZAP · Playwright · Pino / structlog / Monolog / Serilog · Prometheus + Grafana · GlitchTip · Uptime Kuma · k6 · Artillery · Lighthouse · Syft · WPScan · WP-CLI · PHPCS + WPCS · security-code-scan · dotnet-outdated · ruff · bandit · jscpd · eslint · hadolint · shellcheck.
/plugin marketplace add https://github.com/linofcp007/dev-guardian
/plugin install dev-guardian@dev-guardian
Works with any git URL (HTTPS or SSH) or local folder path containing .claude-plugin/marketplace.json.
⚠️ Claude Desktop app limitation. The Desktop client currently rejects third-party marketplaces withExternal plugin sources are not yet supported(the feature is gated server-side). This is a Claude Desktop limitation, not a problem with this plugin — installing from any GitHub-hosted marketplace fails the same way today. Tracking issues: anthropics/claude-code#41653 (remote sources), anthropics/claude-code#52147 (local paths). Until parity ships, use option B below or install via the Claude Code CLI.
Copy the whole folder to:
- Linux / macOS:
~/.claude/plugins/dev-guardian/ - Windows:
%USERPROFILE%\.claude\plugins\dev-guardian\
Then inside Claude Code, run /plugin and enable dev-guardian. Alternatively, add to your ~/.claude/settings.json:
{
"enabledPlugins": { "dev-guardian@dev-guardian": true }
}The MCP server runs from
mcp/dist/. On first install runcd mcp && npm install && npm run buildonce. The plugin manifest then launches it automatically vianode ${CLAUDE_PLUGIN_ROOT}/mcp/dist/server.js.
.shscripts inscripts/run natively on Linux/macOS. On Windows native you need WSL2 or Git Bash; the skills/commands themselves work on any OS.
The real engine is the MCP server, so any MCP-capable host can use dev-guardian — not just Claude Code. The mcp-config CLI wires a host up from a plain terminal — no MCP connection needed (no chicken-and-egg). It fills in the absolute path to the server for you, and either prints the block to paste or, with --write, merges it into the project and drops the rules file. Idempotent.
From a terminal in your project (after cd mcp && npm install && npm run build once):
node bin/dev-guardian.mjs mcp-config cursor # print the block to paste
node bin/dev-guardian.mjs mcp-config all # every host
node bin/dev-guardian.mjs mcp-config codex --write # write + merge into the project
node bin/dev-guardian.mjs mcp-config all --scope global
| Host | MCP config file (project / global) | Rules file |
|---|---|---|
| Cursor | .cursor/mcp.json / ~/.cursor/mcp.json |
.cursor/rules/dev-guardian.mdc |
| Windsurf | ~/.codeium/windsurf/mcp_config.json (global) |
.windsurfrules |
| GitHub Copilot | .vscode/mcp.json (servers key, type:"stdio") |
.github/copilot-instructions.md |
| Codex CLI | .codex/config.toml / ~/.codex/config.toml |
AGENTS.md |
| Gemini CLI | .gemini/settings.json / ~/.gemini/settings.json |
GEMINI.md |
| Cline | manual — the tool returns a snippet to paste | .clinerules |
| Claude Desktop | claude_desktop_config.json (OS-specific, global) |
— (paste AGENTS.md into a Project's instructions) |
Manual fallback (if you'd rather not let the tool edit configs): paste one of the blocks below, replacing the path with the absolute path to mcp/dist/server.js.
// GitHub Copilot (.vscode/mcp.json — note the "servers" key + type)
{ "servers": { "dev-guardian": {
"type": "stdio", "command": "node", "args": ["/abs/path/to/dev-guardian/mcp/dist/server.js"]
} } }# Codex CLI (~/.codex/config.toml — single-quoted path avoids Windows escaping)
[mcp_servers.dev-guardian]
command = "node"
args = ['/abs/path/to/dev-guardian/mcp/dist/server.js']
enabled = trueClaude Desktop has no rules-file mechanism — paste the contents of
host-rules/AGENTS.md(orGEMINI.md) into a Project's custom instructions. Claude Code / Cowork need none of this: the plugin registers the server automatically.
- Pragmatic by default — doesn't block work over cosmetics
- Paranoid when critical — prod secrets, RCE, SQLi → halt and alert
- Stack-aware — detects your language and only configures what's relevant
- Cross-platform — Linux, macOS, Windows (with WSL)
- Zero lock-in — every tool used is open-source and self-hostable
- Idempotent — running
guardian inittwice doesn't duplicate anything - Graceful degradation — missing scanners are reported, never crash a scan
JavaScript / TypeScript (Node, Next, React, Vue, Svelte, Angular), Python (Django, Flask, FastAPI), PHP (Laravel, Symfony, WordPress + Kadence + WooCommerce + Tutor LMS), C# / .NET (ASP.NET Core, EF Core, central package management), Go, Rust, Ruby, Java / Kotlin, Docker, Terraform, Kubernetes, Ansible, GitHub Actions.
For languages not explicitly supported, the skills fall back to Semgrep --config=auto (covers 30+ languages) and generic secret rules.
dev-guardian/
├── .claude-plugin/
│ ├── plugin.json # declares the MCP server + plugin metadata
│ └── marketplace.json
├── commands/ # 44 slash commands
├── skills/ # 11 skills (one per router target)
├── hooks/ # hooks.json + guardian-hook.mjs (auto-active guardrails)
├── bin/ # dev-guardian.mjs CLI (mcp-config, check)
├── mcp/ # MCP server (TypeScript + SQLite)
│ ├── src/ # tools/, resources/, runners/, storage/, platform/, hooks/
│ ├── test/ # 280 unit + integration tests
│ ├── scripts/ # smoke.mjs, smoke-wp-dotnet.mjs
│ └── dist/ # built artifact (node dist/server.js)
├── scripts/
│ ├── detect/detect-stack.sh # language/framework detection
│ ├── install/ # install-linux.sh, install-macos.sh
│ └── scan/ # full-security-scan, review-scan, etc.
├── configs/
│ ├── renovate/, gitleaks/, semgrep/, pre-commit/
├── host-rules/ # AGENTS.md, cursor.mdc, copilot-instructions.md, …
└── README.md
MIT — use it, modify it, share it freely.
Carlos Pereira · prodigitalkey.com
Plugin all-in-one 100% open-source para Claude Code / Cowork. Faz segurança, deteção e correção de bugs, qualidade de código, gestão de dependências, observability, performance e compliance em qualquer projeto de desenvolvimento. Stack-aware (Node, Python, PHP/WordPress, Go, Rust, Ruby, Java, C# / .NET), triggers trilingues (EN + PT + ES) — responde no idioma do utilizador.
Por baixo do capot fornece um plugin Claude Code (11 skills + 44 slash commands) e um servidor MCP com 50 tools e 16 resources, com estado persistente em SQLite para baselines, deltas e supressões. Também faz vet de skills / MCP servers / agentes de terceiros antes de os instalares — a verificação de supply-chain do ecossistema de agentes.
| Skill | Slash command | O que faz |
|---|---|---|
guardian |
/guardian |
Router principal — encaminha para o módulo certo |
guardian-init |
/guardian-init |
Bootstrap inicial — instala e configura tudo |
guardian-security |
/guardian-scan |
SAST + secrets + CVEs + container + IaC |
guardian-bugfix |
/guardian-fix |
Caça e corrige bugs de implementação |
guardian-quality |
/guardian-quality |
Complexidade, duplicação, tech debt |
guardian-review |
/guardian-review |
Revisão profunda pré-PR / pré-deploy |
guardian-deps |
/guardian-deps |
Renovate setup + scan de CVEs + supply chain |
guardian-observability |
/guardian-observe |
Logging estruturado, métricas, error tracking |
guardian-performance |
/guardian-perf |
Performance budgets, k6, Lighthouse |
guardian-compliance |
/guardian-compliance |
RGPD, licenças, SBOM, privacy policy |
guardian-scanskill |
/guardian-scanskill |
Vet de skill / MCP / agente antes de instalar |
| (combina os 3) | /guardian-audit |
Relatório executivo: security + quality + deps |
Também podes invocar tudo em linguagem natural (PT, EN ou ES). As skills disparam por descrição — "audita o projeto", "vê se há vulnerabilidades", "antes de fazer merge", "audit the project", "check for vulnerabilities", "before merge", "audita el proyecto", "comprueba vulnerabilidades", "antes del merge".
O plugin regista um servidor MCP em stdio que o Claude Code arranca automaticamente. As tools agrupam-se em:
- Segurança transversal (10) —
security_scan_full,scan_sast,scan_deps,scan_secrets,scan_containers,scan_iac,deps_audit,bug_hunt,suggest_fix,register_custom_rules - WordPress (9) —
scan_wordpress(Semgrep PHP + rule pack WP + Trivy + gitleaks + PHPCS-WPCS),wp_audit(instalação viva: checksums + admins + flags de config via WP-CLI),wp_vuln_check(WPScan DB),wp_plugin_check,wp_cron_audit,wp_rest_audit,wp_recommend_hardening,wp_describe_setup,bulk_audit_wordpress_sites - C# / .NET (4 dedicadas + branches) —
scan_dotnet_secrets,dotnet_target_framework_check,dotnet_efcore_audit,dotnet_describe_setup;scan_sastcorrep/csharp+ parse da saída do security-code-scan;deps_update_plancorredotnet list package --outdated;observability_setupgera templates Serilog + prometheus-net - Qualidade, deps, priorização (5) —
quality_check,deps_update_plan,triage_findings,prioritize_findings,risk_score - Compliance & SBOM (5) —
compliance_check(RGPD/GDPR),compliance_evidence,generate_sbom(Syft),sbom_diff,license_compatibility - Observability & perf (3) —
observability_setup(Pino/structlog/Monolog/Serilog + Prometheus),health_status,perf_check(k6 / Lighthouse) - Lifecycle / PR / governance (10) —
init_project,precommit_install,review_pr,set_baseline,diff_scans,regression_alert,report_export(Markdown default / branded HTML with dark/light toggle / SARIF 2.1.0 / JSON),create_github_issues,suppress_finding,audit_executive - AI-agent supply chain (1) —
scan_skill: vet a third-party skill / MCP server / agent before you install it. Accepts a directory, file,.zip, or git/HTTP(S) URL and runs 16 threat categories (prompt injection, data exfiltration, privilege escalation, supply chain, excessive agency, output handling, system-prompt leakage, memory poisoning, tool misuse, rogue agent, trigger abuse, dangerous code, taint, signatures, MCP least-privilege, MCP tool poisoning), a YARA-style signature engine, taint-light source→sink, hidden-Unicode detection, and OSV.dev CVE lookups — rolled up into a 0-100 risk score and a SAFE → DO NOT INSTALL verdict - Meta / host (3) —
detect_stack,check_toolchain,install_toolchain
Resources — guardian://wp/audit/latest, guardian://wp/audit/{scan_id}, guardian://wp/cron, guardian://dotnet/target-frameworks, guardian://dotnet/efcore.
Storage — SQLite em .guardian/guardian.db. Tabelas: scans, findings, cves, baselines, suppressions, stack_snapshots. Permite tracking de baseline, deltas scan-a-scan, supressões com expiração, alertas de regressão.
Com o plugin ativo, o Claude Code carrega automaticamente hooks/hooks.json — três guardrails dependency-free e fail-open, em milissegundos (sem módulos nativos, nunca quebram o teu workflow):
- SessionStart — informa o agente da postura de segurança do projeto: branch, alterações não commitadas, idade do último scan e se o projeto está guardian-initialized.
- PostToolUse (Write/Edit/MultiEdit) — analisa o texto acabado de escrever à procura de secrets hardcoded (AWS, GitHub, GitLab, Anthropic, OpenAI, Stripe, Google, Slack, chaves privadas, …) e avisa com pré-visualização redigida. O scan completo do histórico continua em
scan_secrets(gitleaks) via/guardian-scan. - PreToolUse (Bash) — bloqueia por defeito comandos catastróficos (
rm -rf /,curl … | sh,dd/mkfsem disco cru, fork bombs); avisa nos apenas arriscados (force-push, hard reset,sudo,chmod 777).
O bloqueio da escrita de secrets é opt-in: define "secrets": { "block": true } em .guardian/hooks.config.json. Ajusta tudo aí, faz allowlist de falsos positivos em .guardian/hooks-allowlist.json, ou desliga todos os hooks com GUARDIAN_HOOKS=off. Os mesmos detetores correm no CLI para terminal / CI: node bin/dev-guardian.mjs check --file <path> e --bash "<command>" (exit 1 ao encontrar algo).
Semgrep · Trivy · OSV.dev · gitleaks · Renovate · OWASP ZAP · Playwright · Pino / structlog / Monolog / Serilog · Prometheus + Grafana · GlitchTip · Uptime Kuma · k6 · Artillery · Lighthouse · Syft · WPScan · WP-CLI · PHPCS + WPCS · security-code-scan · dotnet-outdated · ruff · bandit · jscpd · eslint · hadolint · shellcheck.
/plugin marketplace add https://github.com/linofcp007/dev-guardian
/plugin install dev-guardian@dev-guardian
Funciona com qualquer URL git (HTTPS ou SSH) ou caminho local de uma pasta que contenha .claude-plugin/marketplace.json.
⚠️ Limitação da app Claude Desktop. O cliente Desktop rejeita atualmente marketplaces de terceiros comExternal plugin sources are not yet supported(a feature está bloqueada server-side). É uma limitação do Claude Desktop, não um problema deste plugin — qualquer marketplace alojado no GitHub falha hoje da mesma forma. Issues a acompanhar: anthropics/claude-code#41653 (fontes remotas), anthropics/claude-code#52147 (paths locais). Até a paridade chegar, usa a opção B abaixo ou instala via Claude Code CLI.
Copia a pasta inteira para:
- Linux / macOS:
~/.claude/plugins/dev-guardian/ - Windows:
%USERPROFILE%\.claude\plugins\dev-guardian\
Depois, dentro do Claude Code, corre /plugin e ativa o dev-guardian. Em alternativa, adiciona ao teu ~/.claude/settings.json:
{
"enabledPlugins": { "dev-guardian@dev-guardian": true }
}O servidor MCP corre a partir de
mcp/dist/. Na primeira instalação corre uma vezcd mcp && npm install && npm run build. Depois o plugin arranca-o automaticamente vianode ${CLAUDE_PLUGIN_ROOT}/mcp/dist/server.js.Os scripts
.shemscripts/correm direto em Linux/macOS. No Windows nativo precisas de WSL2 ou Git Bash; as skills/commands em si funcionam em qualquer SO.
O motor real é o servidor MCP, por isso qualquer host com suporte MCP pode usar o dev-guardian — não só o Claude Code. A CLI mcp-config liga um host a partir de um terminal normal — sem precisar de ligação MCP (sem ovo-e-galinha). Preenche o caminho absoluto do servidor por ti e ou imprime o bloco para colar ou, com --write, funde-o no projeto e deixa o ficheiro de regras. Idempotente.
A partir de um terminal no teu projeto (depois de cd mcp && npm install && npm run build uma vez):
node bin/dev-guardian.mjs mcp-config cursor # imprime o bloco para colar
node bin/dev-guardian.mjs mcp-config all # todos os hosts
node bin/dev-guardian.mjs mcp-config codex --write # escreve + funde no projeto
node bin/dev-guardian.mjs mcp-config all --scope global
| Host | Ficheiro de config MCP (projeto / global) | Ficheiro de regras |
|---|---|---|
| Cursor | .cursor/mcp.json / ~/.cursor/mcp.json |
.cursor/rules/dev-guardian.mdc |
| Windsurf | ~/.codeium/windsurf/mcp_config.json (global) |
.windsurfrules |
| GitHub Copilot | .vscode/mcp.json (chave servers, type:"stdio") |
.github/copilot-instructions.md |
| Codex CLI | .codex/config.toml / ~/.codex/config.toml |
AGENTS.md |
| Gemini CLI | .gemini/settings.json / ~/.gemini/settings.json |
GEMINI.md |
| Cline | manual — a tool devolve um snippet para colar | .clinerules |
| Claude Desktop | claude_desktop_config.json (específico do SO, global) |
— (cola o AGENTS.md nas instruções de um Project) |
Fallback manual (se preferires não deixar a tool editar configs): cola um dos blocos abaixo, substituindo o caminho pelo caminho absoluto para mcp/dist/server.js.
// Cursor / Windsurf / Gemini / Claude Desktop (mcpServers)
{ "mcpServers": { "dev-guardian": {
"command": "node", "args": ["/caminho/abs/para/dev-guardian/mcp/dist/server.js"], "env": {}
} } }// GitHub Copilot (.vscode/mcp.json — repara na chave "servers" + type)
{ "servers": { "dev-guardian": {
"type": "stdio", "command": "node", "args": ["/caminho/abs/para/dev-guardian/mcp/dist/server.js"]
} } }# Codex CLI (~/.codex/config.toml — path em aspas simples evita escape no Windows)
[mcp_servers.dev-guardian]
command = "node"
args = ['/caminho/abs/para/dev-guardian/mcp/dist/server.js']
enabled = trueO Claude Desktop não tem mecanismo de ficheiro de regras — cola o conteúdo de
host-rules/AGENTS.md(ouGEMINI.md) nas instruções personalizadas de um Project. O Claude Code / Cowork não precisam disto: o plugin regista o servidor automaticamente.
- Pragmático por defeito — não bloqueia trabalho por nada cosmético
- Paranoid quando crítico — secrets em produção, RCE, SQLi → interrompe e alerta
- Stack-aware — detecta a tua linguagem e configura só o relevante
- Cross-platform — Linux, macOS, Windows (com WSL)
- Zero lock-in — todas as ferramentas usadas são open-source e self-hostable
- Idempotente — correr
guardian init2 vezes não duplica nada - Degradação graciosa — scanners em falta são reportados, nunca crasham um scan
JavaScript / TypeScript (Node, Next, React, Vue, Svelte, Angular), Python (Django, Flask, FastAPI), PHP (Laravel, Symfony, WordPress + Kadence + WooCommerce + Tutor LMS), C# / .NET (ASP.NET Core, EF Core, central package management), Go, Rust, Ruby, Java / Kotlin, Docker, Terraform, Kubernetes, Ansible, GitHub Actions.
Para linguagens não suportadas explicitamente, as skills caiem para Semgrep --config=auto (cobre 30+ linguagens) e regras genéricas para secrets.
dev-guardian/
├── .claude-plugin/
│ ├── plugin.json # declara o servidor MCP + metadata
│ └── marketplace.json
├── commands/ # 44 slash commands
├── skills/ # 11 skills (uma por destino do router)
├── hooks/ # hooks.json + guardian-hook.mjs (guardrails auto-ativos)
├── bin/ # CLI dev-guardian.mjs (mcp-config, check)
├── mcp/ # Servidor MCP (TypeScript + SQLite)
│ ├── src/ # tools/, resources/, runners/, storage/, platform/
│ ├── test/ # 280 testes unit + integration
│ ├── scripts/ # smoke.mjs, smoke-wp-dotnet.mjs
│ └── dist/ # artefacto compilado (node dist/server.js)
├── scripts/
│ ├── detect/detect-stack.sh # deteção de linguagens/frameworks
│ ├── install/ # install-linux.sh, install-macos.sh
│ └── scan/ # full-security-scan, review-scan, etc.
├── configs/
│ ├── renovate/, gitleaks/, semgrep/, pre-commit/
├── host-rules/ # AGENTS.md, cursor.mdc, copilot-instructions.md, …
└── README.md
MIT — usa, modifica, partilha à vontade.
Carlos Pereira · prodigitalkey.com
Plugin todo-en-uno 100% open-source para Claude Code / Cowork. Cubre seguridad, detección y corrección de bugs, calidad de código, gestión de dependencias, observabilidad, rendimiento y cumplimiento para cualquier proyecto de desarrollo. Stack-aware (Node, Python, PHP/WordPress, Go, Rust, Ruby, Java, C# / .NET), triggers trilingües (EN + PT + ES) — responde en el idioma del usuario.
Bajo el capó incluye un plugin Claude Code (11 skills + 44 slash commands) y un servidor MCP con 50 herramientas y 16 recursos, con estado persistente en SQLite para baselines, deltas y supresiones. También hace vet de skills / MCP servers / agentes de terceros antes de instalarlos — la verificación de supply-chain del ecosistema de agentes.
| Skill | Slash command | Qué hace |
|---|---|---|
guardian |
/guardian |
Router principal — dirige al módulo adecuado |
guardian-init |
/guardian-init |
Bootstrap inicial — instala y configura todo |
guardian-security |
/guardian-scan |
SAST + secretos + CVEs + contenedor + IaC |
guardian-bugfix |
/guardian-fix |
Caza y corrige bugs de implementación |
guardian-quality |
/guardian-quality |
Complejidad, duplicación, deuda técnica |
guardian-review |
/guardian-review |
Revisión profunda pre-PR / pre-despliegue |
guardian-deps |
/guardian-deps |
Setup de Renovate + escaneo de CVEs + supply chain |
guardian-observability |
/guardian-observe |
Logging estructurado, métricas, error tracking |
guardian-performance |
/guardian-perf |
Performance budgets, k6, Lighthouse |
guardian-compliance |
/guardian-compliance |
RGPD/LOPD, licencias, SBOM, política de privacidad |
guardian-scanskill |
/guardian-scanskill |
Vet de skill / servidor MCP / agente antes de instalar |
| (combina 3 de ellas) | /guardian-audit |
Informe ejecutivo: seguridad + calidad + deps |
También puedes invocarlo todo en lenguaje natural (ES, EN o PT). Las skills se disparan por descripción — "audita el proyecto", "comprueba vulnerabilidades", "antes del merge", "audit the project", "check for vulnerabilities", "before merge", "audita o projeto", "vê se há vulnerabilidades", "antes de fazer merge".
El plugin registra un servidor MCP en stdio que Claude Code arranca automáticamente. Las herramientas se agrupan en:
- Seguridad transversal (10) —
security_scan_full,scan_sast,scan_deps,scan_secrets,scan_containers,scan_iac,deps_audit,bug_hunt,suggest_fix,register_custom_rules - WordPress (9) —
scan_wordpress(Semgrep PHP + rule pack WP + Trivy + gitleaks + PHPCS-WPCS),wp_audit(instalación en vivo: checksums + admins + flags de configuración vía WP-CLI),wp_vuln_check(WPScan DB),wp_plugin_check,wp_cron_audit,wp_rest_audit,wp_recommend_hardening,wp_describe_setup,bulk_audit_wordpress_sites - C# / .NET (4 dedicadas + ramas) —
scan_dotnet_secrets,dotnet_target_framework_check,dotnet_efcore_audit,dotnet_describe_setup;scan_sastcorrep/csharp+ parsea la salida de security-code-scan;deps_update_plancorredotnet list package --outdated;observability_setupgenera plantillas Serilog + prometheus-net - Calidad, deps, priorización (5) —
quality_check,deps_update_plan,triage_findings,prioritize_findings,risk_score - Compliance & SBOM (5) —
compliance_check(RGPD/GDPR),compliance_evidence,generate_sbom(Syft),sbom_diff,license_compatibility - Observabilidad & rendimiento (3) —
observability_setup(Pino/structlog/Monolog/Serilog + Prometheus),health_status,perf_check(k6 / Lighthouse) - Lifecycle / PR / gobierno (10) —
init_project,precommit_install,review_pr,set_baseline,diff_scans,regression_alert,report_export(Markdown default / branded HTML with dark/light toggle / SARIF 2.1.0 / JSON),create_github_issues,suppress_finding,audit_executive - Cadena de suministro de agentes IA (1) —
scan_skill: audita una skill / servidor MCP / agente de terceros antes de instalarlo. Acepta un directorio, archivo,.zipo URL git/HTTP(S) y corre 16 categorías de amenaza (prompt injection, exfiltración de datos, escalada de privilegios, supply chain, agencia excesiva, manejo de salida, fuga del system-prompt, envenenamiento de memoria, mal uso de tools, agente rogue, abuso de triggers, código peligroso, taint, firmas, MCP least-privilege, MCP tool poisoning), un motor de firmas estilo YARA, taint-light source→sink, detección de Unicode oculto y lookups de CVE en OSV.dev — todo agregado en una puntuación de riesgo 0-100 y un veredicto SAFE → DO NOT INSTALL - Meta / host (3) —
detect_stack,check_toolchain,install_toolchain
Recursos — guardian://wp/audit/latest, guardian://wp/audit/{scan_id}, guardian://wp/cron, guardian://dotnet/target-frameworks, guardian://dotnet/efcore.
Almacenamiento — SQLite en .guardian/guardian.db. Tablas: scans, findings, cves, baselines, suppressions, stack_snapshots. Permite tracking de baseline, deltas scan-a-scan, supresiones con caducidad, alertas de regresión.
Con el plugin activo, Claude Code carga automáticamente hooks/hooks.json — tres guardrails sin dependencias y fail-open, en milisegundos (sin módulos nativos, nunca rompen tu flujo):
- SessionStart — informa al agente de la postura de seguridad del proyecto: rama, cambios sin commitear, antigüedad del último escaneo y si el proyecto está guardian-initialized.
- PostToolUse (Write/Edit/MultiEdit) — analiza el texto recién escrito buscando secretos hardcoded (AWS, GitHub, GitLab, Anthropic, OpenAI, Stripe, Google, Slack, claves privadas, …) y avisa con vista previa redactada. El escaneo completo del historial sigue en
scan_secrets(gitleaks) vía/guardian-scan. - PreToolUse (Bash) — bloquea por defecto comandos catastróficos (
rm -rf /,curl … | sh,dd/mkfsen disco crudo, fork bombs); avisa en los meramente arriesgados (force-push, hard reset,sudo,chmod 777).
El bloqueo de la escritura de secretos es opt-in: define "secrets": { "block": true } en .guardian/hooks.config.json. Ajusta todo ahí, allowlist de falsos positivos en .guardian/hooks-allowlist.json, o desactiva todos los hooks con GUARDIAN_HOOKS=off. Los mismos detectores corren en el CLI para terminal / CI: node bin/dev-guardian.mjs check --file <ruta> y --bash "<command>" (exit 1 al encontrar algo).
Semgrep · Trivy · OSV.dev · gitleaks · Renovate · OWASP ZAP · Playwright · Pino / structlog / Monolog / Serilog · Prometheus + Grafana · GlitchTip · Uptime Kuma · k6 · Artillery · Lighthouse · Syft · WPScan · WP-CLI · PHPCS + WPCS · security-code-scan · dotnet-outdated · ruff · bandit · jscpd · eslint · hadolint · shellcheck.
/plugin marketplace add https://github.com/linofcp007/dev-guardian
/plugin install dev-guardian@dev-guardian
Funciona con cualquier URL git (HTTPS o SSH) o ruta local de una carpeta que contenga .claude-plugin/marketplace.json.
⚠️ Limitación de la app Claude Desktop. El cliente Desktop rechaza actualmente marketplaces de terceros conExternal plugin sources are not yet supported(la funcionalidad está bloqueada server-side). Es una limitación de Claude Desktop, no un problema de este plugin — cualquier marketplace alojado en GitHub falla hoy de la misma forma. Issues a seguir: anthropics/claude-code#41653 (fuentes remotas), anthropics/claude-code#52147 (rutas locales). Hasta que llegue la paridad, usa la opción B abajo o instala vía el Claude Code CLI.
Copia la carpeta entera a:
- Linux / macOS:
~/.claude/plugins/dev-guardian/ - Windows:
%USERPROFILE%\.claude\plugins\dev-guardian\
Luego, dentro de Claude Code, ejecuta /plugin y activa dev-guardian. Alternativamente, añade a tu ~/.claude/settings.json:
{
"enabledPlugins": { "dev-guardian@dev-guardian": true }
}El servidor MCP corre desde
mcp/dist/. En la primera instalación ejecuta una vezcd mcp && npm install && npm run build. Después el plugin lo arranca automáticamente víanode ${CLAUDE_PLUGIN_ROOT}/mcp/dist/server.js.Los scripts
.shenscripts/corren directamente en Linux/macOS. En Windows nativo necesitas WSL2 o Git Bash; las skills/commands en sí funcionan en cualquier SO.
El motor real es el servidor MCP, así que cualquier host compatible con MCP puede usar dev-guardian — no solo Claude Code. La CLI mcp-config conecta un host desde una terminal normal — sin necesidad de conexión MCP (sin huevo-y-gallina). Rellena la ruta absoluta del servidor por ti y o imprime el bloque para pegar o, con --write, lo fusiona en el proyecto y coloca el archivo de reglas. Idempotente.
Desde una terminal en tu proyecto (tras cd mcp && npm install && npm run build una vez):
node bin/dev-guardian.mjs mcp-config cursor # imprime el bloque para pegar
node bin/dev-guardian.mjs mcp-config all # todos los hosts
node bin/dev-guardian.mjs mcp-config codex --write # escribe + fusiona en el proyecto
node bin/dev-guardian.mjs mcp-config all --scope global
| Host | Archivo de config MCP (proyecto / global) | Archivo de reglas |
|---|---|---|
| Cursor | .cursor/mcp.json / ~/.cursor/mcp.json |
.cursor/rules/dev-guardian.mdc |
| Windsurf | ~/.codeium/windsurf/mcp_config.json (global) |
.windsurfrules |
| GitHub Copilot | .vscode/mcp.json (clave servers, type:"stdio") |
.github/copilot-instructions.md |
| Codex CLI | .codex/config.toml / ~/.codex/config.toml |
AGENTS.md |
| Gemini CLI | .gemini/settings.json / ~/.gemini/settings.json |
GEMINI.md |
| Cline | manual — la herramienta devuelve un snippet para pegar | .clinerules |
| Claude Desktop | claude_desktop_config.json (específico del SO, global) |
— (pega AGENTS.md en las instrucciones de un Project) |
Fallback manual (si prefieres no dejar que la herramienta edite configs): pega uno de los bloques de abajo, sustituyendo la ruta por la ruta absoluta a mcp/dist/server.js.
// Cursor / Windsurf / Gemini / Claude Desktop (mcpServers)
{ "mcpServers": { "dev-guardian": {
"command": "node", "args": ["/ruta/abs/a/dev-guardian/mcp/dist/server.js"], "env": {}
} } }// GitHub Copilot (.vscode/mcp.json — fíjate en la clave "servers" + type)
{ "servers": { "dev-guardian": {
"type": "stdio", "command": "node", "args": ["/ruta/abs/a/dev-guardian/mcp/dist/server.js"]
} } }# Codex CLI (~/.codex/config.toml — ruta entre comillas simples evita el escape en Windows)
[mcp_servers.dev-guardian]
command = "node"
args = ['/ruta/abs/a/dev-guardian/mcp/dist/server.js']
enabled = trueClaude Desktop no tiene mecanismo de archivo de reglas — pega el contenido de
host-rules/AGENTS.md(oGEMINI.md) en las instrucciones personalizadas de un Project. Claude Code / Cowork no necesitan nada de esto: el plugin registra el servidor automáticamente.
- Pragmático por defecto — no bloquea el trabajo por cuestiones cosméticas
- Paranoico cuando es crítico — secretos en producción, RCE, SQLi → detiene y alerta
- Stack-aware — detecta tu lenguaje y configura solo lo relevante
- Multiplataforma — Linux, macOS, Windows (con WSL)
- Cero lock-in — todas las herramientas usadas son open-source y self-hostable
- Idempotente — ejecutar
guardian initdos veces no duplica nada - Degradación elegante — escáneres ausentes se reportan, nunca tumban un scan
JavaScript / TypeScript (Node, Next, React, Vue, Svelte, Angular), Python (Django, Flask, FastAPI), PHP (Laravel, Symfony, WordPress + Kadence + WooCommerce + Tutor LMS), C# / .NET (ASP.NET Core, EF Core, central package management), Go, Rust, Ruby, Java / Kotlin, Docker, Terraform, Kubernetes, Ansible, GitHub Actions.
Para lenguajes no soportados explícitamente, las skills recurren a Semgrep --config=auto (cubre más de 30 lenguajes) y reglas genéricas para secretos.
dev-guardian/
├── .claude-plugin/
│ ├── plugin.json # declara el servidor MCP + metadatos
│ └── marketplace.json
├── commands/ # 44 slash commands
├── skills/ # 11 skills (una por destino del router)
├── hooks/ # hooks.json + guardian-hook.mjs (guardrails auto-activos)
├── bin/ # CLI dev-guardian.mjs (mcp-config, check)
├── mcp/ # Servidor MCP (TypeScript + SQLite)
│ ├── src/ # tools/, resources/, runners/, storage/, platform/
│ ├── test/ # 280 tests unit + integration
│ ├── scripts/ # smoke.mjs, smoke-wp-dotnet.mjs
│ └── dist/ # artefacto compilado (node dist/server.js)
├── scripts/
│ ├── detect/detect-stack.sh # detección de lenguajes/frameworks
│ ├── install/ # install-linux.sh, install-macos.sh
│ └── scan/ # full-security-scan, review-scan, etc.
├── configs/
│ ├── renovate/, gitleaks/, semgrep/, pre-commit/
├── host-rules/ # AGENTS.md, cursor.mdc, copilot-instructions.md, …
└── README.md
MIT — úsalo, modifícalo, compártelo libremente.
Carlos Pereira · prodigitalkey.com