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ón | Descripción |
|---|---|
--version | Muestra la versión de licit |
--config PATH | Ruta a un archivo .licit.yaml específico |
-v, --verbose | Activa logging detallado (nivel DEBUG) |
--help | Muestra 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ón | Default | Descripción |
|---|---|---|
--framework | all | Marco regulatorio a habilitar |
Qué hace:
- Ejecuta
ProjectDetectorpara detectar lenguajes, frameworks, CI/CD, agentes IA, etc. - Genera
.licit.yamlcon configuración adaptada al proyecto. - Crea el directorio
.licit/para datos internos. - 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:
- Información del proyecto (nombre, lenguajes, frameworks)
- Estado de la configuración
- Frameworks habilitados (EU AI Act, OWASP)
- Fuentes de datos detectadas (provenance, FRIA, changelog, etc.)
- Conectores configurados (architect, vigil)
- Configuraciones de agentes IA encontradas
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:
| Argumento | Descripción |
|---|---|
architect | Conector para Architect (reports y audit logs) |
vigil | Conector para Vigil (hallazgos SARIF de seguridad) |
Opciones:
| Opción | Default | Descripción |
|---|---|---|
--enable | (por defecto) | Habilita el conector |
--disable | Deshabilita 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ón | Descripción |
|---|---|
--since | Analiza commits desde una fecha (YYYY-MM-DD) o tag de git |
--report | Genera archivo de reporte de proveniencia en .licit/reports/provenance.md |
--stats | Muestra estadísticas en terminal |
Qué hace:
- Ejecuta
GitAnalyzerpara analizar commits con 6 heurísticas (autor, mensaje, volumen, co-autores, patrones de archivos, hora). - Opcionalmente lee logs de sesión de agentes (Claude Code).
- Clasifica cada archivo como
ai(score >= 0.7),mixed(>= 0.5) ohuman(< 0.5). - Almacena resultados en
.licit/provenance.jsonl(append-only). - 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ística | Peso | Qué detecta |
|---|---|---|---|
| H1 | Author pattern | 3.0 | Nombres de autor AI (claude, copilot, cursor, bot, etc.) |
| H2 | Message pattern | 1.5 | Patrones de commit (conventional commits, “implement”, [ai]) |
| H3 | Bulk changes | 2.0 | Cambios masivos (>20 archivos + >500 líneas) |
| H4 | Co-author | 3.0 | Co-authored-by: con keywords AI |
| H5 | File patterns | 1.0 | Todos los archivos son test files |
| H6 | Time pattern | 0.5 | Commits 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ón | Default | Descripción |
|---|---|---|
--since | (todos) | Cambios desde fecha o tag |
--format | markdown | Formato de salida |
Archivos monitoreados:
CLAUDE.md.cursorrules,.cursor/rulesAGENTS.md.github/copilot-instructions.md.github/agents/*.md.architect/config.yaml,architect.yaml
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ón | Descripción |
|---|---|
--update | Actualiza un FRIA existente en lugar de crear uno nuevo |
Archivos generados:
.licit/fria-data.json— Datos raw de la evaluación.licit/fria-report.md— Reporte legible del FRIA
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ón | Descripción |
|---|---|
--organization | Nombre de la organización |
--product | Nombre del producto |
Archivo generado:
.licit/annex-iv.md
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ón | Default | Descripción |
|---|---|---|
--framework | all | Marco a evaluar |
--format | markdown | Formato 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ón | Default | Descripción |
|---|---|---|
--framework | all | Marco 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ódigo | Significado |
|---|---|
0 | COMPLIANT — Todos los requisitos críticos cumplidos |
1 | NON_COMPLIANT — Algún requisito crítico no cumplido |
2 | PARTIAL — 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
| Comando | Fase | Estado | Descripción corta |
|---|---|---|---|
init | 1 | Funcional | Inicializa licit en el proyecto |
status | 1 | Funcional | Muestra estado y fuentes conectadas |
connect | 1 | Funcional | Configura conectores |
trace | 2 | Funcional | Trazabilidad de proveniencia |
changelog | 3 | Skeleton | Changelog de configs de agentes |
fria | 4 | Skeleton | FRIA (EU AI Act Art. 27) |
annex-iv | 4 | Skeleton | Documentación técnica Anexo IV |
report | 6 | Skeleton | Reporte unificado de compliance |
gaps | 6 | Skeleton | Brechas de compliance |
verify | 6 | Skeleton | Gate de CI/CD |