S# CLAUDE.md

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

Overview

This is an Obsidian vault — a personal knowledge management system for learning (IT, English) and personal management (journal, plans, projects). The vault is git-tracked via obsidian-git plugin. The .gitignore excludes workspace.json, hotkeys.json, .trash, .DS_Store, .idea/, and node_modules/.

Important: Before answering questions about note organization, tag usage, or frontmatter format, read meta/标签系统设计.md and meta/目录结构说明.md — they contain the canonical design decisions for this vault.

Vault-Wide Rules

  • Treat this repository as an Obsidian vault first, not as a conventional software project. Prioritize note organization, tags, links, directory conventions, and knowledge-base integrity.
  • Before changing note organization, tags, frontmatter, or directory rules, read meta/标签系统设计.md and meta/目录结构说明.md.
  • For newly written or edited notes, use standard Markdown links ([text](path.md)) instead of adding new Obsidian wikilinks ([[note]]).
  • Treat Clippings/ as raw source material. Do not rewrite, reorganize, or move its contents unless explicitly requested.
  • Treat tmp/ as disposable derived output. Generated indexes, audit reports, SQLite databases, and temporary files should go there.
  • Do not modify unrelated personal notes while working on scripts, search tooling, vault governance, or documentation.

Directory Structure

  • next-level-door/ — Primary working directory (daily notes, knowledge summaries, plans, ideas, projects)
  • IT-learning/ — Technical learning notes (Java, Python, English, Obsidian plugins, GNUMake, shell, WeChat Reading)
  • basic-data/ — Templates (basic-data/template/) and hotkey references (basic-data/hotkeys/)
  • meta/ — Knowledge base design documents (tag system, directory rules). Also serves as the LLM Wiki configuration layer (see meta/CLAUDE.md).
  • Clippings/ — Web clippings (raw content clipped from web pages). Serves as the LLM Wiki Raw Sources layer — immutable, read-only for the AI wiki maintainer.
  • wiki/ — LLM Wiki compiled pages — structured, cross-referenced knowledge pages generated from Clippings/ by the AI wiki maintainer. See meta/CLAUDE.md for the wiki maintainer instructions.
  • archives-years/ — Archived notes from previous years

Obsidian Plugins

Key plugins:

  • obsidian-git — Git version control (Ctrl+P → “Git: Commit”)
  • dataview — SQL-like note queries
  • templater-obsidian — Dynamic templates (template folder: basic-data/template/)
  • obsidian-tasks-plugin — Task management with - [ ] checkbox syntax
  • quickadd — Quick note capture
  • obsidian-excalidraw-plugin — Excalidraw diagram integration
  • calendar / calendar-beta — Calendar views

Always use standard Markdown links ([text](path.md)) instead of Obsidian wikilinks ([[note]]). This ensures the notes render correctly on GitHub. Relative paths are preferred.

Note Naming Conventions

Note typeFormatExample
Daily journalYYYY-MM-DD.md2026-04-18.md
Technical learningDescriptivejava-grammar.md
English practiceDate or descriptive2025-06-11.md
Archived notesPreserved2025-03-09.md

Tag System

This vault uses a dual-layer tag system defined in meta/标签系统设计.md:

  • Note type tags (Chinese): #日记 #学习 #项目 #灵感 #计划 #复盘 #知识总结
  • Status tags (Chinese with slash): #状态/进行中 #状态/已完结 #状态/已归档
  • Tech domain tags (English lowercase): #java #python #english #obsidian #gnumake

Minimum requirement: Every note must have at least one note-type tag. Technical notes must include a tech domain tag.

Frontmatter Format

---
tags: [笔记类型, 技术领域, 状态]
aliases: [别名]
---

Templates

Templates live in basic-data/template/ and are invoked via Templater. Current templates:

  • create-note.md — Templater script template for note creation
  • daily.md — Daily journal with goals/completion/reflection sections
  • IT-learning.md — Tech learning note template (tags + summary + body)
  • next-level-door.md — General template for next-level-door subdirectories