CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What This Repo Is
This is an Obsidian personal knowledge base ("second brain") backed by Git. It is not a software project — there are no build steps, tests, or package managers. Content is authored in Markdown and synced to GitHub via the Obsidian Git community plugin, which creates automatic timestamped backup commits.
Remote: git@github.com:vatsal30/Obsidian_backup.git
Content Organization
Top-level directories map to technical domains:
| Directory | Purpose |
|---|---|
AI & ML/ | LLMs, Langchain, MCP notes |
DSA/ | Data structures, algorithms, interview prep |
FrontEnd/ | JavaScript, React |
Python/ | Core Python, libraries |
System Design/ | Backend patterns, architecture diagrams |
Go/ | Go language docs |
AWS/ | Cloud services |
Work/ | Work-related learning (WebdriverIO, etc.) |
Private/ | Personal roadmap, investments, interview prep (not synced publicly) |
Site Content/ | Homepage content for "Vatsal's Notebook" |
Uncategorized/ | Notes not yet categorized into a domain |
Private/ Sub-structure
Private/Project_2026/ is the active personal tracking area:
Daily Tracker/— daily notes/logsWeekly Tracker/— weekly review notesMonthly Tracker/— monthly review notesPersonal/— investment tracker and personal goalsWork/Projects/— work project notes (e.g., Personal Portfolio)
Private/Archive/ — old task lists, roadmaps, and completed sprint notes moved here when superseded.
File Conventions
Frontmatter — all notes use YAML frontmatter:
---
title: "Title"
category: "Category"
date: "YYYY-MM-DD"
tags: ["tag1", "tag2"]
---
Naming — Title Case or PascalCase (e.g., Dynamic Programming.md, JavaScript.md). Diagrams use Excalidraw format (.excalidraw.md).
.gitignore excludes .obsidian/workspace.json, .obsidian/workspace-mobile.json, .trash/, and .DS_Store.
Git Workflow
- Automated backups are committed by the Obsidian Git plugin with messages like
vault backup: YYYY-MM-DD HH:MM:SS - Manual commits use conventional format:
chore: ...,feat: ... - Do not amend the automated backup commits
Mermaid Diagrams
- Always use
<br/>for line breaks inside Mermaid node labels — never\n - Example:
Node[Line 1<br/>Line 2]✅ —Node[Line 1\nLine 2]❌
Installed Community Plugins
Key plugins that affect how content should be structured:
- obsidian-tasks-plugin — tasks use
- [ ]syntax with due dates (📅 YYYY-MM-DD) - obsidian-excalidraw-plugin — diagrams embedded as
.excalidraw.mdfiles - obsidian-local-rest-api — exposes vault content via local HTTP API (port 27123 by default)
- calendar — daily/weekly notes integration
- table-editor-obsidian — GFM table editing
- obsidian-importer — used to import notes from other formats; no ongoing structural impact
- vscode-editor — enables VS Code keybindings/editing in Obsidian
- obsidian-style-settings — theme customization; no content impact