Guía para agentes IA

Instrucciones para que Claude Code, Codex, Cursor o cualquier agente use SoluCortex de forma autónoma.

Configuración inicial

El agente lee las credenciales desde ai/.env.ai (nunca hardcodeadas):

bash
SOLUCORTEX_URL=https://solucortex.soluai.cl
SOLUCORTEX_PROJECT_ID=<uuid-del-proyecto>
SOLUCORTEX_API_KEY=scx_<api-key>
🔒 ai/.env.ai debe estar en .gitignore. El agente nunca debe hardcodear ni commitear estas variables.

Flujo de inicio de sesión

Al comenzar cada sesión de trabajo, el agente siempre carga el contexto relevante para la tarea:

bash
source ai/.env.ai

CONTEXT=$(curl -s -X POST "$SOLUCORTEX_URL/api/v1/context/build" \
  -H "Authorization: Bearer $SOLUCORTEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"project_id\": \"$SOLUCORTEX_PROJECT_ID\",
    \"query\": \"$DESCRIPCION_DE_LA_TAREA\"
  }" | python3 -c "import sys,json; print(json.load(sys.stdin).get('context_text',''))")

echo "$CONTEXT"

Cuándo registrar memorias

El agente registra memorias de forma autónoma — sin esperar instrucción del usuario — cuando:

  • Toma una decisión técnica que no estaba documentada.
  • Detecta un riesgo o deuda técnica nueva.
  • Cierra una tarea importante.
  • Descubre un comportamiento no obvio del sistema (bug, workaround, restricción).
bash
source ai/.env.ai

curl -s -X POST "$SOLUCORTEX_URL/api/v1/memories" \
  -H "Authorization: Bearer $SOLUCORTEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"project_id\": \"$SOLUCORTEX_PROJECT_ID\",
    \"type\": \"decision\",
    \"title\": \"Título corto de la decisión\",
    \"content\": \"Descripción completa del porqué de esta decisión, alternativas descartadas y contexto.\",
    \"importance\": 8
  }"

Tipos de memoria

Valores válidos para el campo type:

ValorDescripción
architectureStack tecnológico, estructura del proyecto
decisionDecisiones técnicas importantes ya tomadas
riskRiesgo identificado, resuelto o pendiente
conventionRegla, estándar o convención del equipo
bug_historyBug resuelto con aprendizaje para el futuro
tech_debtDeuda técnica, código legacy o mejora pendiente
sensitive_moduleMódulo delicado que no debe modificarse a la ligera
learningAprendizaje general del proyecto
external_integrationIntegración con servicio externo, API o dependencia

Campo importance

Entero entre 1 y 10. Controla la prioridad en los resultados de context/build.

RangoUso recomendado
9–10Crítico — constraints del sistema, decisiones inamovibles
7–8Importante — decisiones técnicas relevantes, estado de componentes clave
5–6Normal — convenciones, estado general
1–4Bajo — contexto de fondo, notas históricas

Reglas críticas

Nunca ejecutar sin confirmación explícita del usuario:
Comandos destructivos sobre la base de datos: reseteos, drops, truncates o deletes sin condición.
🔒
Nunca:
• Hardcodear API keys, tokens o URLs en código o archivos de configuración.
• Commitear archivos con secretos o credenciales.

Límites de frecuencia

Los límites se aplican por API key. Si el agente recibe un 429, debe esperar y reintentar con backoff exponencial.

EndpointsLímite
Memorias, snapshots, búsqueda, contexto120 req/min
context/build y search/semantic20 req/min

Referencia rápida de endpoints

AcciónEndpoint
Cargar contextoPOST /api/v1/context/build
Registrar memoriaPOST /api/v1/memories
Buscar memoriasPOST /api/v1/search/semantic
Listar memoriasGET /api/v1/memories?project_id=...&per_page=50&page=1
Actualizar memoriaPATCH /api/v1/memories/{id}
Crear snapshotPOST /api/v1/snapshots