Build a Coding Agent
Learn the core foundations of AI coding assistants from scratch: model basics, API key security, why use OpenRouter as a universal model router, tool schemas, and the autonomous ReAct loop.
Python · TypeScript
Blobs, trees y commits. Descubre que Git es un almacén de objetos direccionado por contenido, y poco más.
Build it in your language
The tester treats your program as a black box: any language works. These are just the most convenient ones for this project.
Git tiene fama de complicado, pero su modelo de datos cabe en una pizarra: cuatro tipos de objeto, un hash y un grafo. Todo lo confuso está en la interfaz, no en el fondo.
En este reto implementas ese fondo. Crearás objetos, los escribirás comprimidos en .git/objects, construirás árboles a partir del directorio de trabajo, harás commits y recorrerás el historial. Y lo mejor: el Git de verdad podrá leer tu repositorio.
12 stages across 4 phases. Every stage comes with its guide and its tests: you move on when they pass.
init, escritura de blobs comprimidos con zlib y lectura por hash.
Representa directorios, escribe el árbol del working tree y vuelve a leerlo.
Commits con padres, refs, HEAD y un log que recorre el grafo.
Checkout de un commit y reconstrucción del directorio de trabajo.
Learn the core foundations of AI coding assistants from scratch: model basics, API key security, why use OpenRouter as a universal model router, tool schemas, and the autonomous ReAct loop.
Python · TypeScript
Read stdin, filter by pattern and honour exit codes. The gateway to Unix tooling.
Go · Python · Zig
Bencode, trackers and the peer-to-peer protocol. Download a real file by talking to real peers.
Go · Python · Java