Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,10 +149,12 @@ The `.docx` and `.pptx` formats are no longer emitted. Printed handouts (lecture
notes, Cornell handout, quiz) render to PDF via `pdflatex`; the slide deck is Slidev
Markdown. Exams are built by lectern, not here.

## Required npm/pip Dependencies (user installs once)
## Required npm/pip Dependencies (installed once, at the vault PARENT when in-vault)

⚠️ **NEVER run `npm install` inside an Obsidian vault.** When this skill is checked out inside a vault, an in-vault `node_modules/` crash-loops Obsidian sync (inotify watch exhaustion). Install **one level above the vault** at `documents/obsidian/node_modules`; Node's upward module resolution finds them automatically, so you normally install nothing. If a (re)install is truly needed, target the parent:

```bash
npm install
npm install --prefix "$(cd <vault>/.. && pwd)" # vault PARENT, never the skill dir
```

`pptxgenjs` and `docx` are no longer dependencies. The slides generator emits Slidev
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,11 @@ Then, once per clone:
npm install
```

> ⚠️ **If this checkout lives inside an Obsidian vault** (e.g. `vault/skills/…`), do **not**
> run `npm install` here — an in-vault `node_modules/` crash-loops Obsidian sync. Install at
> the vault parent instead: `npm install --prefix "$(cd <vault>/.. && pwd)"`. Node resolves the
> parent `node_modules` upward automatically, so usually you install nothing.

---

## Repository layout
Expand Down
5 changes: 3 additions & 2 deletions SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,10 @@ Workflow:
node generate.js --main <vault>/classes/<course>/<topic>_lecture_main.md --out .
```

**Dependencies** (install once per skill checkout):
**Dependencies** — ⚠️ **NEVER run `npm install` inside the vault.** When this skill is checked out *inside* an Obsidian vault (e.g. `vault/skills/…`), an in-vault `node_modules/` (thousands of files) blows the inotify watch limit and crash-loops Obsidian sync. Install **once at the vault parent** (`documents/obsidian/node_modules`, one level *above* `<vault>/`). Node's upward module resolution finds them from the skill dir automatically — so normally you install **nothing**. If you ever must (re)install, target the parent explicitly:
```bash
npm install
# install to the vault PARENT — never the skill dir:
npm install --prefix "$(cd <vault>/.. && pwd)"
```

A LaTeX toolchain with `pdflatex` is required for the lecture-notes, Cornell, and
Expand Down
Loading