Initial commit: Complete Obsidian + Claude Code PKM Starter Kit

- Core structure with README, LICENSE, and .gitignore
- Complete vault template with Goals, Daily Notes, Projects, and Templates
- Cascading goal system (3-year → yearly → monthly → weekly)
- Claude Code integration with custom slash commands
- GitHub Actions workflow for mobile integration
- Comprehensive documentation (setup, customization, workflows, troubleshooting)
- Automation scripts for setup (Unix/Mac and Windows)
- Example content showing system usage
- Self-documenting templates with inline instructions

Ready for users to clone and customize for their personal knowledge management needs.
This commit is contained in:
Bill Allred
2025-08-07 17:11:26 -07:00
commit 3877057f7c
28 changed files with 6178 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
# Daily Note Creator Command
Creates today's daily note from the template, or opens it if it already exists.
## Installation
Copy this file to `.claude/commands/daily.md` in your vault root.
## Usage
```
claude code /daily
```
## Configuration
Customize these paths to match your vault structure:
```javascript
// Path Configuration (customize these)
const DAILY_NOTES_FOLDER = "Daily Notes";
const TEMPLATE_PATH = "Templates/Daily Template.md";
const DATE_FORMAT = "YYYY-MM-DD"; // Change if you prefer different format
```
## What This Command Does
1. **Checks if today's note exists**
- If yes: Opens the existing note
- If no: Creates new note from template
2. **Template Processing**
- Replaces `{{date}}` with today's date
- Replaces `{{date:format}}` with formatted dates
- Handles date arithmetic (e.g., `{{date-1}}` for yesterday)
3. **Automatic Organization**
- Places note in correct folder
- Names file with today's date
- Preserves your template structure
## Template Variables
Your daily template can use these variables:
- `{{date}}` - Today's date in default format
- `{{date:dddd}}` - Day name (e.g., Monday)
- `{{date:MMMM DD, YYYY}}` - Formatted date
- `{{date-1:YYYY-MM-DD}}` - Yesterday's date
- `{{date+1:YYYY-MM-DD}}` - Tomorrow's date
- `{{time}}` - Current time
## Example Workflow
1. Morning routine:
```
claude code /daily
```
Creates today's note with your template
2. Review yesterday:
The template automatically links to yesterday's note
3. Plan tomorrow:
End of day, set tomorrow's priority in the reflection
## Customization Ideas
### Different Date Formats
Change `DATE_FORMAT` to:
- `"YYYY-MM-DD"` - Standard ISO format (recommended)
- `"MM-DD-YYYY"` - US format
- `"DD-MM-YYYY"` - European format
- `"YYYY-MM-DD-ddd"` - Include day abbreviation
### Folder Organization
Organize by month/year:
```javascript
const year = new Date().getFullYear();
const month = String(new Date().getMonth() + 1).padStart(2, '0');
const DAILY_NOTES_FOLDER = `Daily Notes/${year}/${month}`;
```
### Multiple Templates
For different day types:
```javascript
const dayOfWeek = new Date().getDay();
const TEMPLATE_PATH = dayOfWeek === 1
? "Templates/Monday Template.md" // Special Monday template
: "Templates/Daily Template.md"; // Regular template
```
## Troubleshooting
### Note not created?
- Check template path exists
- Verify folder permissions
- Ensure template file is readable
### Wrong date format?
- Adjust `DATE_FORMAT` constant
- Check system date settings
### Links not working?
- Verify date format matches
- Check file naming convention
## Related Commands
- `/weekly` - Create weekly review
- `/push` - Save changes to Git
- `/onboard` - Load context
---
*Command Version: 1.0*
*Compatible with: Claude Code CLI*
**Pro Tip:** Run this as part of your morning routine for consistency!

View File

@@ -0,0 +1,302 @@
# Onboard Command
Loads all CLAUDE.md files from your vault to provide comprehensive context to Claude Code for intelligent assistance.
## Installation
Copy this file to `.claude/commands/onboard.md` in your vault root.
## Usage
```
claude code /onboard
```
For specific project context:
```
claude code /onboard Projects/MyProject
```
## Configuration
Customize context loading:
```javascript
// Configuration
const CLAUDE_FILE_NAME = "CLAUDE.md";
const MAX_DEPTH = 5; // How deep to search for CLAUDE.md files
const INCLUDE_TEMPLATES = false; // Load template files too
const LOAD_RECENT_NOTES = true; // Include last 7 days of daily notes
```
## What This Command Does
1. **Discovers Context Files**
- Searches for all CLAUDE.md files
- Traverses project directories
- Respects depth limits
2. **Loads Hierarchical Context**
- Root CLAUDE.md first (global context)
- Project-specific CLAUDE.md files
- Recent daily notes for current state
3. **Builds Understanding**
- Your personal mission/goals
- Project structures and status
- Workflow preferences
- Custom conventions
## Context Hierarchy
```
vault/
├── CLAUDE.md # [1] Global context - loaded first
├── Projects/
│ ├── Project A/
│ │ └── CLAUDE.md # [2] Project context - loaded second
│ └── Project B/
│ └── CLAUDE.md # [3] Another project context
└── Areas/
└── Health/
└── CLAUDE.md # [4] Area-specific context
```
## CLAUDE.md File Structure
### Root CLAUDE.md Should Include
```markdown
# System Context for Claude
## Personal Mission
[Your life mission/purpose]
## Current Focus
[What you're working on now]
## Preferences
- Writing style: [Formal/Casual/Technical]
- Detail level: [High/Medium/Low]
- Decision making: [Collaborative/Directive]
## Conventions
- File naming: [Your patterns]
- Tag system: [Your tags]
- Workflow: [Your process]
```
### Project CLAUDE.md Should Include
```markdown
# Project: [Name]
## Overview
[What this project is about]
## Current Status
[Where things stand]
## Key Decisions
[Important choices made]
## Next Steps
[What needs to happen]
## Context for Claude
[Specific things Claude should know]
```
## Smart Context Loading
### Recent Activity
Automatically includes:
```javascript
// Last 7 days of daily notes
const recentNotes = getDailyNotes(7);
// Current week's review
const weeklyReview = getCurrentWeekReview();
// Active project updates
const activeProjects = getModifiedProjects(3); // days
```
### Selective Loading
For focused assistance:
```bash
# Load only specific project
claude code /onboard Projects/WebApp
# Load only certain areas
claude code /onboard Areas/Health
# Full context load
claude code /onboard all
```
## Use Cases
### Project Work
```bash
claude code /onboard Projects/MyApp
claude code "Help me refactor the authentication module"
```
### Daily Planning
```bash
claude code /onboard
claude code "Review my goals and suggest today's priorities"
```
### Weekly Review
```bash
claude code /onboard Goals
claude code "Analyze my week and suggest improvements"
```
## Context Variables
Your CLAUDE.md files can include variables:
```markdown
## Variables for Claude
- DEFAULT_LANGUAGE: JavaScript
- TIMEZONE: America/New_York
- WORK_HOURS: 9am-5pm
- PREFERRED_FRAMEWORKS: React, Node.js
- COMMUNICATION_STYLE: Direct and concise
```
Claude will use these for better assistance.
## Advanced Features
### Conditional Context
```markdown
## Context by Day
<!-- IF: Monday -->
Focus on weekly planning and goal setting
<!-- IF: Friday -->
Focus on review and closure
<!-- ENDIF -->
```
### Project Templates
```markdown
## When Creating New Projects
Use this structure:
1. Create project folder
2. Add CLAUDE.md
3. Set up initial files
4. Create project note from template
```
### Workflow Triggers
```markdown
## Automated Workflows
When I say "morning routine":
1. Create daily note
2. Review yesterday's tasks
3. Set today's priority
4. Check calendar
```
## Performance Optimization
### Large Vaults
For vaults with many files:
```javascript
// Limit context loading
const OPTIONS = {
maxFiles: 10,
maxSizePerFile: 50000, // characters
prioritize: ["Goals", "Active Projects"]
};
```
### Caching
Context is cached for session:
```javascript
// Cache duration
const CACHE_DURATION = 3600000; // 1 hour
// Force refresh
claude code /onboard --refresh
```
## Privacy & Security
### Sensitive Information
Never include in CLAUDE.md:
- Passwords or credentials
- Personal identification numbers
- Financial account details
- Private personal information
### Safe Context Examples
✅ "I work in healthcare technology"
✅ "My projects involve web development"
✅ "I prefer morning work sessions"
❌ "My SSN is..."
❌ "My bank account..."
❌ "My private API key..."
## Best Practices
### Keep Context Updated
- Review CLAUDE.md files monthly
- Update after major decisions
- Remove outdated information
- Add new learnings
### Be Specific
- Clear project descriptions
- Specific preferences
- Concrete examples
- Defined conventions
### Hierarchical Information
- Global → Area → Project → Task
- General → Specific
- Strategic → Tactical
## Troubleshooting
### Context Not Loading?
- Check file names (CLAUDE.md exactly)
- Verify file permissions
- Ensure valid markdown
- Check file encoding (UTF-8)
### Too Much Context?
- Use selective loading
- Reduce MAX_DEPTH
- Archive old projects
- Clean up CLAUDE.md files
### Conflicting Instructions?
- More specific overrides general
- Project overrides global
- Recent overrides old
## Integration Examples
### With Daily Command
```bash
claude code /onboard
claude code /daily
# Claude now knows your full context for the daily note
```
### With Push Command
```bash
claude code /onboard
# Make changes with Claude's help
claude code /push "Changes guided by Claude"
```
## Related Commands
- `/daily` - Create daily note
- `/weekly` - Run weekly review
- `/push` - Save to Git
---
*Command Version: 1.0*
*Optimized for: Quick context loading*
**Remember:** Good context leads to better assistance. Keep your CLAUDE.md files current!

View File

@@ -0,0 +1,261 @@
# Git Push Command
Automates the Git workflow to save your notes with a meaningful commit message and push to remote repository.
## Installation
Copy this file to `.claude/commands/push.md` in your vault root.
## Usage
```
claude code /push
```
Or with a custom message:
```
claude code /push "Completed project planning"
```
## Configuration
Customize these settings:
```javascript
// Configuration
const DEFAULT_REMOTE = "origin";
const DEFAULT_BRANCH = "main";
const AUTO_PULL_FIRST = true; // Pull before pushing to avoid conflicts
const INCLUDE_TIMESTAMP = true; // Add timestamp to commit message
```
## What This Command Does
1. **Stages All Changes**
- Adds all modified files
- Includes new files
- Removes deleted files
2. **Creates Smart Commit Message**
- Uses provided message, or
- Auto-generates from changes
- Includes date/time stamp
- Summarizes key modifications
3. **Syncs with Remote**
- Pulls latest changes (if enabled)
- Pushes to remote repository
- Handles merge conflicts gracefully
## Commit Message Format
### Automatic Messages
Based on your changes:
```
Daily note for 2024-01-15 + 3 project updates
- Added: Daily Notes/2024-01-15.md
- Modified: Projects/Learning Spanish/notes.md
- Modified: Goals/2. Monthly Goals.md
```
### With Timestamp
```
[2024-01-15 09:30] Completed weekly review
```
### Manual Message
```
claude code /push "Major project milestone reached"
```
## Smart Features
### Conflict Prevention
```javascript
// Always pull before push
if (AUTO_PULL_FIRST) {
git pull --rebase origin main
}
```
### Change Summary
Analyzes your changes:
- Daily notes added
- Projects modified
- Goals updated
- Templates changed
### Safety Checks
- Verifies Git repository exists
- Checks for uncommitted changes
- Ensures remote is configured
- Validates branch exists
## Workflow Integration
### Morning Routine
```bash
claude code /daily # Create daily note
# ... work on notes ...
claude code /push "Morning planning complete"
```
### End of Day
```bash
# Complete daily reflection
claude code /push # Auto-message with summary
```
### After Weekly Review
```bash
claude code /weekly # Run weekly review
claude code /push "Weekly review - Week 3"
```
## Advanced Options
### Multiple Remotes
```javascript
// Push to multiple remotes
const REMOTES = ["origin", "backup"];
REMOTES.forEach(remote => {
git push remote main
});
```
### Branch-Based Workflow
```javascript
// Create feature branches for projects
const project = "new-feature";
git checkout -b project
git add .
git commit -m message
git push -u origin project
```
### Automated Backups
```javascript
// Schedule automatic pushes
const BACKUP_INTERVAL = 3600000; // 1 hour
setInterval(() => {
git add .
git commit -m "Automated backup"
git push
}, BACKUP_INTERVAL);
```
## Git Configuration
### Initial Setup
```bash
# Initialize repository
git init
# Add remote
git remote add origin https://github.com/username/vault.git
# Set user info
git config user.name "Your Name"
git config user.email "your.email@example.com"
```
### Recommended .gitignore
```
.obsidian/workspace*
.obsidian/cache
.trash/
.DS_Store
```
## Commit Message Best Practices
### Good Messages
- ✅ "Completed Q1 planning and project kickoff"
- ✅ "Daily note: Fixed bug in authentication"
- ✅ "Weekly review - adjusted monthly goals"
### Avoid
- ❌ "Updates"
- ❌ "Changes"
- ❌ "WIP"
## Handling Conflicts
If conflicts occur:
1. **Auto-resolve attempts**
- Favors local changes for notes
- Merges both versions when possible
2. **Manual resolution needed**
- Opens conflict markers
- Prompts for resolution
- Guides through process
## Mobile Sync via GitHub
This enables:
- View notes on GitHub mobile app
- Create issues for tasks
- Review changes on any device
- Emergency access from any browser
## Security Considerations
### Private Repository
Always use private repos for personal notes:
```bash
# GitHub CLI
gh repo create vault --private
# Or via settings
# Repository Settings > Make Private
```
### Sensitive Information
Never commit:
- Passwords
- API keys
- Personal identification
- Financial information
Use `.gitignore` for sensitive files:
```
private/
credentials.md
.env
```
## Troubleshooting
### Push Rejected?
```bash
# Pull first
git pull --rebase origin main
# Then push again
git push origin main
```
### Not a Git Repository?
```bash
# Initialize
git init
# Add remote
git remote add origin [URL]
```
### Large Files Issue?
```bash
# Use Git LFS for images/attachments
git lfs track "*.png"
git lfs track "*.pdf"
```
## Related Commands
- `/daily` - Create daily note
- `/weekly` - Run weekly review
- `/onboard` - Load context
---
*Command Version: 1.0*
*Requires: Git installed and configured*
**Pro Tip:** Commit early and often - your future self will thank you!

View File

@@ -0,0 +1,201 @@
# Weekly Review Command
Facilitates your weekly review process by creating a new review note and helping you reflect on the past week while planning the next.
## Installation
Copy this file to `.claude/commands/weekly.md` in your vault root.
## Usage
```
claude code /weekly
```
## Configuration
Customize these settings for your workflow:
```javascript
// Configuration (customize these)
const WEEKLY_FOLDER = "Goals";
const WEEKLY_TEMPLATE = "Templates/Weekly Review Template.md";
const REVIEW_DAY = 0; // 0=Sunday, 1=Monday, etc.
const TIME_INVESTMENT_TARGET = 30; // minutes for review
```
## What This Command Does
1. **Creates Weekly Review Note**
- Uses weekly review template
- Names it with current week's date
- Places in Goals folder
2. **Guides Review Process**
- Reviews last week's accomplishments
- Identifies incomplete tasks
- Plans upcoming week
- Aligns with monthly goals
3. **Automates Housekeeping**
- Archives old daily notes
- Updates project statuses
- Cleans up completed tasks
## Review Process Steps
### Step 1: Reflection (10 minutes)
- Review daily notes from past week
- Identify wins and challenges
- Capture lessons learned
### Step 2: Goal Alignment (10 minutes)
- Check monthly goal progress
- Adjust weekly priorities
- Ensure alignment with yearly goals
### Step 3: Planning (10 minutes)
- Set ONE big thing for the week
- Schedule important tasks
- Block time for deep work
## Interactive Prompts
The command will guide you through:
1. **"What were your top 3 wins this week?"**
- Celebrates progress
- Builds momentum
- Documents achievements
2. **"What were your main challenges?"**
- Identifies obstacles
- Plans solutions
- Learns from difficulties
3. **"What's your ONE big thing next week?"**
- Forces prioritization
- Creates focus
- Drives meaningful progress
## Weekly Review Checklist
The command helps you:
- [ ] Review all daily notes
- [ ] Process inbox items
- [ ] Update project statuses
- [ ] Check upcoming calendar
- [ ] Review monthly goals
- [ ] Plan next week's priorities
- [ ] Block time for important work
- [ ] Clean digital workspace
- [ ] Archive completed items
- [ ] Commit changes to Git
## Automation Features
### Auto-Archive
Moves daily notes older than 30 days to Archives:
```javascript
const ARCHIVE_AFTER_DAYS = 30;
// Automatically moves old notes to Archives/YYYY/MM/
```
### Project Status Update
Prompts for each active project:
```javascript
// For each project folder:
// - Update completion percentage
// - Note blockers
// - Set next actions
```
### Habit Tracking
Calculates habit success rates:
```javascript
// Counts habit checkboxes from daily notes
// Shows completion percentage
// Identifies patterns
```
## Customization Options
### Different Review Days
```javascript
// For Monday reviews:
const REVIEW_DAY = 1;
// For Friday reviews:
const REVIEW_DAY = 5;
```
### Monthly Reviews
Add monthly review trigger:
```javascript
const today = new Date();
const lastDayOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0).getDate();
if (today.getDate() === lastDayOfMonth) {
// Trigger monthly review too
}
```
### Sprint-Based Reviews
For agile workflows:
```javascript
const SPRINT_LENGTH = 14; // days
const SPRINT_START = new Date('2024-01-01');
// Calculate sprint number and adjust review
```
## Integration with Goals
The command automatically:
- Links to [[2. Monthly Goals]]
- Updates [[1. Yearly Goals]] progress
- Creates new week entry in review log
## Best Practices
### Consistent Timing
- Same day each week
- Same time if possible
- Block calendar time
- Treat as non-negotiable
### Preparation
- Clean inbox before review
- Have calendar ready
- Gather project updates
- Review any feedback
### Follow-through
- Share highlights with team/family
- Update external systems
- Communicate changes
- Celebrate wins
## Troubleshooting
### Review not created?
- Check template exists
- Verify folder structure
- Ensure write permissions
### Links broken?
- Verify file naming
- Check date formats
- Update link syntax
### Too time-consuming?
- Use timer for each section
- Prepare throughout week
- Simplify template
## Related Commands
- `/daily` - Create daily note
- `/push` - Commit to Git
- `/onboard` - Load all context
---
*Command Version: 1.0*
*Optimal Time: Sunday evening or Monday morning*
**Remember:** The best review is the one you actually do. Keep it simple and consistent!