Genere una plantilla .gitignore para su entorno de desarrollo
Cree un .gitignore práctico sin buscar en varias plantillas ni conservar reglas repetidas.
Ejecutar — gratis
Seleccione las tecnologías y los sistemas operativos que utiliza su repositorio, y este generador combinará sus patrones de exclusión estándar en un único archivo determinista. Se eliminan los entornos duplicados y los patrones solapados, a la vez que se conserva el primer orden útil. Los nombres desconocidos producen un error de entrada claro en lugar de una plantilla incompleta.
Seleccione cada entorno que genere artefactos locales
Empiece por los lenguajes, entornos de ejecución, editores y sistemas operativos que realmente intervienen en el repositorio. Un proyecto Node desarrollado en macOS puede necesitar ambos conjuntos, mientras que un backend mixto puede combinar node, python y java. Incluir cada entorno pertinente es importante porque los artefactos no proceden únicamente del lenguaje principal: los gestores de paquetes crean cachés, las herramientas de pruebas generan informes de cobertura, los editores guardan metadatos del proyecto y los sistemas de escritorio añaden registros del sistema de archivos. El generador no distingue mayúsculas de minúsculas y elimina los espacios exteriores, por lo que Node y node seleccionan la misma entrada. Repetir un entorno no duplica sus reglas. Un nombre desconocido se rechaza expresamente para impedir que un error ortográfico produzca un archivo aparentemente completo que omita toda una cadena de herramientas. Limite la selección a las herramientas que usan sus colaboradores; añadir ecosistemas ajenos puede ocultar archivos que deberían estar bajo control de versiones.
Comprenda cómo se combinan y depuran los patrones
Los catálogos seleccionados se procesan en el orden indicado. Dentro de cada catálogo, los patrones establecidos conservan su orden publicado. Cuando vuelve a aparecer exactamente el mismo patrón, solo permanece la primera aparición. Por ejemplo, los directorios de compilación o cobertura son comunes a varios ecosistemas, pero el archivo generado incluye una sola vez cada regla coincidente. Esta deduplicación por línea exacta es deliberadamente conservadora: dos patrones similares pueden tener una semántica de Git distinta, sobre todo si uno está anclado, utiliza un comodín o restaura un archivo mediante un signo de exclamación. Por ello, el generador no reescribe, amplía, ordena ni intenta simplificar las reglas. Así mantiene un comportamiento previsible y evita alterar el significado de una plantilla estándar solo para acortarla. La respuesta incluye la lista normalizada de entornos, el número final de patrones únicos y el texto completo con una nueva línea final, listo para inspeccionarse, guardarse o compararse en pruebas automatizadas.
Revise el resultado antes de adoptarlo
Considere el .gitignore generado como una base sólida, no como sustituto del conocimiento de su repositorio. Lea el resultado antes de confirmarlo, especialmente las reglas sobre archivos de bloqueo de dependencias, directorios de compilación, archivos de entorno, ajustes del editor y código de proveedores. Algunos equipos confirman deliberadamente archivos que otros proyectos excluyen; por ejemplo, las aplicaciones Rust suelen registrar Cargo.lock, mientras que las bibliotecas pueden seguir otra política. Añada las reglas específicas del proyecto después del bloque generado y elimine cualquier regla estándar que contradiga su política de publicación o reproducibilidad. Si un archivo ya está bajo seguimiento, añadirlo a .gitignore no lo elimina del índice ni del historial de Git, por lo que esa migración debe hacerse por separado y con cuidado. Como la generación es determinista y no utiliza red, la misma lista ordenada siempre produce el mismo texto. Esto permite usar la herramienta en scripts de andamiaje y revisar diferencias controladas.
Qué puede hacer con ella
Iniciar un repositorio políglota
Combine de una vez las reglas estándar del frontend, el backend, el editor y el sistema operativo de desarrollo.
Automatizar el andamiaje de proyectos
Genere texto .gitignore estable a partir de una lista declarada cada vez que cree un servicio o paquete.
Depurar una plantilla copiada
Sustituya fragmentos solapados de varias fuentes por una lista determinista con cada patrón exacto una sola vez.
Preguntas frecuentes
¿Cuánto cuesta?
El precio de la API es de $0.002 por solicitud, y la versión del navegador puede ejecutarse localmente en esta página.
¿Qué nombres de entorno se reconocen?
El catálogo incluye node, python, java, macos, windows, linux, vscode, jetbrains, go, rust, ruby, php y dotnet.
¿Los nombres distinguen mayúsculas de minúsculas?
No. Se eliminan los espacios exteriores y los nombres se comparan en minúsculas.
¿Cómo se tratan los patrones duplicados?
Las líneas exactamente duplicadas se eliminan, conservando la primera aparición y el orden solicitado.
¿Qué ocurre si un nombre es desconocido?
La solicitud falla con un error de entrada que identifica el valor desconocido; no se devuelve una plantilla parcial.
¿Puedo usar el resultado sin revisarlo?
Revíselo primero, porque las políticas varían, especialmente para bloqueos, dependencias incluidas, compilaciones y editores.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/gitignore-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"stacks":["node","python","macos"]}'const res = await fetch("https://api.kit.forhosting.com/web/gitignore-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"stacks": [
"node",
"python",
"macos"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/gitignore-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"stacks": [
"node",
"python",
"macos"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/gitignore-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"stacks":["node","python","macos"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"stacks":["node","python","macos"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/gitignore-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"stacks": [
"node",
"python",
"macos"
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.gitignore_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
timeout_sec | 30 |
max_crawl_pages | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |