Skip to content

docs: add comprehensive OSS community infrastructure#6

Merged
cschuman merged 1 commit into
mainfrom
feat/session-20260105-222309
Jan 6, 2026
Merged

docs: add comprehensive OSS community infrastructure#6
cschuman merged 1 commit into
mainfrom
feat/session-20260105-222309

Conversation

@cschuman

@cschuman cschuman commented Jan 6, 2026

Copy link
Copy Markdown
Owner

Summary

Adds all the standard files expected of a mature open source project.

Files Added

Community Files

  • CONTRIBUTING.md: Development setup, how to add rules, PR guidelines
  • CODE_OF_CONDUCT.md: Contributor Covenant v2.0
  • SECURITY.md: Vulnerability reporting policy and security design

Build & Development

  • Makefile: Standardized build, test, lint, coverage, release targets
  • .editorconfig: Consistent formatting across editors

GitHub Templates

  • Bug report template with environment info fields
  • Feature request template for new rules
  • PR template with checklist

Examples Directory

  • allocation.go: Slice/map/string concatenation patterns
  • algorithm.go: O(n²) nested loop patterns
  • database.go: N+1 query patterns
  • concurrency.go: Mutex/goroutine leak patterns
  • io.go: Buffering and file operation patterns
  • http.go: HTTP client and response body patterns

Documentation

  • README.md: Additional badges (Go version, GoDoc, PRs welcome)
  • rules/types.go: Comprehensive GoDoc comments for all exported types

Test Plan

  • make build succeeds
  • make test passes
  • make audit runs on examples directory
  • GoDoc comments render correctly

Notes

This brings goperf to parity with other respected Go static analysis tools like golangci-lint and staticcheck in terms of project infrastructure.

Add standard files expected of a mature open source project:

Community files:
- CONTRIBUTING.md: Development setup, adding rules, PR guidelines
- CODE_OF_CONDUCT.md: Contributor Covenant v2.0
- SECURITY.md: Vulnerability reporting policy

Build & Development:
- Makefile: build, test, lint, coverage, release targets
- .editorconfig: Consistent formatting across editors

GitHub templates:
- .github/ISSUE_TEMPLATE/bug_report.md
- .github/ISSUE_TEMPLATE/feature_request.md
- .github/ISSUE_TEMPLATE/config.yml
- .github/PULL_REQUEST_TEMPLATE.md

Examples:
- examples/allocation.go: Slice/map/string patterns
- examples/algorithm.go: O(n²) loop patterns
- examples/database.go: N+1 query patterns
- examples/concurrency.go: Mutex/goroutine patterns
- examples/io.go: Buffering/file patterns
- examples/http.go: HTTP client patterns

Documentation improvements:
- README.md: More badges, links to new docs
- rules/types.go: Comprehensive GoDoc comments
@cschuman cschuman merged commit c8ee32b into main Jan 6, 2026
4 of 5 checks passed
@cschuman cschuman deleted the feat/session-20260105-222309 branch January 6, 2026 03:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant