ESPACIO PUBLICITARIO DISPONIBLE · HABLEMOS

Cómo los desarrolladores de software configuran el contexto de repositorio y los archivos de exclusión en Supermaven para gestionar la indexación y privacidad del código

365Finds Editorial
11.430 artículos Wiki recopilados

Usa 365 Wiki con tu IA

Copia el prompt de abajo, pégalo en la IA que ya usas y haz tu pregunta.

Descargar el Skill completo

Pruébalo primero con el prompt. Si usas 365 Wiki a menudo, instala el Skill completo de 365Wiki y no tendrás que volver a pegarlo. Si no tienes una IA habitual, también sirven las versiones web de Gemini o Microsoft Copilot.

La ingeniería de software moderna asistida por inteligencia artificial depende en gran medida de una profunda conciencia contextual. Mientras que los primeros motores de completado de código operaban únicamente con heurísticas de tokens locales o fragmentos cortos de prefijo y sufijo, las herramientas de última generación aprovechan amplias ventanas de contexto para analizar patrones arquitectónicos, bibliotecas personalizadas, dependencias de proyectos y relaciones entre múltiples archivos en repositorios completos. Supermaven se consolidó como un referente en la industria dentro de este ámbito al combinar una enorme ventana de contexto de 1 millón de tokens con una latencia de completado inferior a 200 milisegundos, impulsada por su arquitectura neuronal personalizada. Sin embargo, otorgar a un agente de IA visibilidad integral sobre una base de código introduce desafíos críticos de seguridad y cumplimiento: la propiedad intelectual confidencial, los secretos de configuración de producción, las claves criptográficas privadas y los datos sensibles de los clientes no deben ser ingeridos, transmitidos ni almacenados en caché de forma inadvertida.

Configurar Supermaven para equilibrar una rica inteligencia sobre la base de código con una rigurosa privacidad de datos requiere comprender sus mecanismos de indexación de contexto, sus políticas de gobernanza de datos y las opciones de configuración disponibles en diferentes entornos de desarrollo integrado (IDE). Dado que Supermaven no implementa un archivo de exclusión universal a nivel de raíz como los sistemas de control de versiones estándar, los desarrolladores deben emplear una estrategia de configuración en capas —que combine reglas de exclusión a nivel de editor, inicialización condicional de plugins, delimitación de espacios de trabajo e higiene moderna de repositorios— para controlar exactamente qué código se indexa y se transmite.


La mecánica arquitectónica del contexto de repositorio en Supermaven

Para gestionar el contexto del repositorio de manera eficaz, los equipos de ingeniería primero deben comprender cómo Supermaven construye su modelo conceptual de un proyecto y dónde se sitúan los límites de datos entre el hardware local y los puntos de conexión de inferencia en la nube.

┌──────────────────────────────────────────────────────────────────────────┐
│              Arquitectura de Contexto y Privacidad de Supermaven         │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Entorno local del desarrollador                                         │
│  ┌────────────────────────────────────────────────────────────────────┐  │
│  │ Espacio de trabajo activo / Repositorio                            │  │
│  │  ├── Archivos fuente (*.ts, *.py, *.go) ──> [Monitor de archivos]  │  │
│  │  ├── Archivos sensibles (.env, *.key)   ──> [Filtros de exclusión] │  │
│  │  └── Búferes abiertos del editor        ──> [Sinc. de búferes]     │  │
│  └───────────────────────────────────┬────────────────────────────────┘  │
│                                      │ Carga útil de contexto filtrada   │
│                                      ▼ (HTTPS / TLS 1.3)                 │
│  Infraestructura en la nube de Supermaven (AWS)                          │
│  ┌────────────────────────────────────────────────────────────────────┐  │
│  │ Agregador de contexto de 1 millón de tokens                        │  │
│  │  ├── Modelado de secuencias de largo alcance (Motor Babble)        │  │
│  │  ├── Alineación semántica rápida entre múltiples archivos          │  │
│  │  └── Generación de completado del siguiente token en < 200 ms      │  │
│  └───────────────────────────────────┬────────────────────────────────┘  │
│                                      │                                   │
│  Salvaguardas de privacidad y retención                                  │
│  ┌───────────────────────────────────┴────────────────────────────────┐  │
│  │ • Retención absoluta de datos de 7 días (purga efímera automática) │  │
│  │ • Garantía estricta de cero entrenamiento (nunca usado para pesos) │  │
│  │ • Aislamiento de proveedores externos (solo motor integrado)       │  │
│  └────────────────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────────────────┘

Agregación de contexto y la ventana de 1 millón de tokens

A diferencia de las integraciones tradicionales del Protocolo de Servidor de Lenguajes (LSP) que calculan árboles de sintaxis abstracta (AST) en la CPU local del desarrollador, Supermaven utiliza una canalización de indexación nativa de la nube:

  1. Ingesta local de archivos: Al abrir una carpeta de proyecto, la extensión de Supermaven registra monitores del sistema de archivos para descubrir los recursos del proyecto, evaluar la estructura del repositorio y rastrear los búferes abiertos.
  2. Ensamblado continuo de contexto (streaming): A medida que los desarrolladores navegan y modifican archivos, el cliente sincroniza la posición del cursor, el historial reciente de ediciones y los módulos relacionados del proyecto en una carga útil de contexto agregada.
  3. Inferencia de contexto largo basada en la nube: El contexto agregado se transmite a los servidores de inferencia de alto rendimiento de Supermaven alojados en Amazon Web Services (AWS). Allí, el modelo procesa hasta 1.000.000 de tokens de contexto de la base de código para ofrecer sugerencias de completado en línea que reflejan con precisión las interfaces entre módulos, las definiciones de tipos personalizadas y los patrones idiomáticos del framework.
  4. Entrega en menos de 200 ms: Al evitar la evaluación neuronal en el dispositivo, Supermaven minimiza el consumo de batería y el ruido de los ventiladores en los portátiles de los desarrolladores, logrando al mismo tiempo velocidades de completado casi instantáneas.

El desafío operativo radica en que el monitor de archivos del cliente y el sincronizador de búferes escanearán, de manera predeterminada, todos los archivos accesibles dentro de la raíz del espacio de trabajo a menos que los desarrolladores configuren límites de forma deliberada.


Marco de privacidad de Supermaven: comprensión de la directiva de código

Antes de modificar los archivos de configuración del IDE, los desarrolladores y los responsables de seguridad deben conocer las protecciones legales y técnicas establecidas por la Supermaven Code Policy y la Privacy Policy.

┌──────────────────────────────────────────────────────────────────────────────────┐
│                Clasificación y tratamiento de datos de Supermaven                │
├────────────────────────────┬─────────────────────────────────────────────────────┤
│ Categoría de datos         │ Tratamiento técnico y política de retención         │
├────────────────────────────┼─────────────────────────────────────────────────────┤
│ Datos de código            │ • Código fuente subido mediante plugins oficiales.  │
│ (Code Data)                │ • Sujetos a un límite estricto de retención de 7    │
│                            │   días.                                             │
│                            │ • Purgados automáticamente de los sistemas internos │
│                            │   en AWS.                                           │
│                            │ • NUNCA usados para entrenar o ajustar modelos      │
│                            │   comerciales.                                      │
│                            │ • Nunca compartidos con terceros no autorizados.    │
├────────────────────────────┼─────────────────────────────────────────────────────┤
│ Datos de Supermaven Chat   │ • Indicaciones (prompts) y código enviados          │
│                            │   explícitamente al chat.                           │
│                            │ • Transmitidos a proveedores externos seleccionados │
│                            │   (p. ej., Anthropic, OpenAI) según el modelo.      │
│                            │ • Regulados por los términos del proveedor externo. │
├────────────────────────────┼─────────────────────────────────────────────────────┤
│ Datos de cuenta y          │ • Correos de usuarios, direcciones IP, ID de pago.  │
│ telemetría                 │ • Gestionados bajo las pautas de la Política de     │
│                            │   Privacidad estándar.                              │
│                            │ • Almacenados de forma independiente a los          │
│                            │   repositorios de código.                           │
└────────────────────────────┴─────────────────────────────────────────────────────┘

La regla de retención efímera de 7 días

Supermaven diferencia explícitamente entre los metadatos de las cuentas de usuario y el código fuente propietario:

Completado en línea frente a chat interactivo

Existe una distinción fundamental entre el completado de código en línea y Supermaven Chat:


Configuración de archivos ignore y alcance de repositorio en Neovim

Los desarrolladores de Neovim adoptan con frecuencia Supermaven a través del plugin oficial supermaven-nvim debido a su mínimo consumo de recursos y rápidos tiempos de respuesta. Sin embargo, configurar la exclusión de archivos en Neovim requiere prestar atención al esquema de configuración del plugin.

Ciclo de vida del búfer en Neovim con Supermaven:

  [Archivo abierto en el búfer]
           │
           ▼
  [Comprobar `condition()`] ──── Devuelve false ───> [Supermaven detenido / Sin tráfico de red]
           │
       Devuelve true
           │
           ▼
  [Comprobar `ignore_filetypes`] ── Coincide con ignore ──> [Sugerencias ocultas / UI suprimida]
           │                                                       │
       No ignorado                                                 ▼
           │                                            *Nota: el búfer aún puede sincronizarse*
           ▼
  [Completados en línea activos]

1. Supresión básica de tipos de archivo con ignore_filetypes

La opción de configuración más sencilla en supermaven-nvim es la tabla ignore_filetypes. Este ajuste indica al plugin que no muestre sugerencias de completado al editar formatos de archivo específicos:

-- ~/.config/nvim/lua/plugins/supermaven.lua (o init.lua)
require("supermaven-nvim").setup({
  keymaps = {
    accept_suggestion = "<Tab>",
    clear_suggestion = "<C-]>",
    accept_word = "<C-j>",
  },
  ignore_filetypes = {
    env = true,          -- Suprime sugerencias en archivos .env
    markdown = true,     -- Suprime en documentación/notas
    text = true,         -- Archivos de texto plano
    yaml = true,         -- Previene autocompletado en configs de Kubernetes/CI
    json = true,         -- Esquemas de configuración y manifiestos de paquetes
    sql = true,          -- Consultas de bases de datos y migraciones
    gitcommit = true,    -- Mensajes de commit de Git
  },
  color = {
    suggestion_color = "#888888",
    cterm = 244,
  },
  disable_inline_completion = false,
  disable_keymaps = false,
})

2. La advertencia de transmisión del búfer y las salvaguardas avanzadas con condition()

Un matiz técnico fundamental identificado por desarrolladores conscientes de la seguridad es que ignore_filetypes suprime principalmente la representación visual (renderizado) de las sugerencias en línea en la interfaz del editor. En ciertas versiones del cliente del servidor de lenguaje, los búferes de archivos cargados en memoria aún pueden ser capturados por el demonio en segundo plano.

Para garantizar que los archivos confidenciales y los directorios sensibles queden completamente aislados del proceso de Supermaven, los desarrolladores deben utilizar la función de devolución de llamada condition(). La función condition() se evalúa dinámicamente antes de que Supermaven interactúe con un búfer:

require("supermaven-nvim").setup({
  -- Guardián dinámico: devuelve false para detener completamente Supermaven en el búfer
  condition = function()
    local filepath = vim.api.nvim_buf_get_name(0)
    
    -- Excluir archivos sin ruta (búferes temporales scratch)
    if filepath == "" then
      return true
    end

    -- 1. Excluir archivos de entorno sensibles y secretos
    if string.match(filepath, "%.env") 
       or string.match(filepath, "credentials")
       or string.match(filepath, "secrets/")
       or string.match(filepath, "/%.aws/")
       or string.match(filepath, "/%.ssh/") then
      return false
    end

    -- 2. Excluir certificados y claves criptográficas
    if string.match(filepath, "%.pem$")
       or string.match(filepath, "%.key$")
       or string.match(filepath, "%.crt$") then
      return false
    end

    -- 3. Excluir proyectos propietarios específicos o directorios restringidos por cumplimiento
    if string.match(filepath, "/work/proprietary%-fintech/")
       or string.match(filepath, "/client%-classified/") then
      return false
    end

    -- 4. Excluir cargas de datos excesivas o recursos compilados
    local file_size = vim.fn.getfsize(filepath)
    if file_size > 1048576 then -- Límite de 1 MB
      return false
    end

    return true
  end,
})

3. Control programático mediante Autocommands

Para lograr una seguridad absoluta (aislamiento air-gapped) al abrir claves privadas o repositorios con restricciones de cumplimiento, los desarrolladores pueden invocar la API programática de Supermaven directamente en los autocommands de Neovim:

-- Forzar detención de Supermaven ante eventos de búfer sensibles
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
  pattern = { "*.env", "*.env.*", "*/secrets/*", "*.pem", "*.key" },
  callback = function()
    pcall(function()
      require("supermaven-nvim.api").stop()
    end)
  end,
})

-- Volver a habilitar Supermaven al acceder a archivos fuente aprobados
vim.api.nvim_create_autocmd({ "BufEnter" }, {
  pattern = { "*.ts", "*.tsx", "*.js", "*.py", "*.go", "*.rs", "*.cpp" },
  callback = function()
    local filepath = vim.api.nvim_buf_get_name(0)
    if not string.match(filepath, "%.env") and not string.match(filepath, "secrets/") then
      pcall(function()
        require("supermaven-nvim.api").start()
      end)
    end
  end,
})

Configuración de los límites de indexación en Visual Studio Code

En Visual Studio Code, Supermaven opera como una extensión que se comunica a través del protocolo de servidor de lenguaje. Dado que Supermaven no lee un archivo .supermavenignore específico desde la raíz del espacio de trabajo, los desarrolladores gestionan el alcance de la indexación mediante las reglas nativas de exclusión de archivos de VS Code, las configuraciones de espacio de trabajo y .gitignore.

┌───────────────────────────────────────────────────────────────────────────┐
│              Jerarquía de exclusión de contexto en VS Code                │
├───────────────────────────────────────────────────────────────────────────┤
│                                                                           │
│   Configuración de usuario (Global ~/.config/Code/User/settings.json)     │
│     └── Excluye claves personales, carpetas SSH y credenciales globales   │
│                                                                           │
│   Configuración de espacio de trabajo (.vscode/settings.json)             │
│     └── Excluye secretos del proyecto, archivos de entorno y artefactos   │
│                                                                           │
│   Archivo .gitignore del proyecto                                         │
│     └── Higiene estándar del repositorio; respetada por herramientas      │
│                                                                           │
│   Alcance de habilitación de extensiones                                  │
│     └── Deshabilita Supermaven por completo en espacios confidenciales    │
│                                                                           │
└───────────────────────────────────────────────────────────────────────────┘

1. Configuración del espacio de trabajo (.vscode/settings.json)

Para evitar que Supermaven y las herramientas de indexación relacionadas analicen archivos de configuración confidenciales, añada patrones de exclusión explícitos al archivo .vscode/settings.json de su proyecto:

{
  "files.exclude": {
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true,
    "**/Thumbs.db": true,
    "**/.env*": true,
    "**/secrets/**": true,
    "**/*.pem": true,
    "**/*.key": true,
    "**/*.p12": true,
    "**/node_modules": true,
    "**/dist": true,
    "**/build": true,
    "**/coverage": true
  },
  "search.exclude": {
    "**/node_modules": true,
    "**/dist": true,
    "**/build": true,
    "**/.env*": true,
    "**/secrets/**": true
  },
  "files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/*/**": true,
    "**/.env*": true,
    "**/secrets/**": true
  }
}

Por qué es importante files.watcherExclude

La directiva files.watcherExclude es fundamental para los asistentes de código basados en IA. Cuando los archivos se omiten del monitor de archivos del editor, el proceso de indexación en segundo plano de la extensión no recibe notificaciones de eventos del sistema de archivos cuando estos se modifican, lo que evita ciclos accidentales de sincronización de tokens confidenciales.

2. Conmutación de extensiones a nivel de espacio de trabajo

Al trabajar como contratista para múltiples organizaciones o alternar entre proyectos de código abierto y bases de código empresariales propietarias, las configuraciones globales a menudo resultan insuficientes. Los desarrolladores deben activar o desactivar Supermaven por espacio de trabajo:

  1. Abra el proyecto confidencial en VS Code.
  2. Abra la paleta de comandos (Ctrl+Shift+P en Linux/Windows, Cmd+Shift+P en macOS).
  3. Escriba y seleccione Extensions: Disable (Workspace).
  4. Busque Supermaven y presione Enter.

Esto garantiza que el binario del cliente de lenguaje se finalice por completo dentro de esa instancia del espacio de trabajo, impidiendo cualquier indexación en segundo plano, tráfico de red o transmisión de telemetría.

Segmentación de espacios de trabajo del desarrollador:

[Proyecto estándar de código abierto] ──> Supermaven habilitado (contexto de 1M activo)
[Repositorio de herramientas internas] ──> Supermaven habilitado (exclusiones en settings.json)
[Monorepo fintech confidencial]       ──> Supermaven deshabilitado en espacio de trabajo (Air-Gapped)

Configuración en IDEs de JetBrains

Los desarrolladores que utilizan IntelliJ IDEA, WebStorm, PyCharm u otros IDEs de JetBrains interactúan con Supermaven mediante el plugin de JetBrains Marketplace. JetBrains proporciona mecanismos integrados para restringir la inspección de código y la indexación por parte de herramientas de IA.

1. Alcances (Scopes) y carpetas excluidas

  1. Haga clic derecho en cualquier directorio que contenga datos sensibles (p. ej., config/secrets, infra/credentials).
  2. Seleccione Mark Directory as -> Excluded.
  3. Los directorios excluidos se omiten de la inspección de código, la indexación de símbolos y las canalizaciones de completado.

2. Ignorar tipos de archivo

Para evitar que JetBrains y las extensiones de completado de terceros analicen archivos de configuración:

  1. Vaya a Settings / Preferences -> Editor -> File Types.
  2. Localice Ignored Files and Folders.
  3. Añada los patrones sensibles:
    *.env;*.pem;*.key;*.p12;secrets;credentials;
    
  4. Haga clic en Apply.

La migración a Cursor y el soporte nativo de .cursorignore

En noviembre de 2024, el equipo de Supermaven se unió a Cursor, y la tecnología subyacente de contexto largo (incluida la arquitectura de inferencia personalizada y el modelado de secuencias de múltiples archivos) se integró en el motor de autocompletado nativo de Cursor ("Cursor Tab"). Para los desarrolladores de software que realizan la transición desde Supermaven independiente al editor Cursor, la gestión del contexto del repositorio y la privacidad se vuelve mucho más granular gracias al soporte nativo de .cursorignore.

Uso de .cursorignore

A diferencia del Supermaven independiente, Cursor admite de forma nativa un archivo .cursorignore en la raíz del proyecto que sigue la sintaxis estándar de comodines de .gitignore. Cualquier archivo o directorio que coincida con .cursorignore se excluye por completo de la indexación de la base de código en segundo plano, las incrustaciones semánticas (embeddings) y la construcción de la ventana de contexto:

# .cursorignore - Ubicar en la raíz del proyecto

# 1. Archivos de entorno y credenciales
.env*
*.pem
*.key
*.cert
*.p12
credentials.json
service-account.json

# 2. Directorios de secretos y cumplimiento
secrets/
private/
compliance/
certs/

# 3. Dependencias de terceros y salidas de compilación
node_modules/
vendor/
dist/
build/
.next/
target/

# 4. Recursos grandes no relacionados con código y volcados de bases de datos
*.sql
*.sqlite
*.dump
*.csv
*.parquet
dataset/

Modo de privacidad de Cursor (Privacy Mode)

Además de .cursorignore, los desarrolladores que operan en entornos de alto cumplimiento normativo pueden activar el Privacy Mode dentro de Cursor:


Prácticas recomendadas para la privacidad del código en flujos asistidos por IA

Configurar archivos ignore y opciones de editor es solo una parte de una postura de seguridad sólida. Los equipos de desarrollo deben establecer procedimientos operativos estándar que minimicen el riesgo desde el diseño.

┌──────────────────────────────────────────────────────────────────────────┐
│             Defensa en profundidad para la seguridad de código con IA    │
├──────────────────────────────────────────────────────────────────────────┤
│  Capa 1: Gestión de secretos                                             │
│  • Eliminar credenciales hardcodeadas; inyectar secretos en tiempo de    │
│    ejecución.                                                            │
│                                                                          │
│  Capa 2: Higiene del repositorio (.gitignore y .cursorignore)            │
│  • Asegurar que los archivos sensibles se ignoren por defecto en el VCS. │
│                                                                          │
│  Capa 3: Delimitación en el editor (VS Code settings.json / Neovim)      │
│  • Suprimir monitores de archivos y sincronización de búferes en rutas.  │
│                                                                          │
│  Capa 4: Segmentación de red y espacios de trabajo                       │
│  • Deshabilitar extensiones en espacios con restricciones normativas.    │
│                                                                          │
│  Capa 5: Verificación de directivas de proveedores                       │
│  • Auditar retención de 7 días y garantías de cero entrenamiento.        │
└──────────────────────────────────────────────────────────────────────────┘

1. Trasladar secretos de archivos a variables de entorno en tiempo de ejecución

La forma más fiable de evitar que una herramienta de IA lea un secreto es asegurarse de que el secreto nunca exista como un archivo de texto plano en el directorio de trabajo.

2. Verificar la autenticidad de las extensiones oficiales

La Supermaven Code Policy estipula expresamente que sus garantías de retención de 7 días y de cero entrenamiento se aplican únicamente cuando los desarrolladores utilizan extensiones oficiales enlazadas desde supermaven.com. Las bifurcaciones (forks) de terceros, los envoltorios comunitarios no oficiales o las adaptaciones no verificadas pueden comunicarse con puntos de conexión arbitrarios o carecer del aislamiento de datos adecuado. Verifique siempre las firmas del editor:

3. Supervisar los indicadores de la barra de estado

Tanto en VS Code como en JetBrains, Supermaven muestra un indicador en la barra de estado inferior derecha. Este componente proporciona visibilidad en tiempo real sobre:

Hacer clic en el indicador de la barra de estado permite a los desarrolladores pausar las sugerencias de inmediato si se abre un búfer no autorizado.


Matriz comparativa: Métodos de configuración de privacidad

La siguiente matriz compara las distintas técnicas de configuración disponibles para gestionar el contexto del repositorio y la privacidad en Supermaven en diversos entornos de desarrollo:

Método de configuraciónEntorno principal de destinoGarantía de privacidadComplejidad de implementaciónModo principal de fallo
ignore_filetypesNeovim (supermaven-nvim)Parcial (Suprime sugerencias en UI; el búfer puede seguir sincronizándose)Baja (Tabla única en configuración Lua)Asumir que el silencio en la UI equivale a un aislamiento de red completo
Callback condition()Neovim (supermaven-nvim)Fuerte (Bloquea por completo la activación del plugin por búfer)Media (Requiere lógica de coincidencia de cadenas en Lua)Errores de sintaxis en expresiones regulares o variantes de rutas de archivo no contempladas
Autocmd api.stop()Neovim (supermaven-nvim)Muy fuerte (Apaga el proceso del plugin ante archivos sensibles)Media (Requiere autocommands en Neovim)Olvidar reiniciar el plugin al cambiar de búfer
files.exclude y watcherExcludeVS Code (settings.json)Fuerte (Excluye archivos del árbol del editor y de los monitores de archivos)Baja (Configuración estándar en JSON)No tiene efecto si el desarrollador abre manualmente el archivo
Deshabilitación de extensión en espacio de trabajoVS Code / JetBrainsAbsoluta (El binario de la extensión no se carga para el espacio de trabajo)Muy baja (Conmutador en UI mediante paleta de comandos)Debe configurarse manualmente para cada nuevo repositorio
.cursorignoreCursor (Tecnología Supermaven)Absoluta (Exclusión determinista a nivel de motor)Baja (Sintaxis estándar de .gitignore)Omisión de patrones de carpetas anidadas o discordancias de comodines
Inyección externa de secretosUniversal (Todos los entornos)Absoluta (No existen secretos en texto plano en el sistema de archivos)Media (Requiere herramientas como Doppler o Vault)El desarrollador evade el flujo de trabajo y crea manualmente un .env

Guía práctica de implementación paso a paso

Para poner en práctica estas estrategias, siga esta guía paso a paso al incorporar un proyecto con datos confidenciales:

Paso 1: Auditar el repositorio en busca de recursos sensibles

Escanee el árbol del proyecto para detectar credenciales, archivos .env, certificados o conjuntos de datos confidenciales:

find . -maxdepth 3 -name "*.env*" -o -name "*.pem" -o -name "*.key" -o -name "*secret*"

Paso 2: Establecer una higiene adecuada en el control de versiones

Asegúrese de que todos los archivos identificados estén incluidos en .gitignore:

# .gitignore
.env
.env.local
.env.production
*.pem
*.key
secrets/

Paso 3: Configurar salvaguardas específicas del editor

Si utiliza VS Code:

Cree o actualice .vscode/settings.json:

{
  "files.exclude": {
    "**/.env*": true,
    "**/secrets/**": true,
    "**/*.pem": true,
    "**/*.key": true
  },
  "files.watcherExclude": {
    "**/.env*": true,
    "**/secrets/**": true
  }
}

Si utiliza Neovim:

Añada la coincidencia de rutas a su configuración de supermaven-nvim:

require("supermaven-nvim").setup({
  condition = function()
    local filepath = vim.api.nvim_buf_get_name(0)
    if string.match(filepath, "%.env") or string.match(filepath, "secrets/") then
      return false
    end
    return true
  end,
})

Si utiliza Cursor:

Cree un archivo .cursorignore en la raíz del proyecto:

.env*
secrets/
*.pem
*.key

Paso 4: Validar el estado activo

Abra su editor y verifique:

  1. Abra un archivo fuente estándar (p. ej., src/index.ts). Confirme que las sugerencias en línea aparezcan como se espera.
  2. Abra un archivo sensible (p. ej., .env). Confirme que la barra de estado muestre Supermaven deshabilitado o en pausa, o que no se muestren sugerencias en línea.
  3. Revise los requisitos de cumplimiento normativo de su organización para determinar si es necesaria la deshabilitación a nivel de espacio de trabajo o la gestión de secretos en tiempo de ejecución para una máxima garantía.

Conclusión

La ventana de contexto de 1 millón de tokens de Supermaven ofrece mejoras significativas en la productividad al proporcionar completados de código rápidos y contextualmente enriquecidos en bases de código complejas. Sin embargo, mantener el control sobre la indexación del código y la propiedad intelectual exige una estrategia de configuración deliberada. Debido a que Supermaven no depende de un archivo .supermavenignore independiente, los desarrolladores deben aprovechar todo el espectro de controles disponibles: emplear callbacks condition() y comandos programáticos de detención en Neovim, configurar files.exclude y watcherExclude en VS Code, deshabilitar extensiones en espacios de trabajo confidenciales y migrar a .cursorignore cuando corresponda.

Al combinar estas salvaguardas a nivel de editor con el límite contractual de retención de 7 días de Supermaven, sus compromisos de cero entrenamiento y la gestión moderna de secretos en tiempo de ejecución, los equipos de ingeniería pueden aprovechar plenamente la velocidad del completado de código con IA sin exponer código fuente propietario ni credenciales críticas de seguridad.