Cómo organizo mis proyectos para no perder contexto

2025

Antes de comenzar a configurar mi editor y mi terminal tuve que enfrentarme a algunas preguntas que me llevaron a tomar una decisión ya que mi sistema de archivos siempre es un desastre.

Cada vez que quería retomar un proyecto antiguo o empezar uno nuevo, aparecía el mismo diálogo mental:

  1. ¿Dónde guardé ese script? ¿En Documentos, el Escritorio o en /tmp?
  2. ¿Qué hacía exactamente la carpeta llamada proyecto_final_v2?
  3. ¿Por qué tardo más en encontrar un archivo que en editarlo?

El problema no era la falta de herramientas. Era la falta de contexto. Tenía proyectos mezclados, sin README, con nombres que solo tenían sentido el día que los creé.

Así que siempre que comienzo un proyecto necesito pensar bien en como voy a organizar mis archivos y carpetas antes de que sea demasiado tarde.

Mi regla de oro: “Si no está en Dev, no existe”

La primera decisión fue imponer una regla simple y no negociable: todo lo que sea código, scripts o configuraciones debe vivir en un solo lugar. Una única fuente de la verdad.

En mi caso, ese lugar es ~/Dev

No importa si es un script tonto de cinco líneas o un proyecto grande. Si es código, va ahí. Esto elimina de raíz la pregunta de “¿dónde lo guardé?”. La respuesta siempre es la misma.

La estructura actual

Dentro de ~/Dev no tiro cosas al azar. Agrupo los proyectos por su contexto de vida, no por tecnología ni por importancia.

~/Dev
├── personal
│   ├── noplaygames-web
│   ├── dotfiles
│   └── scripts-lab
├── godot
│   ├── game-alpha
│   └── legacy-app
└── archivo
    ├── pruebas
    └── docs

Esta estructura no es perfecta ni definitiva, quizá mañana cambie todo una vez más. Es simplemente la que hoy me permite saber qué es cada cosa y en qué etapa está.

Además de la jerarquía, la nomenclatura importa mucho. Aprendí a las malas que los espacios son enemigos de la terminal. Ahora uso exclusivamente "kebab-case"

Es más rápido de escribir y más cómodo para el autocompletado.

Por qué esto importa para la terminal

A primera vista, organizar carpetas no parece tener relación con ser más rápido en la terminal. Pero para mí todo se resume en una palabra: predictibilidad.

Mis alias y funciones como fcd funcionan bien porque el terreno donde buscan está claramente delimitado.

  1. Le digo al buscador: solo mira dentro de ~/Dev
  2. Elimino ruido: descargas, música, caché, sistema. O sea, no busca en otras carpetas, sino en donde le digo que debe buscar.
  3. Cambiar de proyecto deja de ser tedioso y se vuelve algo muy fácil e intuitivo.

En el siguiente artículo entro de lleno en la práctica: cómo usar fcd para moverme por esta estructura de carpetas.

Parte de la serie Mi terminal, paso a paso