441 lines
18 KiB
JSON
441 lines
18 KiB
JSON
{
|
|
"userName": "windy",
|
|
"enableBlocklist": true,
|
|
"blockedCommands": {
|
|
"unix": [
|
|
"rm -rf",
|
|
"chmod 777",
|
|
"chmod -R 777"
|
|
],
|
|
"windows": [
|
|
"del /s /q",
|
|
"rd /s /q",
|
|
"rmdir /s /q",
|
|
"format",
|
|
"diskpart",
|
|
"Remove-Item -Recurse -Force",
|
|
"Remove-Item -Force -Recurse",
|
|
"Remove-Item -r -fo",
|
|
"Remove-Item -fo -r",
|
|
"Remove-Item -Recurse",
|
|
"Remove-Item -r",
|
|
"ri -Recurse",
|
|
"ri -r",
|
|
"ri -Force",
|
|
"ri -fo",
|
|
"rm -r -fo",
|
|
"rm -Recurse",
|
|
"rm -Force",
|
|
"del -Recurse",
|
|
"del -Force",
|
|
"erase -Recurse",
|
|
"erase -Force",
|
|
"rd -Recurse",
|
|
"rmdir -Recurse",
|
|
"Format-Volume",
|
|
"Clear-Disk",
|
|
"Initialize-Disk",
|
|
"Remove-Partition"
|
|
]
|
|
},
|
|
"model": "sonnet",
|
|
"enableAutoTitleGeneration": true,
|
|
"titleGenerationModel": "",
|
|
"thinkingBudget": "low",
|
|
"permissionMode": "normal",
|
|
"lastNonPlanPermissionMode": "normal",
|
|
"permissions": [
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "mkdir -p \"03_Resources/Articles\" \"03_Resources/Books\" \"03_Resources/Concepts\" \"03_Resources/People\" \"03_Resources/Tools\" \"03_Resources/Quotes\" \"03_Resources/Examples\" \"03_Resources/Learning\"",
|
|
"approvedAt": 1767579982085,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "mkdir -p \"06_Metadata/Reference\" \"06_Metadata/Templates\" \"06_Metadata/Agents\" \"06_Metadata/Workflows\" \"06_Metadata/Archive\"",
|
|
"approvedAt": 1767580054324,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "if [ -f .gitignore ]; then echo \"EXISTS\"; else echo \"NOT_FOUND\"; fi",
|
|
"approvedAt": 1767587601599,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "mkdir -p 03_Resources/Prompt-Library",
|
|
"approvedAt": 1767592134447,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "03_Resources/Prompt-Library/Gemini 图片生成提示词模板.md",
|
|
"approvedAt": 1767592217296,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "03_Resources/Prompt-Library/README.md",
|
|
"approvedAt": 1767592256349,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "mv \"01_Projects/AI-Development/Prompt-Library/baibot-system-prompts.md\" \"03_Resources/Prompt-Library/\" && mv \"01_Projects/AI-Development/Prompt-Library/cycling-training-prompt.md\" \"03_Resources/Prompt-Library/\" && mv \"01_Projects/AI-Development/Prompt-Library/dev-engineering-rules.md\" \"03_Resources/Prompt-Library/\" && mv \"01_Projects/AI-Development/Prompt-Library/movie-review-prompt.md\" \"03_Resources/Prompt-Library/\"",
|
|
"approvedAt": 1767592881054,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "rmdir \"01_Projects/AI-Development/Prompt-Library\"",
|
|
"approvedAt": 1767592895883,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Edit",
|
|
"pattern": "03_Resources/Prompt-Library/README.md",
|
|
"approvedAt": 1767592921581,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "03_Resources/Prompt-Library/baibot-system-prompts.md",
|
|
"approvedAt": 1767593197954,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "python3 << 'EOF'\nimport os\nimport re\n\nchinese_pattern = re.compile(r'[\\u4e00-\\u9fff]+')\nchinese_files = []\n\nfor root, dirs, files in os.walk('.'):\n # 跳过隐藏目录\n dirs[:] = [d for d in dirs if not d.startswith('.')]\n \n for file in files:\n if chinese_pattern.search(file):\n full_path = os.path.join(root, file)\n chinese_files.append(full_path)\n\nfor f in sorted(chinese_files):\n print(f)\nEOF",
|
|
"approvedAt": 1767593330771,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "python << 'EOF'\nimport os\nimport re\n\nchinese_pattern = re.compile(r'[\\u4e00-\\u9fff]+')\nchinese_files = []\n\nfor root, dirs, files in os.walk('.'):\n # 跳过隐藏目录\n dirs[:] = [d for d in dirs if not d.startswith('.')]\n \n for file in files:\n if chinese_pattern.search(file):\n full_path = os.path.join(root, file)\n chinese_files.append(full_path)\n\nprint(f\"Found {len(chinese_files)} files with Chinese characters:\\n\")\nfor f in sorted(chinese_files):\n print(f)\nEOF",
|
|
"approvedAt": 1767593392020,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": ".scripts/scan-vault-para.ps1",
|
|
"approvedAt": 1767593508230,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": ".scripts/rename-chinese-to-english.ps1",
|
|
"approvedAt": 1767593891436,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "powershell -ExecutionPolicy Bypass -File \".\\.scripts\\rename-chinese-to-english.ps1\"",
|
|
"approvedAt": 1767593905094,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": ".scripts/rename-chinese-to-english.py",
|
|
"approvedAt": 1767594043665,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "python .scripts/rename-chinese-to-english.py",
|
|
"approvedAt": 1767594060348,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Edit",
|
|
"pattern": ".scripts/rename-chinese-to-english.py",
|
|
"approvedAt": 1767594101469,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "python .scripts/rename-chinese-to-english.py --execute",
|
|
"approvedAt": 1767594252544,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "python .scripts/rename-chinese-to-english.py --execute 2>&1 | grep -E \"^\\[\" | tail -30",
|
|
"approvedAt": 1767594293947,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "ls 00_Inbox/*.md 2>&1 | head -5",
|
|
"approvedAt": 1767604467950,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "ls 03_Resources/*.md 2>&1 | head -5",
|
|
"approvedAt": 1767604961692,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": ".claude/project-instructions.md",
|
|
"approvedAt": 1767605314357,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Edit",
|
|
"pattern": "2026-01-05.md",
|
|
"approvedAt": 1767605423829,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "WebFetch",
|
|
"pattern": "{\"url\":\"https://silentvoid13.github.io/Templater\",\"prompt\":\"提取Templater插件的主要功能、安装方法、基本使用方式和核心语法\"}",
|
|
"approvedAt": 1767605778052,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Templater使用指南.md",
|
|
"approvedAt": 1767606555612,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "mkdir -p \"06_Metadata/Templates\"",
|
|
"approvedAt": 1767606562910,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Templates/daily-note.md",
|
|
"approvedAt": 1767606599739,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Templates/project.md",
|
|
"approvedAt": 1767606602396,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Templates/meeting.md",
|
|
"approvedAt": 1767606604749,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Templates/quick-note.md",
|
|
"approvedAt": 1767606606848,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Templates/book-note.md",
|
|
"approvedAt": 1767606608965,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Templates/person.md",
|
|
"approvedAt": 1767606610745,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Templater配置指南.md",
|
|
"approvedAt": 1767606650610,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Templater快速参考.md",
|
|
"approvedAt": 1767606680611,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "cd 06_Metadata && mv \"Templater使用指南.md\" \"Templater-User-Guide.md\" && mv \"Templater配置指南.md\" \"Templater-Setup-Guide.md\" && mv \"Templater快速参考.md\" \"Templater-Quick-Reference.md\"",
|
|
"approvedAt": 1767606719668,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "ls -lh 06_Metadata/*.md",
|
|
"approvedAt": 1767606724364,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Edit",
|
|
"pattern": "06_Metadata/Templater-Setup-Guide.md",
|
|
"approvedAt": 1767606758871,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Edit",
|
|
"pattern": "06_Metadata/Templater-Quick-Reference.md",
|
|
"approvedAt": 1767606763446,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "06_Metadata/Obsidian-Plugins-Manual.md",
|
|
"approvedAt": 1767608585967,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "git remote remove origin 2>&1 || echo \"no origin to remove\"",
|
|
"approvedAt": 1767616810536,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "pnpm install",
|
|
"approvedAt": 1767616837185,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "mkdir -p 00_Inbox 01_Projects 02_Areas 03_Resources 04_Archive 05_Attachments/Organized 06_Metadata/Reference 06_Metadata/Plans 06_Metadata/Templates && echo \"Folders created successfully\"",
|
|
"approvedAt": 1767617713953,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "cat > \"01_Projects/README.md\" << 'EOF'\n# Projects\n\n**Purpose:** Time-bound initiatives with clear completion criteria.\n\n## What is a Project?\n\nA project has:\n- A specific goal or deliverable\n- A clear end date or completion criteria\n- Multiple tasks or actions\n\nExamples: Writing a paper, launching a product, planning an event, learning a new skill\n\n## Recommended Structure\n\nFor each project folder, create:\n- `Research/` - Source materials and references\n- `Drafts/` - Work in progress\n- `Output/` - Final deliverables\n- `README.md` - Project objectives, timeline, and status\n\n## Project Lifecycle\n\n1. **Start:** Create folder with subfolders and README\n2. **During:** Keep all related materials in the project folder\n3. **Complete:** Create summary note, then move to `04_Archive/`\n\n## Tips\n\n- Link to relevant Areas and Resources\n- Commit regularly to track progress with git\n- Review weekly to check status and next actions\nEOF\necho \"Created 01_Projects/README.md\"",
|
|
"approvedAt": 1767618086311,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "cat > \"04_Archive/README.md\" << 'EOF'\n# Archive\n\n**Purpose:** Completed or inactive items from Projects and Areas.\n\n## What Gets Archived\n\n- **Completed projects** - Move entire project folder here\n- **Inactive areas** - Areas you're no longer maintaining\n- **Old resources** - Outdated reference materials (use sparingly)\n\n## Archive Structure\n\nMaintain the same folder structure:\n- `Projects/` - Completed project folders\n- `Areas/` - Inactive areas\n- `Resources/` - Outdated resources (if needed)\n\n## Before Archiving a Project\n\n1. Create a project summary note with:\n - What was accomplished\n - Key learnings\n - Links to important outputs\n2. Update related Area notes\n3. Move the entire project folder here\n\n## Maintenance\n\n- Review quarterly to see what can be deleted\n- Some archived items may be reactivated\n- Keep the archive organized (mirror active structure)\n\n## Tips\n\n- Don't archive too aggressively - keep valuable reference material\n- Use git history to track when things were archived\n- Archived doesn't mean forgotten - you can still search and reference\nEOF\necho \"Created 04_Archive/README.md\"",
|
|
"approvedAt": 1767618088747,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "cat > \"05_Attachments/README.md\" << 'EOF'\n# Attachments\n\n**Purpose:** Storage for all non-text files (images, PDFs, videos, audio).\n\n## Organization\n\n- **Root (05_Attachments/)** - Unprocessed attachments\n- **Organized/** - Files that have been properly named and referenced\n\n## Naming Convention\n\nUse descriptive names that indicate the related note:\n- `[RelatedNote]_[Description].[ext]`\n- Example: `ProjectAlpha_Architecture_Diagram.png`\n- Example: `BookNotes_Thinking_Fast_Slow_Cover.jpg`\n\n## Helper Scripts\n\n```bash\npnpm attachments:list # List unprocessed files\npnpm attachments:organized # Count organized files\npnpm attachments:orphans # Find unreferenced files\npnpm attachments:update-links # Update links after moving\n```\n\n## Processing Workflow\n\n1. Files initially land in `05_Attachments/`\n2. Rename with descriptive names\n3. Reference in notes using `![[filename.ext]]`\n4. Move to `Organized/` subfolder\n5. Update any links if paths change\n\n## Tips\n\n- Process attachments regularly (don't let them pile up)\n- Use consistent naming patterns\n- Delete duplicates and unused files\n- Consider using Gemini Vision to analyze images\nEOF\necho \"Created 05_Attachments/README.md\"",
|
|
"approvedAt": 1767618090058,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "cat package.json | grep -A 30 '\"scripts\"'",
|
|
"approvedAt": 1767618132102,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "mkdir -p .claude && echo '{\"user\":{\"name\":\"\",\"publicProfile\":false},\"organizationMethod\":\"PARA\",\"primaryUses\":[\"research\",\"writing\",\"project-management\",\"daily-notes\"],\"tools\":{\"geminiVision\":false,\"firecrawl\":true},\"weeklyReview\":true,\"importedAt\":\"2026-01-05\",\"lastUpdated\":\"2026-01-05\"}' > .claude/vault-config.json && cat .claude/vault-config.json",
|
|
"approvedAt": 1767618135787,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "D:\\tmp\\vault\\my-vault\\CLAUDE.md",
|
|
"approvedAt": 1767618385844,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "D:\\tmp\\vault\\my-vault\\WEEKLY_REVIEW.md",
|
|
"approvedAt": 1767618388814,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "test -f \"D:\\tmp\\vault\\my-vault\\.gitignore\" && echo \"exists\" || echo \"not found\"",
|
|
"approvedAt": 1767618406650,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Edit",
|
|
"pattern": "D:\\tmp\\vault\\my-vault\\.gitignore",
|
|
"approvedAt": 1767618439421,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "pnpm vault:stats",
|
|
"approvedAt": 1767618580628,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "git add CLAUDE.md WEEKLY_REVIEW.md .gitignore .claude/vault-config.json 01_Projects/README.md 02_Areas/README.md 03_Resources/README.md 04_Archive/README.md 05_Attachments/README.md pnpm-lock.yaml",
|
|
"approvedAt": 1767618604305,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "git commit -m \"$(cat <<'EOF'\nInitial vault setup with PARA structure\n\n- Created CLAUDE.md configuration file\n- Created WEEKLY_REVIEW.md template\n- Set up PARA folder structure (Projects, Areas, Resources, Archive)\n- Created README files for each main folder\n- Configured .gitignore for vault files\n- Saved vault configuration to .claude/vault-config.json\n\nGenerated with Claude Code\nCo-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>\nEOF\n)\"",
|
|
"approvedAt": 1767618611184,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": ".claude/commands/git-commit-msg.md",
|
|
"approvedAt": 1767619909039,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Edit",
|
|
"pattern": ".claude/commands/README.md",
|
|
"approvedAt": 1767619920589,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": ".git-commit-msg-temp.txt",
|
|
"approvedAt": 1767620317298,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Write",
|
|
"pattern": "01_Projects/Work/Government-Projects/Municipal-Development-Reform/login.md",
|
|
"approvedAt": 1767753309725,
|
|
"scope": "always"
|
|
},
|
|
{
|
|
"toolName": "Bash",
|
|
"pattern": "git add \"01_Projects/Work/Government-Projects/Municipal-Development-Reform/Server-Credentials.md\" && git commit -m \"Rename: login.md → Server-Credentials.md for better clarity\"",
|
|
"approvedAt": 1767755418968,
|
|
"scope": "always"
|
|
}
|
|
],
|
|
"excludedTags": [],
|
|
"mediaFolder": "",
|
|
"environmentVariables": "",
|
|
"envSnippets": [],
|
|
"systemPrompt": "",
|
|
"allowedExportPaths": [
|
|
"~/Desktop",
|
|
"~/Downloads"
|
|
],
|
|
"allowedContextPaths": [],
|
|
"keyboardNavigation": {
|
|
"scrollUpKey": "w",
|
|
"scrollDownKey": "s",
|
|
"focusInputKey": "i"
|
|
},
|
|
"claudeCliPath": "",
|
|
"hooks": {
|
|
"SessionStart": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "[ -f FIRST_RUN ] && echo '{\"hookSpecificOutput\":{\"hookEventName\":\"SessionStart\",\"additionalContext\":\"\\n\\n# 🚀 Welcome to Claudesidian!\\n\\n**This appears to be your first time using this vault.**\\n\\n## Quick Start\\n\\nRun the setup wizard:\\n\\n⬇\\n/init-bootstrap\\n⬆\\n\\n## What this will do:\\n\\n✅ Set up your personalized configuration\\n✅ Disconnect from the original repository\\n✅ Help you import any existing Obsidian vault\\n✅ Configure your preferred workflow\\n✅ Create your PARA folder structure\\n\\nThe setup wizard will guide you through everything!\\n\\n\"}}' || true"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"command": "npm run check-updates --silent 2>/dev/null || true"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
} |