name: Dependency Audit description: Find code that rolls its own instead of using framework packages category: audit variables: focus: description: Specific area to focus on (e.g. filesystem, logging, process management) required: false guidelines: - Check imports for stdlib usage where a core package exists - The framework packages are the canonical implementations - Flag but don't fix — report only phases: - name: Framework Package Check description: Identify stdlib usage that should use core packages tasks: - "Check for raw os.ReadFile/os.WriteFile/os.MkdirAll — should use go-io Medium" - "Check for raw log.Printf/log.Println — should use go-log" - "Check for raw exec.Command — should use go-process" - "Check for raw http.Client without timeouts — should use shared client patterns" - "Check for raw json.Marshal/Unmarshal of config — should use core/config" - "Check for raw filepath.Walk — should use go-io Medium" - name: Duplicate Implementation Check description: Find re-implementations of existing framework functionality tasks: - "Search for custom error types — should extend go-log error patterns" - "Search for custom retry/backoff logic — should use shared patterns" - "Search for custom rate limiting — should use go-ratelimit" - "Search for custom caching — should use go-cache" - "Search for custom store/persistence — should use go-store" - "Search for custom WebSocket handling — should use go-ws Hub" - name: Report description: Document findings with file:line references tasks: - "List each violation with file:line, what it does, and which core package should replace it" - "Rank by impact — packages with many consumers are higher priority" - "Note any cases where the framework package genuinely doesn't cover the use case"