Back to Notes

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:

DirectoryPurpose
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/logs
  • Weekly Tracker/ — weekly review notes
  • Monthly Tracker/ — monthly review notes
  • Personal/ — investment tracker and personal goals
  • Work/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.md files
  • 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