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.21refers 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'snewFileFolderPathinapp.json)00_System/—00.00_JDex.md(master index; IDs00.01–00.08are retired — cross-area connections live as## Relatedsections 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 perapp.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_Emails70_Sources/—71_Articles,72_Books,73_Research(73.01–73.04),74_Slurped_Pages80_Education/— all academic notes:81_High_School/— courses as flat IDs:81.01–81.09sophomore year,81.11–81.19junior year,81.21–81.28senior year,81.90_College_Counseling; year index notes at81.00_Sophomore_Year.md,81.10_Junior_Year.md,81.20_Senior_Year.md83_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; plus83.91_Avionics_Notes; term index notes at83.10_Fa25.md,83.20_Sp26.md,83.30_Su26.md,83.90_STAR.md90_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]
---
---
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/.