claude-code-templates 1.21.6 → 1.21.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/components/sandbox/e2b/e2b-launcher.py +0 -1
  2. package/package.json +2 -2
  3. package/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
  4. package/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
  5. package/components/agents/ai-specialists/llms-maintainer.md +0 -94
  6. package/components/agents/ai-specialists/model-evaluator.md +0 -150
  7. package/components/agents/ai-specialists/prompt-engineer.md +0 -112
  8. package/components/agents/ai-specialists/search-specialist.md +0 -59
  9. package/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
  10. package/components/agents/api-graphql/graphql-architect.md +0 -208
  11. package/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
  12. package/components/agents/api-graphql/graphql-security-specialist.md +0 -519
  13. package/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
  14. package/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
  15. package/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
  16. package/components/agents/business-marketing/business-analyst.md +0 -194
  17. package/components/agents/business-marketing/content-marketer.md +0 -36
  18. package/components/agents/business-marketing/customer-support.md +0 -36
  19. package/components/agents/business-marketing/legal-advisor.md +0 -50
  20. package/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
  21. package/components/agents/business-marketing/payment-integration.md +0 -33
  22. package/components/agents/business-marketing/product-strategist.md +0 -212
  23. package/components/agents/business-marketing/risk-manager.md +0 -42
  24. package/components/agents/business-marketing/sales-automator.md +0 -36
  25. package/components/agents/data-ai/ai-engineer.md +0 -33
  26. package/components/agents/data-ai/computer-vision-engineer.md +0 -562
  27. package/components/agents/data-ai/data-engineer.md +0 -33
  28. package/components/agents/data-ai/data-scientist.md +0 -337
  29. package/components/agents/data-ai/ml-engineer.md +0 -33
  30. package/components/agents/data-ai/mlops-engineer.md +0 -58
  31. package/components/agents/data-ai/nlp-engineer.md +0 -680
  32. package/components/agents/data-ai/quant-analyst.md +0 -33
  33. package/components/agents/database/database-admin.md +0 -33
  34. package/components/agents/database/database-architect.md +0 -590
  35. package/components/agents/database/database-optimization.md +0 -33
  36. package/components/agents/database/database-optimizer.md +0 -33
  37. package/components/agents/database/nosql-specialist.md +0 -708
  38. package/components/agents/database/supabase-schema-architect.md +0 -138
  39. package/components/agents/deep-research-team/academic-researcher.md +0 -33
  40. package/components/agents/deep-research-team/agent-overview.md +0 -235
  41. package/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
  42. package/components/agents/deep-research-team/data-analyst.md +0 -112
  43. package/components/agents/deep-research-team/fact-checker.md +0 -553
  44. package/components/agents/deep-research-team/query-clarifier.md +0 -73
  45. package/components/agents/deep-research-team/report-generator.md +0 -108
  46. package/components/agents/deep-research-team/research-brief-generator.md +0 -108
  47. package/components/agents/deep-research-team/research-coordinator.md +0 -94
  48. package/components/agents/deep-research-team/research-orchestrator.md +0 -119
  49. package/components/agents/deep-research-team/research-synthesizer.md +0 -109
  50. package/components/agents/deep-research-team/technical-researcher.md +0 -95
  51. package/components/agents/development-team/backend-architect.md +0 -31
  52. package/components/agents/development-team/cli-ui-designer.md +0 -405
  53. package/components/agents/development-team/devops-engineer.md +0 -886
  54. package/components/agents/development-team/frontend-developer.md +0 -32
  55. package/components/agents/development-team/fullstack-developer.md +0 -1205
  56. package/components/agents/development-team/ios-developer.md +0 -36
  57. package/components/agents/development-team/mobile-developer.md +0 -33
  58. package/components/agents/development-team/ui-ux-designer.md +0 -36
  59. package/components/agents/development-tools/code-reviewer.md +0 -30
  60. package/components/agents/development-tools/command-expert.md +0 -422
  61. package/components/agents/development-tools/context-manager.md +0 -65
  62. package/components/agents/development-tools/debugger.md +0 -31
  63. package/components/agents/development-tools/dx-optimizer.md +0 -64
  64. package/components/agents/development-tools/error-detective.md +0 -33
  65. package/components/agents/development-tools/mcp-expert.md +0 -259
  66. package/components/agents/development-tools/performance-profiler.md +0 -799
  67. package/components/agents/development-tools/test-engineer.md +0 -936
  68. package/components/agents/devops-infrastructure/cloud-architect.md +0 -33
  69. package/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
  70. package/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
  71. package/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
  72. package/components/agents/devops-infrastructure/network-engineer.md +0 -33
  73. package/components/agents/devops-infrastructure/security-engineer.md +0 -971
  74. package/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
  75. package/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
  76. package/components/agents/documentation/api-documenter.md +0 -33
  77. package/components/agents/documentation/changelog-generator.md +0 -37
  78. package/components/agents/documentation/docusaurus-expert.md +0 -52
  79. package/components/agents/documentation/technical-writer.md +0 -37
  80. package/components/agents/expert-advisors/agent-expert.md +0 -477
  81. package/components/agents/expert-advisors/architect-review.md +0 -50
  82. package/components/agents/expert-advisors/dependency-manager.md +0 -45
  83. package/components/agents/expert-advisors/documentation-expert.md +0 -47
  84. package/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
  85. package/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
  86. package/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
  87. package/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
  88. package/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
  89. package/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
  90. package/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
  91. package/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
  92. package/components/agents/game-development/3d-artist.md +0 -37
  93. package/components/agents/game-development/game-designer.md +0 -37
  94. package/components/agents/game-development/unity-game-developer.md +0 -110
  95. package/components/agents/game-development/unreal-engine-developer.md +0 -128
  96. package/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
  97. package/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
  98. package/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
  99. package/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
  100. package/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
  101. package/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
  102. package/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
  103. package/components/agents/modernization/architecture-modernizer.md +0 -37
  104. package/components/agents/modernization/cloud-migration-specialist.md +0 -37
  105. package/components/agents/modernization/legacy-modernizer.md +0 -33
  106. package/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
  107. package/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
  108. package/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
  109. package/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
  110. package/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
  111. package/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
  112. package/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
  113. package/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
  114. package/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
  115. package/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
  116. package/components/agents/obsidian-ops-team/connection-agent.md +0 -67
  117. package/components/agents/obsidian-ops-team/content-curator.md +0 -81
  118. package/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
  119. package/components/agents/obsidian-ops-team/moc-agent.md +0 -112
  120. package/components/agents/obsidian-ops-team/review-agent.md +0 -94
  121. package/components/agents/obsidian-ops-team/tag-agent.md +0 -92
  122. package/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
  123. package/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
  124. package/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
  125. package/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
  126. package/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
  127. package/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
  128. package/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
  129. package/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
  130. package/components/agents/performance-testing/load-testing-specialist.md +0 -37
  131. package/components/agents/performance-testing/performance-engineer.md +0 -33
  132. package/components/agents/performance-testing/react-performance-optimization.md +0 -65
  133. package/components/agents/performance-testing/test-automator.md +0 -33
  134. package/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
  135. package/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
  136. package/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
  137. package/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
  138. package/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
  139. package/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
  140. package/components/agents/podcast-creator-team/podcast-editor.md +0 -37
  141. package/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
  142. package/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
  143. package/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
  144. package/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
  145. package/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
  146. package/components/agents/programming-languages/c-pro.md +0 -36
  147. package/components/agents/programming-languages/c-sharp-pro.md +0 -40
  148. package/components/agents/programming-languages/cpp-pro.md +0 -39
  149. package/components/agents/programming-languages/golang-pro.md +0 -33
  150. package/components/agents/programming-languages/javascript-pro.md +0 -36
  151. package/components/agents/programming-languages/php-pro.md +0 -44
  152. package/components/agents/programming-languages/python-pro.md +0 -33
  153. package/components/agents/programming-languages/rust-pro.md +0 -36
  154. package/components/agents/programming-languages/shell-scripting-pro.md +0 -38
  155. package/components/agents/programming-languages/sql-pro.md +0 -36
  156. package/components/agents/programming-languages/typescript-pro.md +0 -38
  157. package/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
  158. package/components/agents/security/api-security-audit.md +0 -93
  159. package/components/agents/security/compliance-specialist.md +0 -37
  160. package/components/agents/security/incident-responder.md +0 -75
  161. package/components/agents/security/penetration-tester.md +0 -37
  162. package/components/agents/security/security-auditor.md +0 -33
  163. package/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
  164. package/components/agents/web-tools/react-performance-optimizer.md +0 -425
  165. package/components/agents/web-tools/seo-analyzer.md +0 -37
  166. package/components/agents/web-tools/url-context-validator.md +0 -61
  167. package/components/agents/web-tools/url-link-extractor.md +0 -59
  168. package/components/agents/web-tools/web-accessibility-checker.md +0 -37
  169. package/components/commands/automation/act.md +0 -57
  170. package/components/commands/automation/ci-pipeline.md +0 -378
  171. package/components/commands/automation/husky.md +0 -130
  172. package/components/commands/automation/workflow-orchestrator.md +0 -576
  173. package/components/commands/database/supabase-backup-manager.md +0 -37
  174. package/components/commands/database/supabase-data-explorer.md +0 -37
  175. package/components/commands/database/supabase-migration-assistant.md +0 -37
  176. package/components/commands/database/supabase-performance-optimizer.md +0 -37
  177. package/components/commands/database/supabase-realtime-monitor.md +0 -37
  178. package/components/commands/database/supabase-schema-sync.md +0 -37
  179. package/components/commands/database/supabase-security-audit.md +0 -37
  180. package/components/commands/database/supabase-type-generator.md +0 -37
  181. package/components/commands/deployment/add-changelog.md +0 -92
  182. package/components/commands/deployment/blue-green-deployment.md +0 -824
  183. package/components/commands/deployment/changelog-demo-command.md +0 -43
  184. package/components/commands/deployment/ci-setup.md +0 -323
  185. package/components/commands/deployment/containerize-application.md +0 -93
  186. package/components/commands/deployment/deployment-monitoring.md +0 -1228
  187. package/components/commands/deployment/hotfix-deploy.md +0 -283
  188. package/components/commands/deployment/prepare-release.md +0 -357
  189. package/components/commands/deployment/rollback-deploy.md +0 -145
  190. package/components/commands/deployment/setup-automated-releases.md +0 -143
  191. package/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
  192. package/components/commands/documentation/create-architecture-documentation.md +0 -95
  193. package/components/commands/documentation/create-onboarding-guide.md +0 -93
  194. package/components/commands/documentation/doc-api.md +0 -242
  195. package/components/commands/documentation/docs-maintenance.md +0 -119
  196. package/components/commands/documentation/generate-api-documentation.md +0 -97
  197. package/components/commands/documentation/interactive-documentation.md +0 -133
  198. package/components/commands/documentation/load-llms-txt.md +0 -39
  199. package/components/commands/documentation/migration-guide.md +0 -250
  200. package/components/commands/documentation/troubleshooting-guide.md +0 -370
  201. package/components/commands/documentation/update-docs.md +0 -107
  202. package/components/commands/game-development/game-analytics-integration.md +0 -128
  203. package/components/commands/game-development/game-asset-pipeline.md +0 -108
  204. package/components/commands/game-development/game-performance-profiler.md +0 -78
  205. package/components/commands/game-development/game-testing-framework.md +0 -112
  206. package/components/commands/game-development/unity-project-setup.md +0 -190
  207. package/components/commands/git-workflow/branch-cleanup.md +0 -181
  208. package/components/commands/git-workflow/commit.md +0 -167
  209. package/components/commands/git-workflow/create-pr.md +0 -19
  210. package/components/commands/git-workflow/create-pull-request.md +0 -126
  211. package/components/commands/git-workflow/create-worktrees.md +0 -174
  212. package/components/commands/git-workflow/fix-github-issue.md +0 -13
  213. package/components/commands/git-workflow/git-bisect-helper.md +0 -261
  214. package/components/commands/git-workflow/pr-review.md +0 -76
  215. package/components/commands/git-workflow/update-branch-name.md +0 -9
  216. package/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
  217. package/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
  218. package/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
  219. package/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
  220. package/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
  221. package/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
  222. package/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
  223. package/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
  224. package/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
  225. package/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
  226. package/components/commands/orchestration/archive.md +0 -414
  227. package/components/commands/orchestration/commit.md +0 -305
  228. package/components/commands/orchestration/find.md +0 -272
  229. package/components/commands/orchestration/log.md +0 -355
  230. package/components/commands/orchestration/move.md +0 -220
  231. package/components/commands/orchestration/optimize.md +0 -375
  232. package/components/commands/orchestration/remove.md +0 -301
  233. package/components/commands/orchestration/report.md +0 -292
  234. package/components/commands/orchestration/resume.md +0 -256
  235. package/components/commands/orchestration/start.md +0 -169
  236. package/components/commands/orchestration/status.md +0 -219
  237. package/components/commands/orchestration/sync.md +0 -294
  238. package/components/commands/performance/add-performance-monitoring.md +0 -84
  239. package/components/commands/performance/implement-caching-strategy.md +0 -84
  240. package/components/commands/performance/optimize-api-performance.md +0 -119
  241. package/components/commands/performance/optimize-build.md +0 -139
  242. package/components/commands/performance/optimize-bundle-size.md +0 -84
  243. package/components/commands/performance/optimize-database-performance.md +0 -84
  244. package/components/commands/performance/optimize-memory-usage.md +0 -91
  245. package/components/commands/performance/performance-audit.md +0 -89
  246. package/components/commands/performance/setup-cdn-optimization.md +0 -84
  247. package/components/commands/performance/system-behavior-simulator.md +0 -415
  248. package/components/commands/project-management/add-package.md +0 -90
  249. package/components/commands/project-management/add-to-changelog.md +0 -37
  250. package/components/commands/project-management/create-feature.md +0 -130
  251. package/components/commands/project-management/create-jtbd.md +0 -37
  252. package/components/commands/project-management/create-prd.md +0 -36
  253. package/components/commands/project-management/create-prp.md +0 -37
  254. package/components/commands/project-management/init-project.md +0 -80
  255. package/components/commands/project-management/milestone-tracker.md +0 -44
  256. package/components/commands/project-management/pac-configure.md +0 -32
  257. package/components/commands/project-management/pac-create-epic.md +0 -41
  258. package/components/commands/project-management/pac-create-ticket.md +0 -42
  259. package/components/commands/project-management/pac-update-status.md +0 -39
  260. package/components/commands/project-management/pac-validate.md +0 -35
  261. package/components/commands/project-management/project-health-check.md +0 -58
  262. package/components/commands/project-management/project-timeline-simulator.md +0 -37
  263. package/components/commands/project-management/project-to-linear.md +0 -38
  264. package/components/commands/project-management/release.md +0 -31
  265. package/components/commands/project-management/todo.md +0 -62
  266. package/components/commands/security/add-authentication-system.md +0 -34
  267. package/components/commands/security/dependency-audit.md +0 -32
  268. package/components/commands/security/penetration-test.md +0 -40
  269. package/components/commands/security/secrets-scanner.md +0 -39
  270. package/components/commands/security/security-audit.md +0 -82
  271. package/components/commands/security/security-hardening.md +0 -33
  272. package/components/commands/setup/create-database-migrations.md +0 -35
  273. package/components/commands/setup/design-database-schema.md +0 -37
  274. package/components/commands/setup/design-rest-api.md +0 -37
  275. package/components/commands/setup/implement-graphql-api.md +0 -37
  276. package/components/commands/setup/migrate-to-typescript.md +0 -37
  277. package/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
  278. package/components/commands/setup/setup-development-environment.md +0 -37
  279. package/components/commands/setup/setup-docker-containers.md +0 -37
  280. package/components/commands/setup/setup-formatting.md +0 -37
  281. package/components/commands/setup/setup-linting.md +0 -37
  282. package/components/commands/setup/setup-monitoring-observability.md +0 -37
  283. package/components/commands/setup/setup-monorepo.md +0 -37
  284. package/components/commands/setup/setup-rate-limiting.md +0 -37
  285. package/components/commands/setup/update-dependencies.md +0 -35
  286. package/components/commands/simulation/business-scenario-explorer.md +0 -37
  287. package/components/commands/simulation/constraint-modeler.md +0 -37
  288. package/components/commands/simulation/decision-tree-explorer.md +0 -37
  289. package/components/commands/simulation/digital-twin-creator.md +0 -37
  290. package/components/commands/simulation/future-scenario-generator.md +0 -37
  291. package/components/commands/simulation/market-response-modeler.md +0 -37
  292. package/components/commands/simulation/monte-carlo-simulator.md +0 -37
  293. package/components/commands/simulation/simulation-calibrator.md +0 -37
  294. package/components/commands/simulation/system-dynamics-modeler.md +0 -37
  295. package/components/commands/simulation/timeline-compressor.md +0 -37
  296. package/components/commands/svelte/svelte:a11y.md +0 -105
  297. package/components/commands/svelte/svelte:component.md +0 -81
  298. package/components/commands/svelte/svelte:debug.md +0 -48
  299. package/components/commands/svelte/svelte:migrate.md +0 -79
  300. package/components/commands/svelte/svelte:optimize.md +0 -99
  301. package/components/commands/svelte/svelte:scaffold.md +0 -89
  302. package/components/commands/svelte/svelte:storybook-migrate.md +0 -204
  303. package/components/commands/svelte/svelte:storybook-mock.md +0 -213
  304. package/components/commands/svelte/svelte:storybook-setup.md +0 -113
  305. package/components/commands/svelte/svelte:storybook-story.md +0 -145
  306. package/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
  307. package/components/commands/svelte/svelte:storybook.md +0 -48
  308. package/components/commands/svelte/svelte:test-coverage.md +0 -77
  309. package/components/commands/svelte/svelte:test-fix.md +0 -74
  310. package/components/commands/svelte/svelte:test-setup.md +0 -85
  311. package/components/commands/svelte/svelte:test.md +0 -60
  312. package/components/commands/sync/bidirectional-sync.md +0 -37
  313. package/components/commands/sync/bulk-import-issues.md +0 -37
  314. package/components/commands/sync/cross-reference-manager.md +0 -37
  315. package/components/commands/sync/issue-to-linear-task.md +0 -37
  316. package/components/commands/sync/linear-task-to-issue.md +0 -37
  317. package/components/commands/sync/sync-automation-setup.md +0 -37
  318. package/components/commands/sync/sync-conflict-resolver.md +0 -37
  319. package/components/commands/sync/sync-health-monitor.md +0 -37
  320. package/components/commands/sync/sync-issues-to-linear.md +0 -37
  321. package/components/commands/sync/sync-linear-to-issues.md +0 -37
  322. package/components/commands/sync/sync-migration-assistant.md +0 -37
  323. package/components/commands/sync/sync-pr-to-task.md +0 -37
  324. package/components/commands/sync/sync-status.md +0 -391
  325. package/components/commands/sync/task-from-pr.md +0 -37
  326. package/components/commands/team/architecture-review.md +0 -37
  327. package/components/commands/team/decision-quality-analyzer.md +0 -37
  328. package/components/commands/team/dependency-mapper.md +0 -37
  329. package/components/commands/team/estimate-assistant.md +0 -37
  330. package/components/commands/team/issue-triage.md +0 -37
  331. package/components/commands/team/memory-spring-cleaning.md +0 -37
  332. package/components/commands/team/migration-assistant.md +0 -37
  333. package/components/commands/team/retrospective-analyzer.md +0 -37
  334. package/components/commands/team/session-learning-capture.md +0 -37
  335. package/components/commands/team/sprint-planning.md +0 -189
  336. package/components/commands/team/standup-report.md +0 -37
  337. package/components/commands/team/team-knowledge-mapper.md +0 -37
  338. package/components/commands/team/team-velocity-tracker.md +0 -37
  339. package/components/commands/team/team-workload-balancer.md +0 -37
  340. package/components/commands/testing/add-mutation-testing.md +0 -37
  341. package/components/commands/testing/add-property-based-testing.md +0 -37
  342. package/components/commands/testing/e2e-setup.md +0 -37
  343. package/components/commands/testing/generate-test-cases.md +0 -37
  344. package/components/commands/testing/generate-tests.md +0 -82
  345. package/components/commands/testing/setup-comprehensive-testing.md +0 -37
  346. package/components/commands/testing/setup-load-testing.md +0 -37
  347. package/components/commands/testing/setup-visual-testing.md +0 -37
  348. package/components/commands/testing/test-automation-orchestrator.md +0 -37
  349. package/components/commands/testing/test-changelog-automation.md +0 -37
  350. package/components/commands/testing/test-coverage.md +0 -37
  351. package/components/commands/testing/test-quality-analyzer.md +0 -37
  352. package/components/commands/testing/testing_plan_integration.md +0 -37
  353. package/components/commands/testing/write-tests.md +0 -37
  354. package/components/commands/utilities/all-tools.md +0 -31
  355. package/components/commands/utilities/architecture-scenario-explorer.md +0 -375
  356. package/components/commands/utilities/check-file.md +0 -53
  357. package/components/commands/utilities/clean-branches.md +0 -243
  358. package/components/commands/utilities/clean.md +0 -1
  359. package/components/commands/utilities/code-permutation-tester.md +0 -341
  360. package/components/commands/utilities/code-review.md +0 -70
  361. package/components/commands/utilities/code-to-task.md +0 -583
  362. package/components/commands/utilities/context-prime.md +0 -1
  363. package/components/commands/utilities/debug-error.md +0 -121
  364. package/components/commands/utilities/directory-deep-dive.md +0 -34
  365. package/components/commands/utilities/explain-code.md +0 -194
  366. package/components/commands/utilities/fix-issue.md +0 -85
  367. package/components/commands/utilities/generate-linear-worklog.md +0 -113
  368. package/components/commands/utilities/git-status.md +0 -39
  369. package/components/commands/utilities/initref.md +0 -3
  370. package/components/commands/utilities/prime.md +0 -41
  371. package/components/commands/utilities/refactor-code.md +0 -116
  372. package/components/commands/utilities/ultra-think.md +0 -153
  373. package/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
  374. package/components/hooks/automation/build-on-change.json +0 -16
  375. package/components/hooks/automation/dependency-checker.json +0 -16
  376. package/components/hooks/automation/deployment-health-monitor.json +0 -29
  377. package/components/hooks/automation/discord-detailed-notifications.json +0 -26
  378. package/components/hooks/automation/discord-error-notifications.json +0 -37
  379. package/components/hooks/automation/discord-notifications.json +0 -25
  380. package/components/hooks/automation/simple-notifications.json +0 -16
  381. package/components/hooks/automation/slack-detailed-notifications.json +0 -26
  382. package/components/hooks/automation/slack-error-notifications.json +0 -37
  383. package/components/hooks/automation/slack-notifications.json +0 -25
  384. package/components/hooks/automation/telegram-detailed-notifications.json +0 -26
  385. package/components/hooks/automation/telegram-error-notifications.json +0 -37
  386. package/components/hooks/automation/telegram-notifications.json +0 -25
  387. package/components/hooks/automation/vercel-auto-deploy.json +0 -17
  388. package/components/hooks/automation/vercel-environment-sync.json +0 -29
  389. package/components/hooks/development-tools/change-tracker.json +0 -25
  390. package/components/hooks/development-tools/command-logger.json +0 -16
  391. package/components/hooks/development-tools/file-backup.json +0 -16
  392. package/components/hooks/development-tools/lint-on-save.json +0 -16
  393. package/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
  394. package/components/hooks/development-tools/smart-formatting.json +0 -16
  395. package/components/hooks/git-workflow/auto-git-add.json +0 -16
  396. package/components/hooks/git-workflow/smart-commit.json +0 -25
  397. package/components/hooks/performance/performance-budget-guard.json +0 -27
  398. package/components/hooks/performance/performance-monitor.json +0 -27
  399. package/components/hooks/post-tool/format-javascript-files.json +0 -16
  400. package/components/hooks/post-tool/format-python-files.json +0 -16
  401. package/components/hooks/post-tool/git-add-changes.json +0 -25
  402. package/components/hooks/post-tool/run-tests-after-changes.json +0 -16
  403. package/components/hooks/pre-tool/backup-before-edit.json +0 -16
  404. package/components/hooks/pre-tool/notify-before-bash.json +0 -16
  405. package/components/hooks/security/file-protection.json +0 -16
  406. package/components/hooks/security/security-scanner.json +0 -16
  407. package/components/hooks/testing/test-runner.json +0 -16
  408. package/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
  409. package/components/mcps/browser_automation/browsermcp.json +0 -9
  410. package/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
  411. package/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
  412. package/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
  413. package/components/mcps/browser_automation/playwright-mcp.json +0 -11
  414. package/components/mcps/database/mysql-integration.json +0 -12
  415. package/components/mcps/database/postgresql-integration.json +0 -12
  416. package/components/mcps/database/supabase.json +0 -17
  417. package/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
  418. package/components/mcps/deepgraph/deepgraph-react.json +0 -13
  419. package/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
  420. package/components/mcps/deepgraph/deepgraph-vue.json +0 -13
  421. package/components/mcps/devtools/circleci.json +0 -13
  422. package/components/mcps/devtools/context7.json +0 -9
  423. package/components/mcps/devtools/firefly-mcp.json +0 -13
  424. package/components/mcps/devtools/ios-simulator-mcp.json +0 -9
  425. package/components/mcps/devtools/just-mcp.json +0 -9
  426. package/components/mcps/devtools/leetcode.json +0 -8
  427. package/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
  428. package/components/mcps/devtools/mcp-server-trello.json +0 -12
  429. package/components/mcps/filesystem/filesystem-access.json +0 -13
  430. package/components/mcps/integration/github-integration.json +0 -12
  431. package/components/mcps/integration/memory-integration.json +0 -9
  432. package/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
  433. package/components/mcps/marketing/google-ads-mcp-server.json +0 -11
  434. package/components/mcps/web/web-fetch.json +0 -9
  435. package/components/settings/api/bedrock-configuration.json +0 -7
  436. package/components/settings/api/corporate-proxy.json +0 -7
  437. package/components/settings/api/custom-headers.json +0 -6
  438. package/components/settings/api/vertex-configuration.json +0 -8
  439. package/components/settings/authentication/api-key-helper.json +0 -7
  440. package/components/settings/authentication/force-claudeai-login.json +0 -4
  441. package/components/settings/authentication/force-console-login.json +0 -4
  442. package/components/settings/cleanup/retention-7-days.json +0 -4
  443. package/components/settings/cleanup/retention-90-days.json +0 -4
  444. package/components/settings/environment/bash-timeouts.json +0 -8
  445. package/components/settings/environment/development-utils.json +0 -8
  446. package/components/settings/environment/performance-optimization.json +0 -8
  447. package/components/settings/environment/privacy-focused.json +0 -10
  448. package/components/settings/global/aws-credentials.json +0 -5
  449. package/components/settings/global/custom-model.json +0 -7
  450. package/components/settings/global/git-commit-settings.json +0 -4
  451. package/components/settings/mcp/disable-risky-servers.json +0 -8
  452. package/components/settings/mcp/enable-all-project-servers.json +0 -4
  453. package/components/settings/mcp/enable-specific-servers.json +0 -8
  454. package/components/settings/mcp/mcp-timeouts.json +0 -8
  455. package/components/settings/model/use-haiku.json +0 -4
  456. package/components/settings/model/use-sonnet.json +0 -4
  457. package/components/settings/permissions/additional-directories.json +0 -11
  458. package/components/settings/permissions/allow-git-operations.json +0 -14
  459. package/components/settings/permissions/allow-npm-commands.json +0 -11
  460. package/components/settings/permissions/deny-sensitive-files.json +0 -11
  461. package/components/settings/permissions/development-mode.json +0 -31
  462. package/components/settings/permissions/read-only-mode.json +0 -18
  463. package/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
  464. package/components/settings/statusline/bug-circus-statusline.json +0 -7
  465. package/components/settings/statusline/code-casino-statusline.json +0 -7
  466. package/components/settings/statusline/code-spaceship-statusline.json +0 -7
  467. package/components/settings/statusline/colorful-statusline.json +0 -7
  468. package/components/settings/statusline/command-statusline.json +0 -8
  469. package/components/settings/statusline/context-monitor.json +0 -7
  470. package/components/settings/statusline/context-monitor.py +0 -236
  471. package/components/settings/statusline/data-ocean-statusline.json +0 -7
  472. package/components/settings/statusline/emotion-theater-statusline.json +0 -7
  473. package/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
  474. package/components/settings/statusline/git-branch-statusline.json +0 -7
  475. package/components/settings/statusline/minimal-statusline.json +0 -7
  476. package/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
  477. package/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
  478. package/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
  479. package/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
  480. package/components/settings/statusline/project-info-statusline.json +0 -7
  481. package/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
  482. package/components/settings/statusline/time-statusline.json +0 -7
  483. package/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
  484. package/components/settings/statusline/vercel-deployment-monitor.json +0 -7
  485. package/components/settings/statusline/vercel-error-alert-system.json +0 -7
  486. package/components/settings/statusline/vercel-multi-env-status.json +0 -7
  487. package/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
  488. package/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
  489. package/components/settings/telemetry/custom-telemetry.json +0 -7
  490. package/components/settings/telemetry/disable-telemetry.json +0 -6
  491. package/components/settings/telemetry/enable-telemetry.json +0 -6
@@ -1,195 +0,0 @@
1
- #!/usr/bin/env python3
2
- """Implement entity-based connections from Link Suggestions Report."""
3
-
4
- import re
5
- import os
6
- from pathlib import Path
7
-
8
- # Priority entities to focus on
9
- PRIORITY_ENTITIES = {
10
- 'langchain', 'langgraph', 'llm', 'rag', 'embedding', 'vector',
11
- 'mcp', 'model context protocol', 'api integration', 'function calling',
12
- 'anthropic', 'openai', 'google', 'claude', 'gpt',
13
- 'autonomous agent', 'ai agent', 'chain of thought', 'prompt engineering',
14
- 'retrieval augmented', 'graphrag', 'multimodal', 'tool use'
15
- }
16
-
17
- def read_file(file_path):
18
- """Read file content."""
19
- try:
20
- with open(file_path, 'r', encoding='utf-8') as f:
21
- return f.read()
22
- except:
23
- return None
24
-
25
- def write_file(file_path, content):
26
- """Write content to file."""
27
- try:
28
- with open(file_path, 'w', encoding='utf-8') as f:
29
- f.write(content)
30
- return True
31
- except:
32
- return False
33
-
34
- def find_file(filename, search_dirs):
35
- """Find a file in the vault."""
36
- for dir_path in search_dirs:
37
- for root, dirs, files in os.walk(dir_path):
38
- for file in files:
39
- if file == filename or file == filename + '.md':
40
- return os.path.join(root, file)
41
- return None
42
-
43
- def add_link_to_file(file_path, link_to_add, link_text=None):
44
- """Add a link to a file if it doesn't already exist."""
45
- content = read_file(file_path)
46
- if not content:
47
- return False
48
-
49
- # Check if link already exists
50
- if f'[[{link_to_add}]]' in content:
51
- return False
52
-
53
- # Find a good place to add the link
54
- # Look for existing "Related:" or "See also:" sections
55
- related_patterns = [
56
- r'^#+\s*Related.*?$',
57
- r'^#+\s*See also.*?$',
58
- r'^#+\s*Links.*?$',
59
- r'^#+\s*References.*?$'
60
- ]
61
-
62
- insert_pos = None
63
- for pattern in related_patterns:
64
- match = re.search(pattern, content, re.MULTILINE | re.IGNORECASE)
65
- if match:
66
- # Find the end of this section
67
- insert_pos = match.end()
68
- # Skip to next line
69
- next_line = content.find('\n', insert_pos)
70
- if next_line != -1:
71
- insert_pos = next_line + 1
72
- break
73
-
74
- # If no related section found, add at the end of frontmatter
75
- if insert_pos is None:
76
- # Find end of frontmatter
77
- frontmatter_end = content.find('---', 3)
78
- if frontmatter_end != -1:
79
- insert_pos = content.find('\n', frontmatter_end + 3) + 1
80
- else:
81
- # No frontmatter, add at beginning
82
- insert_pos = 0
83
-
84
- # Create the link line
85
- if link_text:
86
- link_line = f"- [[{link_to_add}]] - {link_text}\n"
87
- else:
88
- link_line = f"- [[{link_to_add}]]\n"
89
-
90
- # If we're not in a list section, create one
91
- if insert_pos is None or (insert_pos > 0 and content[insert_pos-2:insert_pos] != '\n\n'):
92
- # Check if we need to add a Related section
93
- needs_section = True
94
- for pattern in related_patterns:
95
- if re.search(pattern, content, re.MULTILINE | re.IGNORECASE):
96
- needs_section = False
97
- break
98
-
99
- if needs_section:
100
- # Add at end of file with new Related section
101
- if not content.endswith('\n'):
102
- content += '\n'
103
- content += '\n## Related\n'
104
- content += link_line
105
- else:
106
- # Insert in existing section
107
- new_content = content[:insert_pos] + link_line + content[insert_pos:]
108
- content = new_content
109
- else:
110
- # Insert at found position
111
- new_content = content[:insert_pos] + link_line + content[insert_pos:]
112
- content = new_content
113
-
114
- return write_file(file_path, content)
115
-
116
- def implement_connections():
117
- """Implement priority entity connections."""
118
- vault_root = Path("/Users/cam/VAULT01")
119
- search_dirs = [
120
- vault_root / "AI Development",
121
- vault_root / "AI Articles and Research",
122
- vault_root / "AI IDEAS",
123
- vault_root / "AI Courses",
124
- vault_root / "CamRohn LLC",
125
- vault_root / "Clippings"
126
- ]
127
-
128
- # Read the report
129
- report_path = vault_root / "System_Files" / "Link_Suggestions_Report.md"
130
- report_content = read_file(report_path)
131
-
132
- if not report_content:
133
- print("Could not read report")
134
- return
135
-
136
- # Parse entity connections
137
- connections_made = 0
138
- connections_by_entity = {}
139
-
140
- # Find entity sections
141
- entity_pattern = r'^### (.+)$'
142
- connection_pattern = r'- \[\[([^\]]+)\]\] ↔ \[\[([^\]]+)\]\]'
143
-
144
- current_entity = None
145
- for line in report_content.split('\n'):
146
- # Check for entity header
147
- entity_match = re.match(entity_pattern, line)
148
- if entity_match:
149
- current_entity = entity_match.group(1).strip().lower()
150
- continue
151
-
152
- # Check for connection
153
- if current_entity and current_entity in [e.lower() for e in PRIORITY_ENTITIES]:
154
- conn_match = re.match(connection_pattern, line)
155
- if conn_match:
156
- file1 = conn_match.group(1).strip()
157
- file2 = conn_match.group(2).strip()
158
-
159
- # Skip self-connections
160
- if file1 == file2:
161
- continue
162
-
163
- # Find actual file paths
164
- file1_path = find_file(file1 + '.md', search_dirs)
165
- file2_path = find_file(file2 + '.md', search_dirs)
166
-
167
- if file1_path and file2_path:
168
- # Add bidirectional links
169
- if add_link_to_file(file1_path, file2, f"Related to {current_entity}"):
170
- connections_made += 1
171
- if current_entity not in connections_by_entity:
172
- connections_by_entity[current_entity] = 0
173
- connections_by_entity[current_entity] += 1
174
- print(f"Added link from {file1} to {file2}")
175
-
176
- if add_link_to_file(file2_path, file1, f"Related to {current_entity}"):
177
- connections_made += 1
178
- if current_entity not in connections_by_entity:
179
- connections_by_entity[current_entity] = 0
180
- connections_by_entity[current_entity] += 1
181
- print(f"Added link from {file2} to {file1}")
182
-
183
- # Generate report
184
- print("\n=== Connection Implementation Report ===")
185
- print(f"Total connections made: {connections_made}")
186
- print("\nConnections by entity:")
187
- for entity, count in sorted(connections_by_entity.items(), key=lambda x: x[1], reverse=True):
188
- print(f" {entity}: {count} connections")
189
-
190
- # Find cross-domain connections
191
- print("\nCross-domain connections created:")
192
- # This would require more complex analysis of file paths
193
-
194
- if __name__ == "__main__":
195
- implement_connections()
@@ -1,301 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Link Suggester for Obsidian Vault
4
- Identifies potential connections between notes based on content analysis.
5
- """
6
-
7
- import os
8
- import re
9
- from pathlib import Path
10
- from collections import defaultdict, Counter
11
- import argparse
12
- import json
13
-
14
- class LinkSuggester:
15
- def __init__(self, vault_path):
16
- self.vault_path = Path(vault_path)
17
- self.notes = {}
18
- self.entity_mentions = defaultdict(set)
19
- self.potential_links = []
20
-
21
- # Common entities to look for
22
- self.entities = {
23
- 'technologies': [
24
- 'langchain', 'langgraph', 'mcp', 'model context protocol',
25
- 'graphrag', 'openai', 'anthropic', 'claude', 'gpt', 'llm',
26
- 'ollama', 'huggingface', 'github', 'python', 'javascript',
27
- 'cloudflare', 'supabase', 'vector database', 'embedding',
28
- 'ai agent', 'autonomous agent', 'rag', 'retrieval augmented'
29
- ],
30
- 'concepts': [
31
- 'machine learning', 'deep learning', 'neural network',
32
- 'transformer', 'attention mechanism', 'fine-tuning',
33
- 'prompt engineering', 'chain of thought', 'reasoning',
34
- 'multimodal', 'text generation', 'code generation',
35
- 'tool use', 'function calling', 'api integration'
36
- ],
37
- 'companies': [
38
- 'google', 'microsoft', 'amazon', 'meta', 'apple',
39
- 'nvidia', 'intel', 'amd', 'tesla', 'stripe',
40
- 'y combinator', 'techstars', 'propel', 'dental'
41
- ],
42
- 'people': [
43
- 'andrew ng', 'geoffrey hinton', 'yann lecun', 'ilya sutskever',
44
- 'sam altman', 'dario amodei', 'demis hassabis', 'jensen huang'
45
- ]
46
- }
47
-
48
- # Flatten entities for easier searching
49
- self.all_entities = []
50
- for category, entities in self.entities.items():
51
- self.all_entities.extend(entities)
52
-
53
- def load_notes(self):
54
- """Load all markdown files and their content."""
55
- skip_dirs = {'.obsidian', '.trash', 'System_Files', '.git'}
56
-
57
- for file_path in self.vault_path.rglob('*.md'):
58
- if any(skip_dir in file_path.parts for skip_dir in skip_dirs):
59
- continue
60
-
61
- try:
62
- with open(file_path, 'r', encoding='utf-8') as f:
63
- content = f.read()
64
-
65
- # Extract title
66
- title_match = re.search(r'^#\s+(.+)$', content, re.MULTILINE)
67
- title = title_match.group(1) if title_match else file_path.stem
68
-
69
- # Extract existing links
70
- existing_links = set(re.findall(r'\[\[([^\]]+)\]\]', content))
71
-
72
- self.notes[file_path] = {
73
- 'title': title,
74
- 'content': content.lower(),
75
- 'existing_links': existing_links,
76
- 'word_count': len(content.split())
77
- }
78
-
79
- except Exception as e:
80
- print(f"Error reading {file_path}: {e}")
81
-
82
- def find_entity_mentions(self):
83
- """Find mentions of entities across all notes."""
84
- for file_path, note_data in self.notes.items():
85
- content = note_data['content']
86
-
87
- for entity in self.all_entities:
88
- if entity in content:
89
- self.entity_mentions[entity].add(file_path)
90
-
91
- def suggest_links_by_entities(self):
92
- """Suggest links based on common entity mentions."""
93
- suggestions = []
94
-
95
- for entity, files in self.entity_mentions.items():
96
- if len(files) >= 2: # Entity mentioned in at least 2 files
97
- file_list = list(files)
98
-
99
- for i, file1 in enumerate(file_list):
100
- for file2 in file_list[i+1:]:
101
- # Check if files don't already link to each other
102
- note1 = self.notes[file1]
103
- note2 = self.notes[file2]
104
-
105
- if (note2['title'] not in note1['existing_links'] and
106
- note1['title'] not in note2['existing_links']):
107
-
108
- suggestions.append({
109
- 'file1': file1,
110
- 'file2': file2,
111
- 'title1': note1['title'],
112
- 'title2': note2['title'],
113
- 'common_entity': entity,
114
- 'type': 'entity_mention',
115
- 'confidence': len(files) / 10 # Simple confidence score
116
- })
117
-
118
- return suggestions
119
-
120
- def suggest_links_by_keywords(self):
121
- """Suggest links based on keyword overlap."""
122
- suggestions = []
123
-
124
- # Extract keywords from titles and content
125
- for file_path, note_data in self.notes.items():
126
- if note_data['word_count'] < 100: # Skip very short notes
127
- continue
128
-
129
- # Get keywords from title
130
- title_words = set(re.findall(r'\b\w{4,}\b', note_data['title'].lower()))
131
-
132
- # Find other notes with similar keywords
133
- for other_path, other_data in self.notes.items():
134
- if file_path == other_path:
135
- continue
136
-
137
- other_title_words = set(re.findall(r'\b\w{4,}\b', other_data['title'].lower()))
138
-
139
- # Check for keyword overlap
140
- common_words = title_words.intersection(other_title_words)
141
- if len(common_words) >= 2: # At least 2 common significant words
142
-
143
- # Check if files don't already link to each other
144
- if (other_data['title'] not in note_data['existing_links'] and
145
- note_data['title'] not in other_data['existing_links']):
146
-
147
- suggestions.append({
148
- 'file1': file_path,
149
- 'file2': other_path,
150
- 'title1': note_data['title'],
151
- 'title2': other_data['title'],
152
- 'common_words': list(common_words),
153
- 'type': 'keyword_overlap',
154
- 'confidence': len(common_words) / 5
155
- })
156
-
157
- return suggestions
158
-
159
- def find_orphaned_notes(self):
160
- """Find notes with no incoming or outgoing links."""
161
- orphaned = []
162
-
163
- for file_path, note_data in self.notes.items():
164
- if len(note_data['existing_links']) == 0:
165
- # Check if any other notes link to this one
166
- mentioned_in = []
167
- for other_path, other_data in self.notes.items():
168
- if note_data['title'] in other_data['existing_links']:
169
- mentioned_in.append(other_path)
170
-
171
- if not mentioned_in:
172
- orphaned.append({
173
- 'file': file_path,
174
- 'title': note_data['title'],
175
- 'word_count': note_data['word_count']
176
- })
177
-
178
- return orphaned
179
-
180
- def analyze_vault(self):
181
- """Perform complete analysis of the vault."""
182
- print("Loading notes...")
183
- self.load_notes()
184
- print(f"Loaded {len(self.notes)} notes")
185
-
186
- print("Finding entity mentions...")
187
- self.find_entity_mentions()
188
-
189
- print("Generating link suggestions...")
190
- entity_suggestions = self.suggest_links_by_entities()
191
- keyword_suggestions = self.suggest_links_by_keywords()
192
- orphaned_notes = self.find_orphaned_notes()
193
-
194
- return {
195
- 'entity_suggestions': entity_suggestions,
196
- 'keyword_suggestions': keyword_suggestions,
197
- 'orphaned_notes': orphaned_notes,
198
- 'stats': {
199
- 'total_notes': len(self.notes),
200
- 'entity_suggestions': len(entity_suggestions),
201
- 'keyword_suggestions': len(keyword_suggestions),
202
- 'orphaned_notes': len(orphaned_notes)
203
- }
204
- }
205
-
206
- def generate_report(self, results, output_file=None):
207
- """Generate a human-readable report."""
208
- report = []
209
-
210
- report.append("# Link Suggestions Report")
211
- report.append(f"Generated for vault: {self.vault_path}")
212
- report.append(f"Total notes analyzed: {results['stats']['total_notes']}")
213
- report.append("")
214
-
215
- # Entity-based suggestions
216
- report.append("## Entity-Based Link Suggestions")
217
- report.append(f"Found {len(results['entity_suggestions'])} potential connections")
218
- report.append("")
219
-
220
- # Group by entity
221
- entity_groups = defaultdict(list)
222
- for suggestion in results['entity_suggestions']:
223
- entity_groups[suggestion['common_entity']].append(suggestion)
224
-
225
- for entity, suggestions in sorted(entity_groups.items()):
226
- report.append(f"### {entity.title()}")
227
- for suggestion in suggestions[:5]: # Top 5 per entity
228
- report.append(f"- [[{suggestion['title1']}]] ↔ [[{suggestion['title2']}]]")
229
- report.append("")
230
-
231
- # Keyword-based suggestions
232
- report.append("## Keyword-Based Link Suggestions")
233
- report.append(f"Found {len(results['keyword_suggestions'])} potential connections")
234
- report.append("")
235
-
236
- # Sort by confidence
237
- sorted_keywords = sorted(results['keyword_suggestions'],
238
- key=lambda x: x['confidence'], reverse=True)
239
-
240
- for suggestion in sorted_keywords[:20]: # Top 20
241
- common_words = ', '.join(suggestion['common_words'])
242
- report.append(f"- [[{suggestion['title1']}]] ↔ [[{suggestion['title2']}]]")
243
- report.append(f" Common words: {common_words}")
244
- report.append("")
245
-
246
- # Orphaned notes
247
- report.append("## Orphaned Notes (No Links)")
248
- report.append(f"Found {len(results['orphaned_notes'])} notes with no connections")
249
- report.append("")
250
-
251
- # Sort by word count (longer notes first)
252
- sorted_orphaned = sorted(results['orphaned_notes'],
253
- key=lambda x: x['word_count'], reverse=True)
254
-
255
- for note in sorted_orphaned[:30]: # Top 30
256
- report.append(f"- [[{note['title']}]] ({note['word_count']} words)")
257
-
258
- report_text = '\n'.join(report)
259
-
260
- if output_file:
261
- with open(output_file, 'w', encoding='utf-8') as f:
262
- f.write(report_text)
263
- print(f"Report saved to: {output_file}")
264
-
265
- return report_text
266
-
267
- def main():
268
- parser = argparse.ArgumentParser(description='Suggest links for Obsidian vault')
269
- parser.add_argument('--vault', default='/Users/cam/VAULT01',
270
- help='Path to Obsidian vault')
271
- parser.add_argument('--output',
272
- default='/Users/cam/VAULT01/System_Files/Link_Suggestions_Report.md',
273
- help='Output file for report')
274
- parser.add_argument('--json',
275
- help='Output JSON file for programmatic use')
276
-
277
- args = parser.parse_args()
278
-
279
- suggester = LinkSuggester(args.vault)
280
- results = suggester.analyze_vault()
281
-
282
- # Generate report
283
- report = suggester.generate_report(results, args.output)
284
-
285
- # Save JSON if requested
286
- if args.json:
287
- with open(args.json, 'w') as f:
288
- json.dump(results, f, indent=2, default=str)
289
- print(f"JSON data saved to: {args.json}")
290
-
291
- # Print summary
292
- print("\n" + "="*50)
293
- print("LINK SUGGESTIONS SUMMARY")
294
- print("="*50)
295
- print(f"Total notes: {results['stats']['total_notes']}")
296
- print(f"Entity-based suggestions: {results['stats']['entity_suggestions']}")
297
- print(f"Keyword-based suggestions: {results['stats']['keyword_suggestions']}")
298
- print(f"Orphaned notes: {results['stats']['orphaned_notes']}")
299
-
300
- if __name__ == '__main__':
301
- main()
@@ -1,197 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Metadata Adder for Obsidian Vault
4
- Adds standardized frontmatter to markdown files that lack it.
5
- """
6
-
7
- import os
8
- import re
9
- from datetime import datetime
10
- from pathlib import Path
11
- import argparse
12
-
13
- class MetadataAdder:
14
- def __init__(self, vault_path):
15
- self.vault_path = Path(vault_path)
16
- self.stats = {
17
- 'processed': 0,
18
- 'updated': 0,
19
- 'skipped': 0,
20
- 'errors': 0
21
- }
22
-
23
- def get_file_creation_date(self, file_path):
24
- """Get file creation date from filesystem."""
25
- try:
26
- stat = os.stat(file_path)
27
- # Use birthtime on macOS, ctime on others
28
- timestamp = stat.st_birthtime if hasattr(stat, 'st_birthtime') else stat.st_ctime
29
- return datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d')
30
- except:
31
- return datetime.now().strftime('%Y-%m-%d')
32
-
33
- def determine_file_type(self, file_path):
34
- """Determine the type of note based on path and content."""
35
- path_str = str(file_path).lower()
36
-
37
- if 'moc' in path_str or 'map of content' in path_str:
38
- return 'map-of-content'
39
- elif 'daily notes' in path_str or 'daily note' in path_str:
40
- return 'daily'
41
- elif 'research' in path_str or 'articles' in path_str:
42
- return 'research'
43
- elif 'client' in path_str or 'camrohn llc' in path_str:
44
- return 'client-work'
45
- elif 'tutorial' in path_str or 'course' in path_str:
46
- return 'tutorial'
47
- elif 'idea' in path_str:
48
- return 'idea'
49
- elif 'meeting' in path_str:
50
- return 'meeting'
51
- elif 'email' in path_str:
52
- return 'email'
53
- else:
54
- return 'note'
55
-
56
- def generate_tags_from_path(self, file_path):
57
- """Generate tags based on file path."""
58
- tags = []
59
- path_parts = file_path.relative_to(self.vault_path).parts[:-1] # Exclude filename
60
-
61
- # Map directory names to tags
62
- tag_mapping = {
63
- 'ai development': 'ai/development',
64
- 'ai articles': 'ai/research',
65
- 'ai courses': 'tutorial/course',
66
- 'ai ideas': 'idea',
67
- 'camrohn llc': 'client',
68
- 'daily notes': 'daily',
69
- 'clippings': 'clippings',
70
- 'mcp': 'mcp',
71
- 'langchain': 'langchain',
72
- 'graphrag': 'graphrag'
73
- }
74
-
75
- for part in path_parts:
76
- part_lower = part.lower()
77
- for key, tag in tag_mapping.items():
78
- if key in part_lower:
79
- tags.append(tag)
80
- break
81
-
82
- # Add date tags for daily notes
83
- if 'daily' in tags:
84
- created_date = self.get_file_creation_date(file_path)
85
- year_month = datetime.strptime(created_date, '%Y-%m-%d').strftime('%Y/%m')
86
- tags.append(f'daily/{year_month}')
87
-
88
- return list(set(tags)) # Remove duplicates
89
-
90
- def has_frontmatter(self, content):
91
- """Check if content already has frontmatter."""
92
- return content.strip().startswith('---')
93
-
94
- def create_frontmatter(self, file_path, existing_content):
95
- """Create appropriate frontmatter for the file."""
96
- created_date = self.get_file_creation_date(file_path)
97
- file_type = self.determine_file_type(file_path)
98
- tags = self.generate_tags_from_path(file_path)
99
-
100
- # Extract title from first heading or filename
101
- title_match = re.search(r'^#\s+(.+)$', existing_content, re.MULTILINE)
102
- if title_match:
103
- title = title_match.group(1)
104
- else:
105
- title = file_path.stem.replace('_', ' ').replace('-', ' ')
106
-
107
- frontmatter = f"""---
108
- tags: {tags}
109
- type: {file_type}
110
- created: {created_date}
111
- modified: {datetime.now().strftime('%Y-%m-%d')}
112
- status: active
113
- related: []
114
- aliases: []
115
- ---
116
-
117
- """
118
-
119
- return frontmatter
120
-
121
- def process_file(self, file_path):
122
- """Process a single markdown file."""
123
- try:
124
- with open(file_path, 'r', encoding='utf-8') as f:
125
- content = f.read()
126
-
127
- if self.has_frontmatter(content):
128
- self.stats['skipped'] += 1
129
- return False
130
-
131
- # Create and prepend frontmatter
132
- frontmatter = self.create_frontmatter(file_path, content)
133
- new_content = frontmatter + content
134
-
135
- # Write back to file
136
- with open(file_path, 'w', encoding='utf-8') as f:
137
- f.write(new_content)
138
-
139
- self.stats['updated'] += 1
140
- return True
141
-
142
- except Exception as e:
143
- print(f"Error processing {file_path}: {e}")
144
- self.stats['errors'] += 1
145
- return False
146
-
147
- def process_vault(self, dry_run=False):
148
- """Process all markdown files in the vault."""
149
- # Directories to skip
150
- skip_dirs = {'.obsidian', '.trash', 'System_Files', '.git'}
151
-
152
- for file_path in self.vault_path.rglob('*.md'):
153
- # Skip files in excluded directories
154
- if any(skip_dir in file_path.parts for skip_dir in skip_dirs):
155
- continue
156
-
157
- self.stats['processed'] += 1
158
-
159
- if dry_run:
160
- with open(file_path, 'r', encoding='utf-8') as f:
161
- content = f.read()
162
-
163
- if not self.has_frontmatter(content):
164
- print(f"Would update: {file_path.relative_to(self.vault_path)}")
165
- self.stats['updated'] += 1
166
- else:
167
- self.stats['skipped'] += 1
168
- else:
169
- if self.process_file(file_path):
170
- print(f"Updated: {file_path.relative_to(self.vault_path)}")
171
-
172
- return self.stats
173
-
174
- def main():
175
- parser = argparse.ArgumentParser(description='Add metadata to Obsidian vault files')
176
- parser.add_argument('--vault', default='/Users/cam/VAULT01',
177
- help='Path to Obsidian vault')
178
- parser.add_argument('--dry-run', action='store_true',
179
- help='Show what would be updated without making changes')
180
-
181
- args = parser.parse_args()
182
-
183
- adder = MetadataAdder(args.vault)
184
- print(f"Processing vault at: {args.vault}")
185
- print("Dry run mode" if args.dry_run else "Making changes")
186
- print("-" * 50)
187
-
188
- stats = adder.process_vault(dry_run=args.dry_run)
189
-
190
- print("-" * 50)
191
- print(f"Files processed: {stats['processed']}")
192
- print(f"Files updated: {stats['updated']}")
193
- print(f"Files skipped (already have metadata): {stats['skipped']}")
194
- print(f"Errors: {stats['errors']}")
195
-
196
- if __name__ == '__main__':
197
- main()