docs: add documentation and sync script
- CLAUDE.md: guidance for Claude Code AI - README.md: repository overview and structure - QUICKSTART.md: setup and usage guide - SUMMARY.md: inventory of workflows and snippets - alfred-sync.sh: git sync script for Alfred preferences Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
64
CLAUDE.md
Normal file
64
CLAUDE.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Repository Overview
|
||||
|
||||
This is an Alfred preferences sync repository. It contains Alfred workflows, snippets, and preferences that are version-controlled via git and synced across machines.
|
||||
|
||||
**Directory Structure:**
|
||||
- `Alfred.alfredpreferences/` - Main Alfred preferences package
|
||||
- `workflows/` - Alfred workflows (UUID-named directories, each containing `info.plist`)
|
||||
- `snippets/` - Text snippet collections (JSON files with Alfred snippet format)
|
||||
- `preferences/` - General Alfred preferences (`prefs.plist`, features, etc.)
|
||||
- `resources/` - Alfred resources (icons, images)
|
||||
- `remote/` - Remote sync data
|
||||
- `alfred-sync.sh` - Git sync script
|
||||
|
||||
## Syncing Changes
|
||||
|
||||
To commit and push Alfred preference changes:
|
||||
|
||||
```bash
|
||||
./alfred-sync.sh
|
||||
```
|
||||
|
||||
This script stages all changes, creates a timestamped commit, and pushes to the remote repository.
|
||||
|
||||
## Alfred Workflow Structure
|
||||
|
||||
Each workflow is stored in `workflows/user.workflow.{UUID}/` and contains:
|
||||
- `info.plist` - Main workflow configuration (name, objects, connections, script definitions)
|
||||
|
||||
Workflows are defined as XML plist files containing:
|
||||
- Workflow metadata (name, bundleid, createdby)
|
||||
- Objects (script actions, inputs, outputs, notifications)
|
||||
- Connections between objects
|
||||
- UI layout data (uidata)
|
||||
|
||||
## Snippet Collections
|
||||
|
||||
Snippets are organized in themed collections under `snippets/`:
|
||||
- `術語速查字典/` - Technical terminology cheat sheets
|
||||
- `中文輸出速查/` - Chinese text output shortcuts
|
||||
- `特殊字元輸出集/` - Special character collections
|
||||
- `topsecret/` - Sensitive credentials (be cautious when committing)
|
||||
|
||||
Each snippet is a JSON file with the structure:
|
||||
```json
|
||||
{
|
||||
"alfredsnippet": {
|
||||
"snippet": "expansion text",
|
||||
"uid": "UUID",
|
||||
"name": "display name",
|
||||
"keyword": "trigger keyword"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- The `Alfred.alfredpreferences` directory is macOS package format
|
||||
- Workflow UUIDs are generated by Alfred and should not be changed
|
||||
- When editing workflows, ensure plist XML syntax remains valid
|
||||
- Be mindful of sensitive data in snippets (especially `topsecret/` collection)
|
||||
79
QUICKSTART.md
Normal file
79
QUICKSTART.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Quick Start
|
||||
|
||||
Get your Alfred preferences synced in a few steps.
|
||||
|
||||
## Initial Setup
|
||||
|
||||
### 1. Clone the Repository
|
||||
|
||||
```bash
|
||||
git clone <your-repo-url> ~/Sync/AlfredPrefs
|
||||
cd ~/Sync/AlfredPrefs
|
||||
```
|
||||
|
||||
### 2. Link Alfred Preferences
|
||||
|
||||
Replace Alfred's default preferences with a symlink to this repository:
|
||||
|
||||
```bash
|
||||
# Backup existing preferences first (if they exist)
|
||||
mv ~/Library/Application\ Support/Alfred/Alfred.alfredpreferences \
|
||||
~/Library/Application\ Support/Alfred/Alfred.alfredpreferences.backup
|
||||
|
||||
# Create the symlink
|
||||
ln -s ~/Sync/AlfredPrefs/Alfred.alfredpreferences \
|
||||
~/Library/Application\ Support/Alfred/Alfred.alfredpreferences
|
||||
```
|
||||
|
||||
### 3. Restart Alfred
|
||||
|
||||
Quit and relaunch Alfred. Your workflows and snippets will now be loaded from this repository.
|
||||
|
||||
## Daily Usage
|
||||
|
||||
### Sync Your Changes
|
||||
|
||||
After modifying workflows or snippets in Alfred:
|
||||
|
||||
```bash
|
||||
cd ~/Sync/AlfredPrefs
|
||||
./alfred-sync.sh
|
||||
```
|
||||
|
||||
That's it! Your changes are now committed and pushed.
|
||||
|
||||
### Pull Changes from Another Machine
|
||||
|
||||
```bash
|
||||
cd ~/Sync/AlfredPrefs
|
||||
git pull
|
||||
```
|
||||
|
||||
Then restart Alfred to load the updated preferences.
|
||||
|
||||
## Sync Script
|
||||
|
||||
The `alfred-sync.sh` script does the following:
|
||||
|
||||
```bash
|
||||
cd /Users/timmy/Sync/AlfredPrefs
|
||||
git add -A
|
||||
git commit -m "sync YYYY-MM-DD HH:MM"
|
||||
git push
|
||||
```
|
||||
|
||||
Customize the path in the script if your repository location differs.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**Alfred doesn't show new workflows**
|
||||
- Restart Alfred from the menu bar
|
||||
- Check that the symlink is correctly created
|
||||
|
||||
**Sync fails**
|
||||
- Ensure you have git access to the repository
|
||||
- Check your SSH keys or authentication
|
||||
|
||||
**Changes not appearing**
|
||||
- Run `git pull` to get latest changes
|
||||
- Restart Alfred after pulling
|
||||
79
README.md
Normal file
79
README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Alfred Preferences Sync
|
||||
|
||||
This repository contains synchronized Alfred preferences, including workflows, snippets, and configurations. The setup allows for easy backup and synchronization across multiple Mac machines.
|
||||
|
||||
## Overview
|
||||
|
||||
Alfred is a productivity application for macOS. This repository uses git to version-control and sync:
|
||||
|
||||
- **Workflows** - Custom automation scripts and workflows
|
||||
- **Snippets** - Text expansion collections organized by theme
|
||||
- **Preferences** - Alfred application settings
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
AlfredPrefs/
|
||||
├── Alfred.alfredpreferences/ # Main Alfred preferences package
|
||||
│ ├── workflows/ # Alfred workflows (UUID directories)
|
||||
│ ├── snippets/ # Text snippet collections
|
||||
│ ├── preferences/ # General settings
|
||||
│ ├── resources/ # Icons and assets
|
||||
│ └── remote/ # Sync metadata
|
||||
└── alfred-sync.sh # Sync script
|
||||
```
|
||||
|
||||
## Cloning to a New Machine
|
||||
|
||||
1. Clone this repository:
|
||||
```bash
|
||||
git clone <repository-url> ~/Sync/AlfredPrefs
|
||||
```
|
||||
|
||||
2. Symlink to Alfred's expected location (if needed):
|
||||
```bash
|
||||
ln -s ~/Sync/AlfredPrefs/Alfred.alfredpreferences ~/Library/Application\ Support/Alfred/Alfred.alfredpreferences
|
||||
```
|
||||
|
||||
3. Restart Alfred to load the preferences
|
||||
|
||||
## Syncing Changes
|
||||
|
||||
After making changes to Alfred workflows or snippets:
|
||||
|
||||
```bash
|
||||
cd ~/Sync/AlfredPrefs
|
||||
./alfred-sync.sh
|
||||
```
|
||||
|
||||
This will:
|
||||
- Stage all changes
|
||||
- Create a timestamped commit
|
||||
- Push to the remote repository
|
||||
|
||||
## Workflows Included
|
||||
|
||||
| Workflow Name | Description |
|
||||
|--------------|-------------|
|
||||
| 無腦生密碼 | Password generator (easy to read/all characters) |
|
||||
| TextTaiwanizer | Convert text to Taiwan-style Chinese |
|
||||
| 盤古之白自動加空格 | Auto-add spaces between Chinese and English |
|
||||
| 使用Prettier自動格式化程式碼 | Prettier code formatter |
|
||||
| 使用urldecode解碼URL編碼字串 | URL decoder |
|
||||
| Office 滅證 | Office metadata cleaner |
|
||||
|
||||
## Snippet Collections
|
||||
|
||||
- **術語速查字典** - Technical terminology (SQL, Oracle, Docker, etc.)
|
||||
- **中文輸出速查** - Chinese text expansion shortcuts
|
||||
- **特殊字元輸出集** - Special character collections
|
||||
- **常用密碼快速鍵** - Password shortcuts
|
||||
- Various tool-specific collections (Homebrew, Docker, VS Code, etc.)
|
||||
|
||||
## Caution
|
||||
|
||||
Some snippet collections contain sensitive information (e.g., `topsecret/`). Be mindful when committing and sharing this repository.
|
||||
|
||||
## License
|
||||
|
||||
Personal use only.
|
||||
85
SUMMARY.md
Normal file
85
SUMMARY.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# Repository Summary
|
||||
|
||||
Alfred Preferences Sync - A git-based synchronization setup for Alfred workflows, snippets, and preferences across multiple Mac machines.
|
||||
|
||||
## Contents
|
||||
|
||||
### Workflows (6 total)
|
||||
|
||||
| ID | Name | Bundle ID |
|
||||
|----|------|-----------|
|
||||
| 35C994AB... | 無腦生密碼 | DELL |
|
||||
| 60982561... | 使用Prettier自動格式化程式碼 | - |
|
||||
| 88DDE590... | Office 滅證 | com.timmy.officecleaner |
|
||||
| CB674C87... | 使用urldecode解碼URL編碼字串 | - |
|
||||
| D7139EE1... | 盤古之白自動加空格 | - |
|
||||
| F776EB14... | TextTaiwanizer | - |
|
||||
|
||||
### Snippet Collections (30+ categories)
|
||||
|
||||
**Chinese/Text Collections:**
|
||||
- 中文輸出速查 - Chinese vocabulary and phrases
|
||||
- 術語速查字典 - Technical terminology (SQL, Oracle, Marketing, etc.)
|
||||
- 特殊字元輸出集 - Special characters
|
||||
- 日本語 - Japanese snippets
|
||||
|
||||
**Tool-Specific Collections:**
|
||||
- Docker
|
||||
- Homebrew 工具箱
|
||||
- Podman
|
||||
- Lima
|
||||
- Visual Studio Code
|
||||
- gcloud
|
||||
- pyenv
|
||||
- pipenv
|
||||
- Supervisor 管理工具
|
||||
- OpenWrt UCI 工具箱
|
||||
- Sudo 管理小幫手
|
||||
- Tone & Prompt 工具箱
|
||||
|
||||
**Other Collections:**
|
||||
- 常用密碼快速鍵
|
||||
- Note
|
||||
- alias
|
||||
- cmd
|
||||
- 寶可夢
|
||||
- 標籤
|
||||
- topsecret (credentials)
|
||||
|
||||
### Preferences
|
||||
|
||||
- `prefs.plist` - Main Alfred preferences (location: Taiwan)
|
||||
- Features and workflow configurations
|
||||
|
||||
## Files
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `alfred-sync.sh` | Git sync script (add, commit, push) |
|
||||
| `Alfred.alfredpreferences/` | Alfred preferences package |
|
||||
| `CLAUDE.md` | Guidance for Claude Code AI |
|
||||
| `README.md` | Repository overview |
|
||||
| `QUICKSTART.md` | Quick start guide |
|
||||
| `SUMMARY.md` | This file |
|
||||
|
||||
## Quick Commands
|
||||
|
||||
```bash
|
||||
# Sync changes
|
||||
./alfred-sync.sh
|
||||
|
||||
# Pull latest changes
|
||||
git pull
|
||||
|
||||
# Check workflow names
|
||||
for dir in Alfred.alfredpreferences/workflows/*/; do
|
||||
plutil -p "$dir/info.plist" | grep "name"
|
||||
done
|
||||
```
|
||||
|
||||
## Technical Details
|
||||
|
||||
- **Format**: XML plist for workflows, JSON for snippets
|
||||
- **Sync Method**: Git with manual sync script
|
||||
- **Alfred Version**: Compatible with Alfred 4+
|
||||
- **macOS Location**: `~/Library/Application Support/Alfred/`
|
||||
5
alfred-sync.sh
Executable file
5
alfred-sync.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
cd /Users/timmy/Sync/AlfredPrefs
|
||||
git add -A
|
||||
git commit -m "sync $(date '+%Y-%m-%d %H:%M')"
|
||||
git push
|
||||
Reference in New Issue
Block a user