Inicio rápido para un desarrollador
Solo necesitas Docker. No se instala nada, tu código no se ejecuta y nada sale de tu máquina. Las bases de avisos de
los motores quedan en el volumen pitangus-cache: solo el primer análisis las descarga.
Analiza tu proyecto (desde su carpeta):
docker run --rm -v "$PWD":/src:ro -v pitangus-cache:/data ghcr.io/pitangus-dev/pitangus-worker:0.15 python -m pitangus --data-dir /data scan /srcSolo lo que añade tu cambio: agrega --base origin/main. Lo que ya estaba no se te cobra.
Arréglalo con tu propia IA: agrega --format prompt y pega cada prompt en Claude, Cursor o Copilot. Lleva la regla,
el lugar, el código encontrado y la corrección, nunca el valor de un secreto.
Antes de cada push, con pre-commit (pre-commit install --hook-type pre-push). Analiza
lo que vas a subir, los commits tal como los guarda git, frente a lo que el remoto ya tiene: un archivo sin seguimiento
o un cambio sin commit nunca lo bloquea.
repos: - repo: https://github.com/Pitangus-Dev/pitangus rev: v0.15.1 # la primera versión con el hook hooks: - id: pitangusEl hook analiza lo que vas a subir, no tu árbol de trabajo: los cambios ya commiteados frente a origin/main
(PITANGUS_BASE fija otra base), así que un archivo que no has commiteado, con seguimiento o sin él, no puede
bloquear el push. Una base que no existe detiene el hook con un mensaje que lo dice.
Ejecuta la imagen publicada del worker por su digest, nunca por una etiqueta que pueda moverse; si tienes
cosign instalado, antes comprueba que la firmó el flujo
de publicación de Pitangus, igual que la GitHub Action, y si no, no la ejecuta.
En cada pull request (GitHub), en .github/workflows/pitangus.yml:
on: pull_requestpermissions: { contents: read, security-events: write }jobs: scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: { fetch-depth: 0, persist-credentials: false } - uses: Pitangus-Dev/pitangus@v0.15.1 # fíjala al SHA del commit de la etiquetaCódigos de salida: 0 pasa · 1 hallazgos en o por encima de --fail-on (alta por defecto) · 3 un motor no pudo
ejecutarse, que nunca se toma por limpio. Opciones, otros CI y un servidor para el equipo:
Analizar desde la terminal y en CI · Inicio rápido con el panel.