Skip to content

Getting Started

Relevant Source Files

This page provides a technical guide for installing and configuring PALEE (Personal Active Learning & Evaluation Engine). It covers the global installation process, vault connection, and the configuration of AI providers.

Installation

PALEE is distributed as a global npm package. It requires Node.js ≥ 22planning/palee_cli_spec.md#9-14

npm install -g @kuldeep2822k/palee

Upon installation, the palee binary becomes available. The CLI uses standard exit codes for scripting: 0 for success, 2 for usage errors, and 4 for optimistic concurrency conflicts README.md#190-198

Sources:README.md#17-20planning/palee_cli_spec.md#9-14planning/palee_cli_spec.md#83


Initial Configuration

PALEE requires a connection to an Obsidian vault to function, as the vault serves as the canonical source of truth planning/palee_cli_spec.md#26-27

1. Connecting a Vault

The palee config set-vault <path> command validates that the provided path exists and is a directory before saving it to the global configuration src/cli/config.ts#63-84

palee config set-vault ~/Documents/Obsidian/Learning

2. AI Provider Setup (Optional)

While PALEE's core engine is deterministic, advanced features like Feynman testing require an OpenAI-compatible API endpoint README.md#27-33

palee config set-provider "https://opencode.ai/zen/v1"
palee config set-model "nemotron-3-ultra-free"
# API Key is prompted or set via environment variables

3. Verifying Configuration

Use palee config show to view the active configuration. For security, the api_key is never printed to the console src/cli/config.ts#54-61

Sources:src/cli/config.ts#52-121README.md#22-33planning/palee_cli_spec.md#77-79


Configuration Data Flow

The configuration is managed by the configCommand handler and persisted in a platform-specific config.json file.

Configuration Persistence Mapping

PlatformPath
Windows%LOCALAPPDATA%\palee\config.json
Unix/macOS~/.config/palee/config.json
Overrideprocess.env.PALEE_CONFIG_DIR

Sources:src/cli/config.ts#11-25README.md#199-203

Implementation Diagram: Configuration Logic

This diagram traces how configCommand interacts with the PaleeConfig interface and the file system.

Sources:src/cli/config.ts#52-121src/cli/config.ts#9src/types.ts#1-20


Adopting Your First Topic

Once configured, you must "adopt" existing Markdown files into the PALEE system. This process injects the necessary YAML frontmatter without destroying existing note content planning/palee_cli_spec.md#32-33

palee adopt "Docker Fundamentals.md" --difficulty beginner

The Adoption Process

  1. Path Validation: The CLI ensures the file is within the configured vault and prevents path traversal test/cli-commands.test.ts#66-72
  2. Frontmatter Injection: The updateFrontmatter utility adds palee_id, palee_schema, and initial SM-2 metrics (e.g., ease_factor: 2.5) src/cli/review.ts#90-93planning/example_workflows.md#27-50
  3. Atomic Write: The system uses atomicWrite with a SHA-256 fingerprint check to prevent overwriting concurrent manual edits in Obsidian src/cli/review.ts#91-93

Data Entity Relationship: CLI to Topic

This diagram shows how a CLI command transforms a standard Markdown file into a PALEE Topic entity.

Sources:src/cli/review.ts#38-54src/cli/review.ts#80-93src/storage/frontmatter.ts#1-50src/storage/atomic-write.ts#1-30


Summary of First Commands

CommandTechnical ActionSource
palee nextCalculates the highest priority topic based on SM-2 due_at and dependency readiness.README.md#100
palee planAggregates a list of topics, filtering for satisfied prerequisites via areDependenciesSatisfied.README.md#101
palee progressScans the vault via walkVault and aggregates topic_mastery across all tracks.README.md#102
palee dashboardProvides a high-level summary of vault health, including total topics and due reviews.test/cli-commands.test.ts#166-173

Sources:README.md#96-116test/cli-commands.test.ts#166-188src/cli/review.ts#22-113

Released under the MIT License.