Documentación
Cómo usar Shipcode
Todo lo que necesitas para elegir un proyecto, prepararlo en tu computadora y avanzar con la CLI, las guías y el mentor. Si es tu primera vez, léelo de arriba abajo; si ya estás construyendo, usa el índice.
Última actualización: septiembre de 2026
Cómo funciona Shipcode
No hay ejercicios ni editor en el navegador. Construyes un programa real en tu computadora, con tu editor y tu lenguaje.
Cada proyecto está partido en etapas, agrupadas en fases. Una etapa te pide una capacidad concreta de tu programa —que arranque, que entienda un token, que aguante un caso raro— y trae dos cosas: una guía en prosa que explica el porqué y el contrato que tu programa debe cumplir.
Las guías nunca traen la solución. Te explican el problema, el formato de entrada y salida, y en qué orden vale la pena atacarlo. El código lo escribes tú.
- Proyecto
- Un programa completo que construyes desde cero: un shell, un parser de JSON, un servidor HTTP.
- Fase
- Un grupo de etapas con un objetivo con sentido: «que arranque», «que aguante casos raros».
- Etapa
- El paso más pequeño: una guía, un contrato y sus pruebas.
- Intento
- Tu implementación de un proyecto en un lenguaje y un idioma concretos. Tu progreso vive aquí.
Tu código vive en tu computadora y es tuyo. Shipcode guarda por dónde vas, no lo que escribiste.
Buscar un proyecto
El catálogo está en Retos, en la navegación de arriba. No necesitas cuenta para explorarlo.
El buscador entiende nombres, conceptos y lenguajes: «parser», «sockets» o «rust» te llevan a lugares distintos. Presiona la tecla / en cualquier parte de la página para saltar al buscador sin usar el mouse.
Si todavía no sabes qué buscar, Project Match te pregunta tu objetivo, lenguaje, nivel y tiempo disponible. Devuelve tres proyectos y explica por qué encaja cada uno; tus respuestas viven en la URL y no se guardan en tu perfil.
A la izquierda están los filtros. Puedes marcar varios valores del mismo grupo (Python y Go) y combinar grupos entre sí (Python, dificultad principiante y menos etapas). Arriba de los resultados aparece un chip por cada filtro activo: quítalos uno por uno o usa «Limpiar todo». En pantallas chicas los filtros viven detrás del botón Filtros, que muestra cuántos llevas puestos.
- Disponibilidad
- Separa lo que ya puedes empezar de lo que está en construcción.
- Categoría
- El área: sistemas, redes, bases de datos, lenguajes, herramientas, concurrencia, gráficos o seguridad.
- Dificultad
- De principiante a experto. Mide el proyecto, no tu experiencia con el lenguaje.
- Lenguaje
- Los lenguajes en los que ese proyecto ya está preparado.
- Conceptos
- Lo que vas a practicar: «fork», «parsing», «wal»…
El orden por defecto es Relevancia; también puedes ordenar por más populares, más recientes, menor o mayor dificultad, y más cortos.
Toda tu búsqueda vive en la URL. Puedes compartirla, guardarla en marcadores y usar el botón atrás del navegador sin perder los filtros.
Un proyecto marcado «Próximamente» tiene el temario cerrado y las fases definidas, pero todavía estamos escribiendo sus guías. Puedes abrirlo y ver su hoja de ruta; empezarlo, aún no.
Entender la página de un proyecto
Antes de comprometerte con un proyecto, su página te dice exactamente en qué te estás metiendo.
- Ficha
- Dificultad, dedicación estimada en horas, número de etapas y categoría.
- Antes de empezar
- Qué vas a construir, qué vas a aprender, por qué vale la pena y qué necesitas saber de antes.
- Hoja de ruta
- Todas las fases con sus etapas, en orden. Es el temario completo, sin sorpresas.
- Lenguajes sugeridos
- Los lenguajes para los que este proyecto está preparado. Elige uno aquí y el resto de la página se adapta.
- Idioma del temario
- Los idiomas en los que las guías de este proyecto están traducidas completas.
- Tu progreso
- Con sesión iniciada, por dónde vas y el botón para retomarlo donde lo dejaste.
Los selectores de lenguaje e idioma de esta página no crean nada: solo preparan el formulario de inicio. Elegir aquí te ahorra dos clics después.
Empezar un proyecto
Desde la página del proyecto, «Empezar el reto» te lleva a un formulario corto. Necesitas una cuenta: si no has entrado, te mandamos a iniciar sesión y regresas justo a este formulario, con lo que ya habías elegido.
Elige el lenguaje
Solo aparecen los lenguajes en los que este proyecto está preparado. El tester trata tu programa como una caja negra: no mira tu código, comprueba que se comporte bien.
Elige el idioma de las guías
Solo los idiomas con traducción completa. Es independiente del idioma de la interfaz: puedes leer Shipcode en inglés y el temario en español.
Dinos qué tan cómodo te sientes con ese lenguaje
No es la dificultad del proyecto, es tu experiencia. Nos sirve para calibrar cuántas pistas darte.
Elige cuánto tiempo le quieres dedicar
Con eso te decimos en cuántas semanas terminarías a ese ritmo. Es una estimación para orientarte, no un contrato.
Dinos para qué lo estás construyendo
Fundamentos, portafolio, entrevistas o curiosidad. Prioriza los ejemplos y los siguientes pasos que te muestran.
Elige tu sistema operativo
Para adaptar las instrucciones del proyecto. En Windows el camino soportado es WSL.
Pega tu repositorio, si ya lo tienes
Es opcional. Sirve para tener a la mano dónde estás construyendo; no se publica en tu perfil.
Al enviar se crea el intento en tu cuenta y llegas a la página de inicialización. Desde ese momento aparece en Proyectos en curso, pero el botón «Continuar» te devuelve a la configuración hasta que la CLI termine de crear el directorio local.
La combinación de proyecto, lenguaje e idioma es lo que define tu intento. Empezar el mismo proyecto en otro lenguaje —o en otro idioma— crea un intento aparte, con su propio progreso; los dos avanzan sin pisarse.
Si vuelves a empezar la misma combinación que ya tienes activa, no se crea nada nuevo: retomas el intento que ya llevabas.
Instala la CLI de Shipcode
Instala el comando shipcode antes de correr el comando de configuración que muestra la página de tu proyecto. Un solo instalador detecta tu computadora, verifica la descarga y coloca el binario en ~/.local/bin.
Corre el instalador
Usa el mismo comando en Linux, macOS y dentro de WSL en Windows. Detecta x64 o ARM64 automáticamente y verifica el checksum SHA-256 del archivo antes de instalarlo.
Deja el comando disponible
Si tu terminal no encuentra shipcode después de instalarlo, agrega ~/.local/bin a tu PATH y abre otra terminal: export PATH="$HOME/.local/bin:$PATH". Confírmalo con shipcode --version.
Linux, macOS y WSL
curl -fsSL https://app.shipit.codes/install.sh | shLos enlaces siempre apuntan a la versión estable más reciente. Para actualizar después, corre `shipcode update`. Para usar una versión fija o revisar todos los archivos, abre la página pública de releases de shipitcodes/cli en GitHub.
El mismo instalador actualiza una instalación existente. También puedes correr shipcode update: descarga la versión estable más reciente, verifica su checksum y reemplaza el binario.
La CLI es compatible con Linux x64 y ARM64, macOS Intel y Apple Silicon. En Windows usa WSL; todavía no hay un binario nativo.
Conecta la CLI con tu cuenta
Los comandos init, test y submit necesitan una sesión de la CLI. El inicio de sesión se autoriza en el navegador sin mostrarte la credencial de larga duración.
Abre el enlace de un solo uso
La CLI imprime una URL. Ábrela, entra a Shipcode si hace falta y confirma la terminal que aparece en pantalla.
Pega el código corto
La web muestra un código SC-… que caduca en 10 minutos y solo funciona una vez. Pégalo en el prompt que sigue esperando en tu terminal.
Administra tus terminales
Cada terminal autorizada aparece en Configuración → Sesiones de la CLI, con su fecha de creación y último uso. Puedes revocar cualquiera; tendrá que iniciar sesión otra vez.
Inicia sesión desde la terminal
shipcode auth loginDespués de conectarte, instala Git y vuelve a la página de inicialización. Corre shipcode init sc_init_… desde la carpeta donde quieres crear el proyecto. La CLI descarga el starter fijado, verifica su SHA-256, crea el repositorio de Git y no sobrescribe un destino con contenido.
Dentro del directorio generado, shipcode test envía una copia acotada del proyecto al sandbox privado y corre ahí la etapa obligatoria actual. shipcode submit vuelve a probarla en la nube, crea un commit local, registra el resultado verificado y abre la siguiente etapa. Los dos comandos aceptan --dir para apuntar a otro directorio.
Para automatización, SHIPCODE_TOKEN sustituye temporalmente la sesión guardada. Trátalo como una contraseña: nunca lo compartas ni lo subas a un repositorio.
Leer las guías y avanzar por etapas
Cada etapa es una página con su guía. A la derecha tienes el índice de la etapa, y al final los enlaces a la anterior y la siguiente.
El avance es secuencial y no se puede saltar: una etapa se abre cuando cerraste todas las obligatorias anteriores. Las etapas opcionales nunca bloquean, y una etapa que ya completaste la puedes rehacer siempre.
Aun así, ninguna guía te esconde texto. Puedes leer una etapa que va por delante de donde estás: se muestra completa, marcada como solo lectura, y te decimos qué etapa tienes que cerrar para que cuente. Leerla no mueve tu progreso ni te saca del lugar donde ibas.
- Estás viendo la guía
- Sin sesión o sin haber empezado el proyecto. Se lee completa, pero nada se registra.
- Etapa activa
- Estás dentro de la frontera. Es la etapa por la que continúas cuando vuelves.
- Modo solo lectura
- La etapa va por delante de donde estás. Puedes leerla, pero no cuenta todavía.
Corre shipcode test desde tu proyecto para verificar la etapa actual en el sandbox privado. Cuando pase, shipcode submit vuelve a ejecutarla, registra el resultado verificado y avanza tu progreso.
Tu progreso y tus proyectos
En Proyectos en curso está todo lo que empezaste. Cada tarjeta es un intento, no un proyecto: el mismo reto en Python y en Java son dos tarjetas.
Cada tarjeta te dice el lenguaje, el idioma del temario, cuántas etapas llevas y cuándo fue tu última actividad. Si todavía no corriste shipcode init, «Inicializar proyecto» te devuelve al comando. Después, «Continuar» te deja en la etapa por la que ibas.
Tu progreso también aparece resumido en la página de cada proyecto, junto con los otros intentos que tengas de ese mismo reto.
Con Pro puedes activar un perfil público en /u/tu-usuario para mostrar proyectos en curso y completados. Es opcional y la URL de tu repositorio nunca se publica ahí.
Pedir ayuda al mentor de proyecto
El mentor es una capacidad Pro dentro de cada etapa activa. Está diseñado para ayudarte a razonar y depurar, no para escribir el proyecto por ti.
- Contexto
- Recibe la guía y el contrato público de tests de la etapa, tu lenguaje, sistema operativo, experiencia, objetivo y estado agregado de los runs. También recuerda los seis intercambios recientes de esa etapa.
- Límites pedagógicos
- Responde con modelos mentales, preguntas de diagnóstico, pistas y experimentos pequeños. No debe entregar implementaciones completas; cualquier bloque de código aparece cerrado al inicio.
- Privacidad
- La CLI envía una instantánea textual acotada al hacer submit o cuando falla un test; excluye secretos comunes, archivos ignorados y binarios. Shipcode no accede por su cuenta a tu computadora ni envía la URL de tu repositorio ni tu identificador de usuario al modelo.
- Disponibilidad
- Solo conversa sobre un intento tuyo y una etapa dentro de tu frontera actual. En una guía adelantada permanece bloqueado para no saltarse el aprendizaje.
Una pregunta que falla no descuenta uso. Si el mentor no responde, puedes intentarlo de nuevo.
Idioma de la interfaz e idioma del temario
Son dos cosas distintas, y esa es la confusión más común. Puedes tener Shipcode en inglés y estar construyendo un proyecto cuyas guías lees en español.
- Idioma de la interfaz
- Los botones, los menús y los mensajes. Se cambia desde el selector del pie de página o desde Configuración, y aplica a todo el sitio.
- Idioma del temario
- Las guías del proyecto que estás construyendo. Se elige al empezar y queda fijo en ese intento: cambiar la interfaz no lo mueve.
En el formulario de inicio solo aparecen los idiomas en los que ese proyecto ya está traducido completo, porque no tendría sentido empezar en un idioma y encontrarte las guías en otro a la mitad.
En el catálogo la regla es más suelta: un proyecto que todavía no está traducido a tu idioma se muestra igual, en su idioma original, en vez de desaparecer de los resultados.
Si quieres el mismo proyecto en otro idioma, empiézalo otra vez eligiendo ese idioma. Es un intento aparte y conservas los dos.
Tu cuenta y tu perfil
Puedes explorar el catálogo y leer guías sin cuenta. La necesitas para empezar un proyecto y para que se guarde tu progreso.
Puedes registrarte con tu correo o con GitHub. Si te registras con correo te mandamos un enlace de confirmación; ábrelo desde la misma computadora y regresas a donde estabas. Si no te llega, puedes pedir que lo reenviemos.
En Configuración administras tu nombre visible y usuario, la visibilidad Pro de tu perfil, la recuperación de contraseña, el idioma de la interfaz, tus sesiones de la CLI, el uso del mentor y la facturación.
- Perfil
- Tu nombre y tu usuario. Tu foto viene de la cuenta con la que entras.
- Cuenta
- El correo con el que te identificamos. Por ahora no se puede cambiar solo.
- Contraseña
- Se restablece de forma segura con un enlace enviado al correo de tu cuenta. También puedes solicitarlo desde la pantalla de inicio de sesión.
Planes, uso del mentor y facturación
El contenido publicado, los starters, la CLI y el progreso guardado pertenecen al plan Gratis. Pro cuesta 8 USD al mes y Max 15 USD al mes; ambos incluyen tests en un sandbox privado, mentor contextual y la opción de publicar tu perfil.
- Cuota incluida
- Pro incluye 200 minutos de sandbox y 600,000 créditos del mentor por periodo de facturación. Max incluye 600 minutos y 2,000,000 de créditos. En Configuración puedes consultar el uso y la fecha de renovación.
- Paquetes adicionales
- Puedes comprar por 5 USD un paquete de 200 minutos de sandbox o de 600,000 créditos del mentor. Se consumen después de la cuota incluida, vencen un año después de la compra y el saldo que vence antes se usa primero. Las compras anteriores conservan sus condiciones originales.
- Suscripción
- Stripe procesa el pago, las facturas y la cancelación. El portal de cliente te permite administrar la suscripción; al cancelar conservas tu plan hasta el final del periodo pagado.
- Códigos de promoción
- Si tienes un cupón, canjéalo al contratar Pro o Max: en la página de pago de Stripe, dentro del resumen del pedido, abre el campo para agregar un código de promoción, escríbelo y aplícalo antes de pagar. El descuento aparece en el total. Aunque el primer cargo quede en 0 USD, Stripe te pide un método de pago; el mes siguiente se renueva al precio normal, salvo que canceles desde el portal de cliente. Los códigos no aplican a los paquetes adicionales.
Una confirmación de Checkout no activa acceso por sí sola. La pantalla puede tardar unos segundos mientras Shipcode recibe y verifica el webhook firmado de Stripe.
Preguntas frecuentes
- ¿Puedo construirlo en el lenguaje que yo quiera?
- El tester trata tu programa como una caja negra, así que técnicamente sirve cualquier lenguaje. En el formulario de inicio solo ofrecemos los que ya tienen guía y comandos preparados para ese proyecto.
- ¿Puedo saltarme una etapa?
- No. Puedes leerla adelantada en modo solo lectura, pero no cuenta hasta que cierres las obligatorias anteriores. Las opcionales no bloquean a nadie.
- ¿Puedo llevar el mismo proyecto en dos lenguajes?
- Sí. Son intentos independientes, cada uno con su progreso, y aparecen como tarjetas distintas.
- ¿Qué pasa si le doy a empezar otra vez?
- Si es la misma combinación de proyecto, lenguaje e idioma, retomas el intento que ya tenías. No se duplica ni se borra nada.
- ¿Dónde vive mi código?
- En tu computadora. Shipcode no lo aloja ni lo ejecuta: guarda por dónde vas y, si lo pegaste, la URL de tu repositorio.
- ¿El mentor puede ver mi código?
- Puede revisar la instantánea textual acotada que la CLI envía al hacer submit o cuando falla un test. No accede por su cuenta a tu computadora ni repositorio, y excluye secretos comunes, archivos ignorados y binarios.
- ¿Qué ocurre si revoco una sesión de la CLI?
- Esa terminal deja de poder inicializar, probar o enviar proyectos. No se borra tu proyecto ni tu progreso; corre shipcode auth login otra vez para autorizar una sesión nueva.
- ¿Puedo dejarlo y volver en un mes?
- Sí. Tu progreso se guarda por intento y no caduca. Vuelve a Proyectos en curso y continúa donde ibas.
- ¿Qué significa «Próximamente»?
- Que el temario está cerrado y las fases definidas, pero las guías y las pruebas todavía se están escribiendo. Puedes abrir el proyecto para revisar su hoja de ruta y explorar los que ya están disponibles.