<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kuldeep Ece 025</title>
    <description>The latest articles on DEV Community by Kuldeep Ece 025 (@kuldeep2282k).</description>
    <link>https://dev.to/kuldeep2282k</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4122597%2Fd574913f-a33d-475c-88ca-ce7972e81d3f.png</url>
      <title>DEV Community: Kuldeep Ece 025</title>
      <link>https://dev.to/kuldeep2282k</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kuldeep2282k"/>
    <language>en</language>
    <item>
      <title>I built a CLI that tells me what to learn next — inside my Obsidian vault</title>
      <dc:creator>Kuldeep Ece 025</dc:creator>
      <pubDate>Thu, 24 Sep 2026 16:51:42 +0000</pubDate>
      <link>https://dev.to/kuldeep2282k/i-built-a-cli-that-tells-me-what-to-learn-next-inside-my-obsidian-vault-4n45</link>
      <guid>https://dev.to/kuldeep2282k/i-built-a-cli-that-tells-me-what-to-learn-next-inside-my-obsidian-vault-4n45</guid>
      <description>&lt;p&gt;I kept running into the same problem while learning: I'd jump into an advanced topic, realize I was missing prerequisites, then forget the basics I'd just learned.&lt;br&gt;
Flashcard apps didn't understand dependencies. Note apps didn't schedule reviews. So I built my own.&lt;br&gt;
It's called PALEE — Personal Active Learning &amp;amp; Evaluation Engine. It's a CLI that lives inside your Obsidian vault and tells you what to study next.&lt;br&gt;
GitHub: &lt;a href="https://github.com/Kuldeep2822k/cli" rel="noopener noreferrer"&gt;https://github.com/Kuldeep2822k/cli&lt;/a&gt; — stars and feedback welcome 🙏&lt;br&gt;
What it does&lt;/p&gt;

&lt;h2&gt;
  
  
  Your vault is the database. No separate DB, no sync headaches. Study state lives in frontmatter:
&lt;/h2&gt;

&lt;p&gt;palee_schema: 1&lt;br&gt;
palee_id: T-docker-volumes&lt;br&gt;
title: "Docker Volumes"&lt;br&gt;
depends_on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;T-docker-basics
topic_mastery: 0.725
ease_factor: 2.36
interval_days: 6
due_at: 2026-01-21
---
Then:
npm install -g &lt;a class="mentioned-user" href="https://dev.to/kuldeep2822k"&gt;@kuldeep2822k&lt;/a&gt;/palee&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;palee config set-vault ~/Documents/Obsidian/Learning&lt;br&gt;
palee adopt "Docker Fundamentals.md"&lt;/p&gt;

&lt;p&gt;palee next&lt;/p&gt;

&lt;h1&gt;
  
  
  → Learn: Pod Lifecycle in Kubernetes
&lt;/h1&gt;

&lt;p&gt;palee test T-pod-lifecycle-k8s&lt;/p&gt;

&lt;h1&gt;
  
  
  AI asks you to explain it (Feynman method), grades you,
&lt;/h1&gt;

&lt;h1&gt;
  
  
  you confirm and it saves mastery
&lt;/h1&gt;

&lt;p&gt;palee progress&lt;/p&gt;

&lt;h1&gt;
  
  
  → 23.45% overall mastery
&lt;/h1&gt;

&lt;p&gt;Three ideas drive it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deterministic core, AI on the edges
SM-2 spaced repetition + a DAG for dependencies. When it says "study this next," you can trace why — what's due, what it unlocks, what depends on it. AI is just a constrained tutor, not the scheduler. It gets read-only tools, you confirm every consequential write.&lt;/li&gt;
&lt;li&gt;Dependency-aware, not just due-date aware
Never study something before its prerequisites. Roadmap imports are validated as a DAG, offline, no network needed.&lt;/li&gt;
&lt;li&gt;Session continuity
Every session is saved as an Obsidian note, plus a 250-word hot memory file. Next time you run palee session start, it resumes where you left off.
The newest bit: --auto-chain + wikilinks
I just added something I'm pretty excited about:
palee adopt --auto-chain
palee roadmap --auto-chain
It resolves [[wikilinks]] in your notes into real dependencies. Write naturally in Obsidian, get a proper learning graph for free.
This was trickier than it sounds:
Independent ## Track sections kept getting merged into one mega-chain — had to scope chaining per-track
Nested folders sorted wrong (01-foundations/03-extras vs 02-linux) — fixed by comparing full path segments
Had to make sure [[diagram.png]] never gets frontmatter written into it
How I built it
TypeScript + Node 22, Commander for CLI, YAML frontmatter for storage
Hand-rolled SM-2 + DAG engine (no black box)
Atomic writes + file locking so it survives concurrent Obsidian edits, Windows and Unix paths
Works with any OpenAI-compatible endpoint for the AI tutor (I use a free tier)
982 tests across 161 suites — including fuzz, fault-injection, and timezone tests, because spaced repetition across timezones is sneaky
Docs are at &lt;a href="https://kuldeep2822k.github.io/cli/" rel="noopener noreferrer"&gt;https://kuldeep2822k.github.io/cli/&lt;/a&gt; if you want the deep dive.
Try it?
npm install -g &lt;a class="mentioned-user" href="https://dev.to/kuldeep2822k"&gt;@kuldeep2822k&lt;/a&gt;/palee
I'm building this in the open and I'd love real feedback. If you use Obsidian for learning, try palee next on your vault and tell me if the recommendation makes sense.
And if you find it interesting, a star on GitHub helps more than you think: &lt;a href="https://github.com/Kuldeep2822k/cli" rel="noopener noreferrer"&gt;https://github.com/Kuldeep2822k/cli&lt;/a&gt;
What are you using to track learning right now? Curious what's worked for you.``&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>showdev</category>
      <category>opensource</category>
      <category>typescript</category>
      <category>obsidian</category>
    </item>
  </channel>
</rss>
