Files
obsidian-claude-pkm/vault-template/.claude/commands/push.md
Bill Allred 3877057f7c 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.
2025-08-07 17:11:26 -07:00

4.8 KiB

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:

// 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

// 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

claude code /daily          # Create daily note
# ... work on notes ...
claude code /push "Morning planning complete"

End of Day

# Complete daily reflection
claude code /push           # Auto-message with summary

After Weekly Review

claude code /weekly         # Run weekly review
claude code /push "Weekly review - Week 3"

Advanced Options

Multiple Remotes

// Push to multiple remotes
const REMOTES = ["origin", "backup"];
REMOTES.forEach(remote => {
  git push remote main
});

Branch-Based Workflow

// 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

// 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

# 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"
.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:

# 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?

# Pull first
git pull --rebase origin main
# Then push again
git push origin main

Not a Git Repository?

# Initialize
git init
# Add remote
git remote add origin [URL]

Large Files Issue?

# Use Git LFS for images/attachments
git lfs track "*.png"
git lfs track "*.pdf"
  • /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!