This repository (engineering-book-notes) is a bilingual (Spanish + English) knowledge base containing structured notes, insights, and reflections from software engineering books.
The goal is to:
- Capture high-value ideas without needing to reread full books
- Organize knowledge in a clear, reusable way
- Enable fast navigation across books, chapters, and concepts
- Be useful both personally and for others
- Notes are concise, structured, and insight-driven
- Focus on understanding, not copying
- Prioritize clarity, navigation, and long-term usability
- This repository behaves like a technical handbook / wiki
All content must follow this structure:
books/
<book-name>/
README.md
README.es.md
chapters/
EN/
01-chapter-name.md
ES/
01-chapter-name.es.md
templates/
book-template.md
book-template.es.md
chapter-template.md
chapter-template.es.md
docs/
slides/
<book-name>/
index.html
index.en.html
README.es.md
README.md
assets/
app.js
slides.js
slides.en.js
styles.css
Use templates from /templates/ exactly as follows:
- Book README in Spanish (
/books/<book-name>/README.es.md) →templates/book-template.es.md - Book README in English (
/books/<book-name>/README.md) →templates/book-template.md - Chapter in Spanish (
/books/<book-name>/chapters/ES/<nn>-<chapter>.es.md) →templates/chapter-template.es.md - Chapter in English (
/books/<book-name>/chapters/EN/<nn>-<chapter>.md) →templates/chapter-template.md - Templates are the canonical guide for structure when creating new files
- If a file already has the required structure and synchronized sections, do not re-template it; use templates to fill missing sections or create new content
- Use kebab-case for folders and files
- Each book has its own directory under
/books/ - Each chapter must be inside
/chapters/ - Chapter language files must be separated by folder:
/chapters/EN/and/chapters/ES/ - Chapter files must be numerically ordered (
01-,02-, etc.) - Slide decks must be stored under
/docs/slides/<book-name>/
When adding new chapters to an existing slide route:
-
Keep the same narrative structure and visual language already used in the deck
-
Update both languages in the same cycle:
- Spanish content in
slides.js - English content in
slides.en.js
- Spanish content in
-
Preserve sequence coherence (opening -> chapter flow -> closing), avoid random standalone slides
-
Maintain the timeline behavior:
- New slide appears in the route automatically
- Active step keeps centered/scrolling behavior
-
Keep interaction moments consistent (Mentimeter/question slides) and place them intentionally between chapter blocks
-
Keep slide density readable: short bullets, clear narrative, and one core message per slide
-
Reuse existing style tokens/components from
styles.css; do not introduce disconnected visual themes -
If a chapter is added to the talk route, update links/guides in:
README.es.mdandREADME.md- Related book README files in both languages
- Spanish (
.es.md) is the source of truth - English (
.md) is a translation - DO NOT mix languages in the same file
- Every Spanish file should have a corresponding English version
- Spanish files must use correct Spanish orthography (including
ñ, accents, and opening punctuation like¿and¡when applicable) README.mdandREADME.es.mdmust always be synchronized in structure and meaning (language is the only difference)- All bilingual note pairs (
*.es.mdand*.md) must stay synchronized in content, sections, links, and updates - Any change in Spanish must be reflected in English in the same update cycle
- All chapter links in book indexes must point to
/chapters/ES/...and/chapters/EN/...accordingly
When creating or updating notes:
-
Write in a clear, concise, and structured way
-
Avoid unnecessary verbosity
-
Follow the corresponding template structure exactly (book or chapter)
-
Do not invent new section structures or break the existing format
-
Always perform an explicit orthography and coherence review before finalizing any text update
-
Preserve the user's ideas as faithfully as possible; do not invent, extrapolate, or allude to ideas that were not explicitly provided
-
If input is ambiguous, ask for clarification instead of filling gaps with creative assumptions
-
Focus on:
- Core ideas
- Key concepts
- Practical insights
- Personal interpretation
- Summarize concepts in your own words
- Extract actionable insights
- Connect ideas across chapters/books
- Copy large portions of text from books
- Reconstruct full chapters
- Include copyrighted content beyond short quotes
- Quotes must be short
- Always include attribution when possible
- Use quotes only to support ideas, not replace explanations
Example:
"Programs must be written for people to read..." — Harold Abelson
All notes must be easily navigable.
At the top:
- ← Link to Book README
- ↑ Link to Repository README
- 🌐 Language switch (EN ↔ ES)
At the bottom:
- Previous chapter link (if exists)
- Next chapter link (if exists)
- "Related notes" section
Notes should behave like a knowledge graph.
Each chapter should include:
- Related chapters (same book)
- Related concepts (other books if applicable)
- "See also" references
Keep the existing navigation model and extend it with discovery artifacts.
-
Do not replace existing navigation (
←,↑,🌐, previous/next links); only add complementary discovery links -
Maintain global discovery files in
/docs/:docs/concepts-index.es.mdanddocs/concepts-index.mddocs/reading-paths.es.mdanddocs/reading-paths.md
-
Every new chapter must be reflected in the same update cycle in:
- The relevant concept groups in
concepts-index(ES + EN) - At least one route in
reading-paths(ES + EN)
- The relevant concept groups in
-
Keep concept names stable across updates (avoid duplicate synonym categories)
-
Routes must follow a consistent structure:
- Goal
- Suggested chapter order
- Expected outcome
-
Do not leave chapters orphaned from discovery navigation (chapter exists but is absent from concepts and routes)
-
When discovery files change, update links in root README files and relevant book README files in both languages in the same cycle
Each book (README.md and README.es.md) must include:
- Book title and author
- Status (reading, completed, revisiting)
- Language portal section to choose English or Spanish
- Quick navigation links for major sections
- Expandable quick map table with chapter links in both languages
- Main topics
- Why this book matters
- Key takeaways
- Table of contents (chapters with links)
- Personal reflections
Key takeaways/Aprendizajes claveorganized by chapter using subsection headings (### Chapter/Capítulo N - ...)Practical applications/Aplicaciones prácticasorganized by chapter using subsection headings (### Chapter/Capítulo N - ...)
When any book content is added or updated (book README or chapter files), both root files README.es.md and README.md must be updated in the same cycle:
- Keep a
Novedades/What's newsection in the root README files - Show only the latest 3 updates in those sections
- Each update entry should link to the affected book/chapter
- Refresh the list order so newest updates appear first
Each chapter must follow the template and include:
- Chapter title
- Core idea
- Key concepts
- Short quotes (optional)
- Personal interpretation
- Practical lessons
- Questions or doubts
- Actions or experiments
- Related notes
When updating an existing book or chapter:
- Do not remove important existing content unless explicitly requested
- Do not replace prior ideas; integrate new information with existing context
- Preserve the history of ideas and keep continuity across updates
- Merge overlaps to avoid duplication while keeping key insights
- If a new idea appears to conflict with earlier notes, add context and clarify tradeoffs instead of deleting prior content
Whenever new notes are added for a chapter:
- Read the full current chapter file before editing
- Review the corresponding book README (
README.es.mdandREADME.md) for sections that should be enriched - Update affected sections (from templates) to keep content coherent and connected
- Keep
Key takeawaysandPractical applicationsin book READMEs grouped by chapter and synchronized in both languages - Improve clarity and grouping where possible, without changing the chapter's core focus
- Keep Spanish as source of truth, then synchronize English in the same cycle
When the agent receives notes:
- Identify the book
- Identify or create the correct chapter
- Create files if they do not exist
- Follow the defined structure and templates
- Always write the Spanish version first
- Then generate the English version
- Maintain navigation links
- Keep formatting consistent
- When updating existing notes, integrate and enrich; do not overwrite prior context
When creating new content:
- Ensure both
.es.mdand.mdfiles exist - Place Spanish chapter files in
/chapters/ES/and English chapter files in/chapters/EN/ - Follow naming conventions strictly
- Do not create duplicate or inconsistent structures
- Do not place files outside the defined structure
- Maintain consistent formatting across all notes
- Reuse templates
- Keep headings predictable and scannable
- Avoid structural deviations
- All original content in this repository is licensed under CC BY 4.0
- CC BY 4.0 applies only to repository-original content, not to third-party quoted material
- Notes are personal interpretations and summaries
- Any referenced material belongs to its respective authors
- Quotes are used for educational and reference purposes only
- Keep quotes short and add attribution when possible (book/chapter/context)
- Do not include full chapters or substantial copyrighted excerpts
For this repository, when the user asks to create/send commits, use this commit identity:
- Name:
duvan botello - Email:
duvanbotello1008@gmail.com
If git config is not modified, pass this identity directly in commit commands (for example with command-level git options) so commits are consistently attributed.
If unsure:
- Prioritize clarity
- Follow the existing structure
- Maintain consistency
- Optimize for future readability and navigation
- Treat the repository as a living knowledge system: every update should improve clarity and preserve important context
This repository is a long-term knowledge system. Act accordingly.