Files
obsidian-claude-pkm/vault-template/.claude/hooks/session-init.sh
Bill Allred 78a822a3df v2.0: Add hooks, agents, skills, rules, and plugin structure
Major modernization to leverage latest Claude Code features:

Plugin Foundation:
- Add .claude-plugin/plugin.json manifest for distribution
- Add .claude/settings.json with permissions and hooks config

Hooks (automatic behaviors):
- SessionStart: Initialize vault environment variables
- PostToolUse: Auto-commit changes after Write/Edit operations

Custom Agents (4):
- note-organizer: Vault organization and link maintenance
- weekly-reviewer: Facilitate weekly review aligned with goals
- goal-aligner: Check daily/weekly alignment with long-term goals
- inbox-processor: GTD-style inbox processing

Skills (3):
- obsidian-vault-ops: Read/write vault files, manage wiki-links
- goal-tracking: Track progress across goal cascade
- daily-workflow: Morning/midday/evening routines

Modular Rules (3):
- markdown-standards: File naming, tags, frontmatter conventions
- productivity-workflow: Goal cascade, daily/weekly planning
- project-management: Project structure and status tracking

Other:
- Add statusline.sh for terminal vault stats display
- Add CLAUDE.local.md.template for personal overrides
- Update CLAUDE.md with new features documentation
- Update all docs with v2.0 features and upgrade guide

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 18:57:48 -08:00

25 lines
726 B
Bash
Executable File

#!/bin/bash
# Session initialization hook for Obsidian PKM vault
# Sets up environment variables for the Claude Code session
# Set vault path (defaults to current directory)
export VAULT_PATH="${VAULT_PATH:-$(pwd)}"
# Date variables for daily operations
export TODAY=$(date +%Y-%m-%d)
export YESTERDAY=$(date -v-1d +%Y-%m-%d 2>/dev/null || date -d "yesterday" +%Y-%m-%d)
export CURRENT_WEEK=$(date +%Y-W%V)
# Daily note path
export DAILY_NOTE="$VAULT_PATH/Daily Notes/$TODAY.md"
# Verify vault structure
if [ ! -f "$VAULT_PATH/CLAUDE.md" ]; then
echo "Note: Not in a vault root directory (no CLAUDE.md found)"
fi
# Output session info
echo "PKM Session initialized"
echo " Vault: $VAULT_PATH"
echo " Today: $TODAY"