Instalación

pip install licit-ai-cli

O desde el código fuente:

git clone https://github.com/Diego303/licit-cli.git
cd licit-cli
pip install -e ".[dev]"

Invocación

# Como comando instalado
licit [opciones] <comando> [argumentos]

# Como módulo Python
python -m licit [opciones] <comando> [argumentos]

Opciones globales

OpciónDescripción
--versionMuestra la versión de licit
--config PATHRuta a un archivo .licit.yaml específico
-v, --verboseActiva logging detallado (nivel DEBUG)
--helpMuestra la ayuda
licit --version
# licit, version 0.2.0

licit --verbose status
# Muestra logs de debug durante la ejecución

Comandos

licit init

Inicializa licit en el proyecto actual. Detecta automáticamente las características del proyecto y genera la configuración.

licit init [--framework {eu-ai-act|owasp|all}]

Opciones:

OpciónDefaultDescripción
--frameworkallMarco regulatorio a habilitar

Qué hace:

  1. Ejecuta ProjectDetector para detectar lenguajes, frameworks, CI/CD, agentes IA, etc.
  2. Genera .licit.yaml con configuración adaptada al proyecto.
  3. Crea el directorio .licit/ para datos internos.
  4. Si detecta architect o vigil, habilita sus conectores automáticamente.

Ejemplo:

$ cd mi-proyecto-fastapi/
$ licit init

Initialized licit in mi-proyecto-fastapi
  Languages: python
  Frameworks: fastapi
  Agent configs: CLAUDE.md
  CI/CD: github-actions
  Config saved to .licit.yaml

Ejemplo con framework específico:

$ licit init --framework eu-ai-act
# Solo habilita EU AI Act, desactiva OWASP

licit status

Muestra el estado actual de licit y las fuentes de datos conectadas.

licit status

Qué muestra:

Ejemplo:

$ licit status

Project: mi-proyecto-fastapi
  Root: /home/user/mi-proyecto-fastapi
  Languages: python
  Frameworks: fastapi
  Git: 142 commits, 3 contributors

Config: .licit.yaml (loaded)

Frameworks:
  EU AI Act: enabled
  OWASP Agentic: enabled

Data sources:
  Provenance: not collected
  FRIA: not found
  Annex IV: not found
  Changelog: not found

Connectors:
  architect: disabled
  vigil: disabled

Agent configs:
  CLAUDE.md (claude-code)
  .cursorrules (cursor)

licit connect

Configura conectores opcionales para integrar fuentes de datos externas.

licit connect {architect|vigil} [--enable|--disable]

Argumentos:

ArgumentoDescripción
architectConector para Architect (reports y audit logs)
vigilConector para Vigil (hallazgos SARIF de seguridad)

Opciones:

OpciónDefaultDescripción
--enable(por defecto)Habilita el conector
--disableDeshabilita el conector

Ejemplo:

$ licit connect architect
# Habilita el conector de architect

$ licit connect vigil --enable
# Habilita el conector de vigil

$ licit connect architect --disable
# Deshabilita el conector de architect

licit trace

Rastrea la proveniencia del código — identifica qué fue escrito por IA y qué por humanos.

Estado: Funcional (Fase 2 completada).

licit trace [--since DATE|TAG] [--report] [--stats]

Opciones:

OpciónDescripción
--sinceAnaliza commits desde una fecha (YYYY-MM-DD) o tag de git
--reportGenera archivo de reporte de proveniencia en .licit/reports/provenance.md
--statsMuestra estadísticas en terminal

Qué hace:

  1. Ejecuta GitAnalyzer para analizar commits con 6 heurísticas (autor, mensaje, volumen, co-autores, patrones de archivos, hora).
  2. Opcionalmente lee logs de sesión de agentes (Claude Code).
  3. Clasifica cada archivo como ai (score >= 0.7), mixed (>= 0.5) o human (< 0.5).
  4. Almacena resultados en .licit/provenance.jsonl (append-only).
  5. Si sign: true, firma cada registro con HMAC-SHA256.

Ejemplo:

$ licit trace --since 2026-01-01 --stats

  Analyzing git history...
  Records: 45 files analyzed
  AI-generated: 18 (40.0%)
  Human-written: 22 (48.9%)
  Mixed: 5 (11.1%)

  AI tools detected: claude-code (15), cursor (3)
  Models detected: claude-sonnet-4 (12), claude-opus-4 (3), gpt-4o (3)

  Stored in .licit/provenance.jsonl

Ejemplo con reporte:

$ licit trace --report
# Genera .licit/reports/provenance.md con tabla detallada por archivo

Heurísticas utilizadas:

#HeurísticaPesoQué detecta
H1Author pattern3.0Nombres de autor AI (claude, copilot, cursor, bot, etc.)
H2Message pattern1.5Patrones de commit (conventional commits, “implement”, [ai])
H3Bulk changes2.0Cambios masivos (>20 archivos + >500 líneas)
H4Co-author3.0Co-authored-by: con keywords AI
H5File patterns1.0Todos los archivos son test files
H6Time pattern0.5Commits entre 1am-5am

Solo las heurísticas que producen señal (score > 0) contribuyen al promedio ponderado.


licit changelog

Genera un changelog de cambios en configuraciones de agentes IA.

Estado: Registrado en CLI. Funcional a partir de Fase 3.

licit changelog [--since DATE|TAG] [--format {markdown|json}]

Opciones:

OpciónDefaultDescripción
--since(todos)Cambios desde fecha o tag
--formatmarkdownFormato de salida

Archivos monitoreados:


licit fria

Completa la Evaluación de Impacto en Derechos Fundamentales (EU AI Act Artículo 27).

Estado: Registrado en CLI. Funcional a partir de Fase 4.

licit fria [--update]

Opciones:

OpciónDescripción
--updateActualiza un FRIA existente en lugar de crear uno nuevo

Archivos generados:


licit annex-iv

Genera la Documentación Técnica del Anexo IV (EU AI Act).

Estado: Registrado en CLI. Funcional a partir de Fase 4.

licit annex-iv [--organization NOMBRE] [--product NOMBRE]

Opciones:

OpciónDescripción
--organizationNombre de la organización
--productNombre del producto

Archivo generado:


licit report

Genera un reporte de compliance unificado.

Estado: Registrado en CLI. Funcional a partir de Fase 6.

licit report [--framework {eu-ai-act|owasp|all}] [--format {markdown|json|html}] [--output PATH]

Opciones:

OpciónDefaultDescripción
--frameworkallMarco a evaluar
--formatmarkdownFormato de salida
-o, --output.licit/reports/compliance-report.{ext}Ruta del archivo de salida

licit gaps

Identifica brechas de compliance con recomendaciones accionables.

Estado: Registrado en CLI. Funcional a partir de Fase 6.

licit gaps [--framework {eu-ai-act|owasp|all}]

Opciones:

OpciónDefaultDescripción
--frameworkallMarco a analizar

Ejemplo futuro:

$ licit gaps --framework eu-ai-act

EU AI Act Compliance Gaps:

[HIGH] ART-9-1: Risk Management System
  Gap: No FRIA document found
  Action: Run 'licit fria' to complete the assessment
  Effort: medium

[MEDIUM] ART-13-1: Transparency
  Gap: No provenance tracking configured
  Action: Run 'licit trace' to analyze code provenance
  Effort: low

licit verify

Verifica compliance y devuelve código de salida para CI/CD.

Estado: Registrado en CLI. Funcional a partir de Fase 6.

licit verify [--framework {eu-ai-act|owasp|all}]

Códigos de salida:

CódigoSignificado
0COMPLIANT — Todos los requisitos críticos cumplidos
1NON_COMPLIANT — Algún requisito crítico no cumplido
2PARTIAL — Algún requisito parcialmente cumplido

Uso en CI/CD (GitHub Actions):

- name: Compliance check
  run: licit verify
  # El pipeline falla si exit code != 0

Tabla resumen de comandos

ComandoFaseEstadoDescripción corta
init1FuncionalInicializa licit en el proyecto
status1FuncionalMuestra estado y fuentes conectadas
connect1FuncionalConfigura conectores
trace2FuncionalTrazabilidad de proveniencia
changelog3SkeletonChangelog de configs de agentes
fria4SkeletonFRIA (EU AI Act Art. 27)
annex-iv4SkeletonDocumentación técnica Anexo IV
report6SkeletonReporte unificado de compliance
gaps6SkeletonBrechas de compliance
verify6SkeletonGate de CI/CD