### New Content - Learning Paths section in README (Junior/Senior/Power User/PM tracks) - examples/ folder with 18 ready-to-use templates: - 4 agents (code-reviewer, test-writer, security-auditor, refactoring) - 2 skills (TDD workflow, security checklist) - 3 commands (commit, review-pr, generate-tests) - 4 hooks (bash + PowerShell for security, formatting) - 3 config templates (settings, MCP, gitignore) - 2 memory templates (project + personal CLAUDE.md) ### Governance - CHANGELOG.md: Version history (1.0.0 → 1.1.0 → Unreleased) - CONTRIBUTING.md: Contribution guidelines for community ### Documentation - llms.txt: Updated structure with new files/folders This update makes the guide more actionable with concrete templates and provides clear learning paths for different skill levels. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
50 lines
1.4 KiB
PowerShell
50 lines
1.4 KiB
PowerShell
# PostToolUse hook - Auto-format files after editing
|
|
# Place in: .claude\hooks\auto-format.ps1
|
|
# Register in: .claude\settings.json (with -ExecutionPolicy Bypass)
|
|
|
|
$inputJson = [Console]::In.ReadToEnd() | ConvertFrom-Json
|
|
$tool = $inputJson.tool_name
|
|
|
|
# Only run after Write or Edit operations
|
|
if ($tool -eq "Write" -or $tool -eq "Edit") {
|
|
$file = $inputJson.tool_input.file_path
|
|
if (-not $file) {
|
|
$file = $inputJson.tool_input.path
|
|
}
|
|
|
|
if (-not $file -or $file -eq "null") {
|
|
exit 0
|
|
}
|
|
|
|
# Get file extension
|
|
$ext = [System.IO.Path]::GetExtension($file).TrimStart('.')
|
|
|
|
switch ($ext) {
|
|
{ $_ -in @("js", "jsx", "ts", "tsx", "json", "css", "scss", "md", "html", "vue") } {
|
|
# Format with Prettier if available
|
|
if (Test-Path "node_modules\.bin\prettier.cmd") {
|
|
& npx prettier --write $file 2>$null
|
|
}
|
|
}
|
|
"py" {
|
|
# Format with Black if available
|
|
if (Get-Command black -ErrorAction SilentlyContinue) {
|
|
& black $file 2>$null
|
|
}
|
|
}
|
|
"go" {
|
|
# Format with gofmt
|
|
if (Get-Command gofmt -ErrorAction SilentlyContinue) {
|
|
& gofmt -w $file 2>$null
|
|
}
|
|
}
|
|
"rs" {
|
|
# Format with rustfmt
|
|
if (Get-Command rustfmt -ErrorAction SilentlyContinue) {
|
|
& rustfmt $file 2>$null
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
exit 0
|