Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
6cc1db0
chore: add .gitignore (exclude all except README and .gitignore)
rTexty Mar 9, 2026
00e972e
chore: initialize Go module baseline
rTexty Mar 10, 2026
dc091a2
chore: ignore local context artifacts
rTexty Mar 10, 2026
e755356
feat: add analyzer package skeleton
rTexty Mar 10, 2026
5acf938
feat: add standalone CLI entrypoint
rTexty Mar 10, 2026
12a32f1
chore: add golangci-lint plugin config examples
rTexty Mar 10, 2026
a0e41ca
test: add lowercase and ASCII rule coverage
rTexty Mar 10, 2026
d847a88
test: add punctuation and sensitive data rule coverage
rTexty Mar 10, 2026
4b450af
test: add message extraction coverage
rTexty Mar 10, 2026
c256baf
feat: define stable analyzer rules
rTexty Mar 10, 2026
5dcd48e
feat: normalize extracted message literals
rTexty Mar 10, 2026
ad506d8
chore: add repository automation and GitHub policies
rTexty Mar 10, 2026
349deb1
chore: add release workflow and README badges
rTexty Mar 10, 2026
f5a010a
chore: add changelog and release notes policy
rTexty Mar 10, 2026
bb01838
feat: add diagnostics builder and deduplication
rTexty Mar 10, 2026
cf31da4
test: add slog analysistest fixtures
rTexty Mar 10, 2026
df4aebf
test: add zap analysistest fixtures
rTexty Mar 10, 2026
68c5f43
test: add mixed analysistest fixtures
rTexty Mar 10, 2026
a5addb2
feat: classify supported slog logger calls
rTexty Mar 10, 2026
5644c25
feat: classify supported zap logger calls
rTexty Mar 10, 2026
fe7285e
feat: wire analyzer traversal and reporting
rTexty Mar 10, 2026
e8a2d09
test: add analyzer integration coverage
rTexty Mar 10, 2026
f41e145
feat: add analyzer config scaffold
rTexty Mar 10, 2026
1480957
style: normalize file formatting and newlines
rTexty Mar 10, 2026
01092d7
docs: expand README for analyzer usage
rTexty Mar 10, 2026
ca091d1
docs: add golangci-lint module plugin workflow
rTexty Mar 10, 2026
2afd859
style: run goimports cleanup
rTexty Mar 10, 2026
603bc06
fix: make golangci-lint module plugin buildable
rTexty Mar 10, 2026
f80e8f1
docs: add release readiness notes
rTexty Mar 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .custom-gcl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: v2.11.2
name: custom-golangci-lint
Comment on lines +1 to +2
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Local custom-golangci-lint is pinned to v2.11.2, while CI runs golangci-lint v2.1. If both are meant to be used for the same checks, this drift can cause "works locally, fails in CI" behavior; consider pinning a single version or documenting why they differ.

Copilot uses AI. Check for mistakes.
destination: ./bin

plugins:
- module: github.com/rTexty/logsLinter
import: github.com/rTexty/logsLinter/plugin
path: .
16 changes: 16 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
root = true

[*.{go,md,yml,yaml}]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = tab
indent_size = 4
trim_trailing_whitespace = true

[*.{md,yml,yaml}]
indent_style = space
indent_size = 2

[Makefile]
indent_style = tab
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @rTexty
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Bug report
description: Report a defect or regression.
title: "bug: "
labels:
- bug
body:
- type: textarea
id: description
attributes:
label: Description
description: What is broken and what did you expect instead?
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Reproduction
description: Minimal steps or sample code that reproduces the issue.
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: Go version, OS, and any relevant tooling.
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Security issue
url: https://github.com/rTexty/logsLinter/security/advisories/new
about: Report undisclosed vulnerabilities through private security reporting.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Feature request
description: Propose a new capability or improvement.
title: "feat: "
labels:
- enhancement
body:
- type: textarea
id: problem
attributes:
label: Problem
description: What problem are you trying to solve?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposal
description: Describe the desired behavior or API.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives
description: What alternatives did you consider?
2 changes: 2 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
self-hosted-runner:
labels: []
19 changes: 19 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: 2
updates:
- package-ecosystem: gomod
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 5
labels:
- dependencies
- github-actions

- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 5
labels:
- dependencies
- github-actions
21 changes: 21 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Summary

-

## Verification

- [ ] `go test ./...`
- [ ] `go build ./...`
- [ ] relevant docs updated
- [ ] changelog or release-notes impact considered

## Checklist

- [ ] no secrets or sensitive data added
- [ ] no unrelated files changed
- [ ] CI is expected to pass

## Release Notes

- Suggested label category:
- Changelog entry needed: yes / no
37 changes: 37 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
changelog:
exclude:
labels:
- skip-release-notes
- github-actions

categories:
- title: Breaking Changes
labels:
- breaking-change

- title: Features
labels:
- enhancement
- feature

- title: Fixes
labels:
- bug
- fix

- title: Security
labels:
- security

- title: Documentation
labels:
- documentation

- title: Maintenance
labels:
- chore
- dependencies

- title: Other Changes
labels:
- "*"
24 changes: 24 additions & 0 deletions .github/workflows/actionlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Workflow Lint

on:
push:
paths:
- ".github/workflows/**"
- ".github/actionlint.yaml"
pull_request:
paths:
- ".github/workflows/**"
- ".github/actionlint.yaml"

permissions:
contents: read

jobs:
actionlint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Run actionlint
uses: raven-actions/actionlint@v2
54 changes: 54 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: CI

on:
push:
branches:
- main
- master
- feature/**
pull_request:

permissions:
contents: read

jobs:
build-test:
runs-on: ubuntu-latest
timeout-minutes: 15

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true

- name: Verify formatting
run: |
unformatted="$(gofmt -l .)"
if [ -n "$unformatted" ]; then
echo "Unformatted files:"
echo "$unformatted"
exit 1
fi

- name: Download modules
run: go mod download

- name: Vet
run: go vet ./...

- name: Test
run: go test ./... -race -count=1

- name: Build
run: go build ./...

- name: Lint repository code
uses: golangci/golangci-lint-action@v8
with:
version: v2.1
args: --config=.golangci.repo.yml
Comment on lines +50 to +54
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI pins golangci-lint to v2.1, but .custom-gcl.yml pins the local custom binary to v2.11.2. Consider keeping these versions in sync (or documenting the reason for divergence) to avoid inconsistent lint results between local runs and CI.

Copilot uses AI. Check for mistakes.
41 changes: 41 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: CodeQL

on:
push:
branches:
- main
- master
pull_request:
schedule:
- cron: "17 3 * * 1"

permissions:
actions: read
contents: read
security-events: write

jobs:
analyze:
runs-on: ubuntu-latest
timeout-minutes: 20

strategy:
fail-fast: false
matrix:
language:
- go

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL analysis
uses: github/codeql-action/analyze@v3
18 changes: 18 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Dependency Review

on:
pull_request:

permissions:
contents: read
pull-requests: read

jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Dependency review
uses: actions/dependency-review-action@v4
Loading
Loading