"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",
"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\"'",
"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)\"",
"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"