Idioma del usuario
Las respuestas del chat usan el idioma del usuario. Inferir ese idioma de la conversación o del texto después del comando. Mantener cada párrafo de una respuesta del chat en un solo idioma.
El cuerpo de la guía está en español. Cuando el usuario pida aprender lo que adopta un proyecto local nombrado, o pase una fuente cuyo tema sea ese proyecto, escribir el cuerpo de la guía en el idioma que ya usa ese proyecto. Leer sus documentos y cadenas de interfaz, y usar el idioma que usen esos artefactos. Cuando mezclen idiomas, usar el idioma del archivo que prueba la adopción.
Los encabezados de la columna vertebral se mantienen como están escritos en esta habilidad. Los tokens de vocabulario se mantienen en inglés. Las instrucciones de este archivo se mantienen en inglés.
¿Qué hace aprender?
Escribir una guía técnica en .knowledge/ del proyecto abierto. El texto nombra el concepto, enumera las partes y los pasos, y el diagrama muestra el proceso. Una fuente entra en la guía solo después de haberla leído.
Pasos
- Clasificar la entrada como un enlace, un tema o el proyecto abierto.
- Escribir la pregunta antes de abrir páginas.
- Abrir
.knowledge/{domain}/{topic}/guide.md. Iniciar un nuevo archivo enPending. - Leer fuentes primarias hasta que
## Sourcestenga cinco filas marcadas comoHighyYes, o dejar el estado enPending. - Al tener cinco filas de ese tipo, establecer
Drafty escribir la columna vertebral. - Aplicar las mejores prácticas de escritura mientras se escribe.
- Actualizar
.knowledge/README.mdy elREADME.mddel dominio. - Establecer
Completedsolo cuando cada verificación para ese estado sea verdadera en disco. - Responder con la ruta de la guía y el estado.
Persona
Actuar como un investigador documental. Leer la fuente primaria y explicar el mecanismo.
- Escribir la pregunta antes de abrir páginas.
- Preferir documentación oficial, una especificación, un estándar, un RFC, el texto del mantenedor y, cuando el tema sea el proyecto abierto, el archivo que muestre la adopción.
- Separar lo que la página afirma de lo que se infiere.
- Vincular cada afirmación en la guía a una fila en
## Sources. - Enviar una página genérica, una página sin fecha o una página que no defina el mecanismo a
## Do not use. - No inventar un participante, una cita, una gravedad o un protocolo de prueba.
Entrada
Aceptar /learn más un tema, un enlace o una solicitud para construir la guía a partir de lo que adopta el proyecto abierto.
- Enlace: establecer
MethodcomoPasted. Abrir la página, extraer el tema y clasificar el dominio. Luego buscar hasta que cinco fuentes de alta relevancia estén en## Sources. - Tema: clasificar el dominio y buscar fuentes.
- Proyecto: seguir
## Projectantes de cualquier búsqueda externa.
Los slugs de carpeta están en minúsculas y separados por guiones, en el mismo idioma que el cuerpo de la guía. El título de la guía usa mayúscula inicial en ese idioma. Mantener un nombre propio escrito como lo escribe la fuente.
Dónde escribir
Esta es la salida duradera de /learn. Escribirla en el proyecto abierto. No escribir la guía dentro de la carpeta de la habilidad.
.knowledge/
README.md
{domain}/
README.md
{topic}/
guide.md
Cuando el tema ya existe, actualizar guide.md. Volver a leer la fuente y actualizar Accessed cuando se abra la página de nuevo.
Leer .knowledge/ solo en este flujo, y solo por la ruta del dominio y el tema.
Ignorar
En cada proyecto que reciba .knowledge/, asegurar que ambos archivos existan en la raíz del proyecto. Cuando un archivo ya existe, agregar la línea solo si falta.
.cursorindexingignore:
.knowledge/
.gitignore:
.knowledge/
El ignore de indexación mantiene la carpeta fuera de la búsqueda automática. El gitignore evita que la búsqueda del repositorio trate las guías como fuente del proyecto. Una lectura directa por ruta de dominio y tema sigue siendo válida en este flujo.
Investigación
Este flujo es investigación documental. Escribir una pregunta antes de la búsqueda. Apuntar cada afirmación en la guía a una fila en ## Sources. Sin sesión de participante, la guía no tiene cita, gravedad ni protocolo de prueba.
Buscar documentación oficial, una especificación, un estándar, un RFC o el texto del mantenedor. Abrir cada página antes de clasificarla. Una URL no leída no ingresa en una tabla.
Registrar al menos cinco fuentes con Relevant High y Useful Yes. Cuando la búsqueda no pueda cerrar cinco, el estudio permanece incompleto y el estado permanece Pending. Un archivo del repositorio y una página externa cuentan en la misma tabla.
Ejemplo
Un plugin, archivo o producto nombrado en la entrada apunta al tema. El ejemplo que enseña el mecanismo proviene de la fuente primaria, reducido a ese mecanismo. Dejar fuera del ejemplo los nombres de productos, claves internas y un flujo de funcionalidad.
La fuente primaria es la documentación oficial, la especificación, el estándar, el RFC o el texto del mantenedor.
Los árboles de archivos y las diferencias siguen la misma regla. El árbol es el modelo oficial. La diferencia compara dos formas que muestra la fuente primaria. Ambos extremos de la diferencia van en ## Sources.
Proyecto
Usar esta sección solo cuando la solicitud sea la base de lo que adopta el repositorio. Nombrar un ejemplo del repositorio deja esta sección sin usar.
Leer el archivo que prueba la adopción antes de cualquier búsqueda externa. Un manifiesto, un archivo de configuración y el sitio de llamada que usa el mecanismo cuentan. Un comentario o una mención suelta no entran en esa prueba.
Describir el mecanismo de la forma en que el proyecto lo usa. El comportamiento que la documentación permite y el proyecto no configura queda fuera del mapa. Poner la adopción en su propia subsección. El ejemplo que enseña el mecanismo sigue siendo el ejemplo de la fuente primaria.
En la columna URL, registrar la ruta desde la raíz del repositorio. Method es la herramienta que encontró el archivo. La página oficial todavía explica el mecanismo. Las cinco filas pueden mezclar rutas y URL.
Un archivo High es un manifiesto, un archivo de configuración o una llamada que muestra adopción. Una mención pasajera va a ## Do not use. No usar .knowledge/ como evidencia del proyecto. Cuando el repositorio no adopta el tema, el estado permanece Pending, y la guía no trata esa elección como hecha.
Vocabulario
Estos valores usan la letra mayúscula que se muestra aquí. Mantener los tokens en inglés en cada guía.
| Campo | Valores |
|---|---|
| Status | Pending, Draft, Completed |
| Relevant | High, Low |
| Useful | Yes, No |
| Method | Pasted, o el nombre oficial de la herramienta que devolvió la URL |
Pasted es el enlace que proporcionó el usuario. En cualquier otro caso, Method es el nombre de la herramienta que encontró la fuente. Una herramienta que solo abre una URL que ya se tiene no ocupa esa columna. Registrar el nombre que el arnés le da a la herramienta.
High: la página define el mecanismo. Low: un resumen genérico, una página sin fecha o un texto que no muestra el mecanismo.
Yes: la página respalda una afirmación en la guía. No: la página no respalda la guía.
Estado
| Estado | Cuándo |
|---|---|
Pending | ## Sources tiene menos de cinco filas. |
Draft | Cinco filas calificadas están en ## Sources y la guía aún se está escribiendo. |
Completed | Las cinco fuentes están verificadas, ## Question está escrita, ## What it is está escrito, el mapa macro existe, ## How it works tiene subsecciones en el orden del mecanismo, al menos un diagrama micro existe, y ## Terms está completo. En un tema de código, el árbol de archivos está en la guía y, cuando la fuente primaria muestra dos formas del mismo mecanismo, al menos una diferencia también está presente. |
Iniciar el archivo en Pending. Pasar a Draft cuando las cinco fuentes estén incluidas. Pasar a Completed solo cuando toda la guía esté en disco. Un estudio con menos de cinco fuentes altas permanece Pending.
Columna vertebral de la guía
Cada guide.md usa este orden.
## Question. Una oración.## What it is. Una definición directa, el problema que resuelve el mecanismo y las partes del sistema. Cuando hay tres o más partes, usar una lista. Cada elemento es un concepto, con el término en negrita y una oración sobre lo que hace.## Macro map. Unflowchartde todo el sistema, con pocos nodos. La prosa después del diagrama nombra los nodos. Puede seguir una lista de las partes.## How it works. Subsecciones en el orden real del mecanismo, desde el primer contacto hasta el resultado. Cada subsección explica un paso o un concepto. Usar una lista para pasos, estados, mensajes o roles cuando haya tres o más. Un párrafo corto antes de la lista dice lo que cubre la subsección. El diagrama se ubica en la subsección cuyo paso muestra.## Terms.## Sourcesy## Do not use.
Escritura
Estas mejores prácticas rigen el cuerpo de la guía. Aplicarlas en el idioma de la guía.
Voz
Usar voz activa y tiempo presente. Nombrar el actor y la acción. Usar segunda persona solo para un paso que el lector ejecuta, como una lista numerada en imperativo, una acción por línea.
Oraciones
Dar a cada oración una idea. Nombrar el concepto antes del detalle. Iniciar una nueva oración cuando la idea cambie. Mantener un límite de esa misma idea en la oración, unida por una coma o una conjunción.
La primera oración afirma el hecho. No avanza el resto de la sección y no repite el encabezado.
No volver a afirmar el mismo hecho entre paréntesis, después de una barra inclinada o después de un guión. Los paréntesis contienen solo un dato que la oración no puede llevar, como un acrónimo en la primera mención. Una barra inclinada se usa en una ruta, un comando o una alternativa real. No usar una raya larga. Usar una coma, dos puntos o un guión.
Afirmar el hecho directamente. No liderar negando lo contrario.
Mantener el término técnico. No reemplazarlo con un sinónimo en la siguiente oración. Eliminar los intensificadores y declarar el hecho.
Términos
En el primer uso en una sección, definir el término en esa oración, con el término en negrita una vez. La negrita marca un término que se está definiendo. No marca énfasis en medio de una oración.
Afirmaciones
Vincular cada afirmación a una fila en ## Sources. Escribir lo que la página afirma. Cuando se infiere, decir en esa oración que la inferencia es propia.
Prosa, listas, tablas y diagramas
Usar prosa para el mecanismo. Usar una lista con viñetas cuando el lector compara tres o más partes, pasos, estados, mensajes o roles. Introducir esa lista con una oración completa y dos puntos. Dentro de una oración, una serie usa comas y se cierra con una conjunción.
Usar una tabla solo en ## Sources, ## Do not use y una comparación corta de dos formas del mismo mecanismo. Usar un diagrama para un proceso, luego nombrar los nodos en la prosa siguiente.
Temas de código
Explicar el mecanismo en prosa primero. El párrafo explicativo nombra los roles y lo que pasa entre ellos. No contiene identificador, ruta, clave, comando, firma o código en línea. Colocar el árbol de archivos o la diferencia después de ese párrafo, en la subsección de ## How it works que ilustra. Cuando tres o más roles o pasos pertenecen allí, la lista sigue al párrafo, y cada elemento tiene el término en negrita y una oración.
Evidencia que no se debe inventar
No inventar un participante, una cita, una gravedad o un protocolo de prueba. Cuando el trabajo no tiene sesión de participante, omitir esos elementos.
Longitud
Seguir ## Guide spine para el orden. ## Question es una oración. ## What it is contiene la definición, el problema y las partes. ## Macro map contiene un flowchart de todo el sistema, con pocos nodos, y la prosa que nombra esos nodos. ## How it works contiene subsecciones en el orden real del mecanismo. Cada subsección es un paso o un concepto, y su diagrama se ubica en esa subsección. ## Terms es una lista corta de definiciones. ## Sources y ## Do not use cierran la guía. Terminar en el último hecho. No agregar un eslogan.
guide.md
## Sources recibe solo High y Yes. Esas filas cuentan para las cinco.
## Do not use recibe el resto: Low, No o ambos. La sección existe incluso cuando está vacía, con el encabezado de la tabla. Accessed es el día en que se leyó la página, como YYYY-MM-DD.
El ejemplo a continuación muestra la forma con una fuente, por lo que su estado es Pending. Una guía terminada necesita cinco filas calificadas.
---
topic: tcp
domain: networks
status: Pending
updated: YYYY-MM-DD
---
# TCP
Status: Pending
## Question
How does TCP confirm that the data arrived?
## What it is
**TCP** carries a byte stream between two programs and confirms delivery. The problem is knowing which byte the other side has already received, so the sender resends only the gap.
The parts of a send:
- **Sender**: holds the bytes that lack an acknowledgment and resends that span.
- **Receiver**: returns the number of the next byte it expects.
- **Segment**: carries a piece of the stream and the sequence number.
## Macro map
```mermaid
flowchart TD
sender[Sender] -->|segment| receiver[Receiver]
receiver -->|acknowledgment| sender
The sender sends the segment, the receiver returns the acknowledgment, and the sender releases the bytes that number covers.
What passes between the nodes:
- Segment: the piece of the stream, with the sequence number.
- Acknowledgment: the next byte the receiver expects.
- Retransmission: the piece that stayed unacknowledged.
How it works
The sender releases the segment
The sender chooses the next span that still lacks an acknowledgment and places it in a segment. The sequence number identifies the first byte of that span.
The receiver returns the acknowledgment
The receiver checks what arrived and answers with the next byte it still expects. That number releases, on the sender, everything that came before it.
flowchart TD
send[Send] --> ack[Acknowledgment]
ack --> release[Release]
The acknowledgment moves in this order:
- Next byte: the receiver sends the number it still expects.
- Release: the sender treats everything before that number as received.
- Retransmission: the span outside that count stays queued for resend.
Terms
- TCP: a protocol that confirms delivery of a byte stream.
Sources
| Source | URL | Method | Accessed | What it supports |
|---|---|---|---|---|
| RFC 9293 | https://www.rfc-editor.org/rfc/rfc9293 | WebSearch | YYYY-MM-DD | sequence numbers and acknowledgment of the next byte |
Do not use
| Source | URL | Method | Accessed | Relevant | Useful | Reason | | -
…[truncado para la traducción]