Skip to content

AGENTS.md

This file provides guidance to Codex (Codex.ai/code) when working with code in this repository.

What This Repo Is

A personal Obsidian vault and school notes repository organized using the Johnny Decimal system. All notes are Markdown files managed with Obsidian (with Git sync via the obsidian-git plugin). The repo spans high school through UC Berkeley coursework.

Johnny Decimal Rules

  • IDs are globally unique across the vault — an ID like 83.21 refers to exactly one thing.
  • Maximum depth: an ID folder plus at most one working subfolder inside it.
  • New notes land in 00_INBOX/ and are filed to their proper ID via the JDex (00_System/00.00_JDex.md).

Directory Structure

The top-level folders follow the Johnny Decimal numbering convention:

  • 00_INBOX/ — landing zone for new notes (Obsidian's newFileFolderPath in app.json)
  • 00_System/00.00_JDex.md (master index; IDs 00.0100.08 are retired — cross-area connections live as ## Related sections directly in the notes)
  • 20_Creations/ — personal projects: software (21_Software: 21.01_Authorship_for_stck, 21.02_OSINT), writing (22_Writing), website (23_Website)
  • 30_Obsidian/ — vault configuration: templates (31_Templates), attachments (32_Attachments, the attachment folder per app.json)
  • 60_Professional/61_Tanzania, 62_SWDB, 63_Internships (63.01_Fluxon, 63.02_Cover_Letters), 64_Competitions, 65_Applications (65.10_Practice_Essays, 65.20_Supplementals, 65.80_LaTeX, 65.99_Research), 66_to_be_blog, 69_Misc_Emails
  • 70_Sources/71_Articles, 72_Books, 73_Research (73.0173.04), 74_Slurped_Pages
  • 80_Education/ — all academic notes:
  • 81_High_School/ — courses as flat IDs: 81.0181.09 sophomore year, 81.1181.19 junior year, 81.2181.28 senior year, 81.90_College_Counseling; year index notes at 81.00_Sophomore_Year.md, 81.10_Junior_Year.md, 81.20_Senior_Year.md
  • 83_University/ — UC Berkeley; the tens digit encodes the term: Fa25 = 83.11_CS61A, 83.12_COLWRITR4A, 83.13_THRUST; Sp26 = 83.21_CS61B, 83.22_CS70, 83.23_Math_54; Su26 = 83.31_CS188, 83.32_STAR_Research; plus 83.91_Avionics_Notes; term index notes at 83.10_Fa25.md, 83.20_Sp26.md, 83.30_Su26.md, 83.90_STAR.md
  • 90_Personal/91_Daily_Notes, 92_Important_Docs, 93_Graphics
  • _to_delete/ — emptied wrapper folders from the renumbering, pending manual deletion; gitignored

Current active courses (Spring 2026): CS61B (83.21), CS70 (83.22), Math 54 (83.23). Summer courses (formerly 82_Summer_Courses) no longer exist in the tree.

Note Frontmatter Convention

All notes use YAML frontmatter with at minimum:

---
tags: [tag1, tag2]
---
and at maximum:

---
tags: [tag1, tag2]
title: <title>
datecreated: YYYY-MM-DD
datemodified: YYYY-MM-DD
---

Obsidian Setup

Links are wikilinks using the "shortest path" link format (useMarkdownLinks: false, newLinkFormat: "shortest" in app.json), so renames/moves rely on Obsidian's link updating — avoid moving notes outside Obsidian without fixing links.

Key community plugins in use: - Templater — templates live in 30_Obsidian/31_Templates/; daily note template includes task queries - Tasks — task tracking with due dates, queried in the daily note template - obsidian-git — auto-commits vault changes (commit messages follow the pattern seen in git log: auto vault backup: YYYY-MM-DD HH:MM:SS) - LaTeX Suite / Quick LaTeX — math note support - Slides Extended — presentation mode for notes

The .obsidian/ directory is partially gitignored (workspace state, plugin binaries, appearance excluded; config files like app.json, hotkeys.json, core-plugins.json are tracked).

Git Workflow

Auto-commits are made by the obsidian-git plugin on a schedule. Manual commits for script changes or structural reorganization should be made separately. There are no git submodules (the former summer-course submodules were removed with 82_Summer_Courses). The .gitignore excludes .obsidian/plugins/, .smart-connections/, .trash/, .DS_Store files, and _to_delete/.