Skip to content

Commit c1dc0bf

Browse files
authored
updated versions and deps, aded agent instructions (#318)
* updated versions and deps, aded agent instructions * use go 1.25.7 instead of 1.25.8 since golangci tool chain only goes that for 1.25 * fix coverage test
1 parent 7a31e15 commit c1dc0bf

File tree

14 files changed

+736
-187
lines changed

14 files changed

+736
-187
lines changed

.claude/CLAUDE.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# VFS Development Standards
2+
3+
All development on this repository MUST follow the comprehensive guidelines documented in `AGENTS.md` at the repository root.
4+
5+
Key requirements include:
6+
- All new code requires tests with testify/suite
7+
- Use mockery v3 with EXPECT() pattern (no manual mocks)
8+
- All PRs must update CHANGELOG.md under [Unreleased]
9+
- Follow Go version compatibility policy (latest and latest-1 minor versions)
10+
- Run golangci-lint before committing
11+
- Use table-driven tests where possible
12+
- Handle all errors explicitly with wrapped context
13+
14+
See AGENTS.md for complete details on:
15+
- Testing requirements and coverage thresholds (80% total, 63% package, 52% file)
16+
- Code quality and style standards
17+
- CHANGELOG and PR process (including section headings and breaking change rules)
18+
- Go version policy and upgrade procedures
19+
- GitHub Actions maintenance (SHA pinning, 10-day rule)
20+
- Module management for monorepo structure

.cursor/rules

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Follow all guidelines in AGENTS.md. This includes testing requirements (testify/suite, mockery v3 EXPECT pattern, table-driven tests, 80% coverage), CHANGELOG updates for all PRs under [Unreleased], Go version policy (support latest and latest-1 minor versions), code quality standards (golangci-lint, explicit error handling, wrapped errors), and PR submission guidelines (use proper section headings, mark breaking changes with "BREAKING CHANGE" text).

.github/workflows/codeql.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ jobs:
6767
# - name: Setup runtime (example)
6868
# uses: actions/setup-example@v1
6969
- name: Setup Go
70-
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
70+
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
7171
with:
72-
go-version: '1.24' # The Go version to download (if necessary) and use.
72+
go-version: '1.25' # The Go version to download (if necessary) and use.
7373
# Initializes the CodeQL tools for scanning.
7474
- name: Initialize CodeQL
75-
uses: github/codeql-action/init@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
75+
uses: github/codeql-action/init@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
7676
with:
7777
languages: ${{ matrix.language }}
7878
build-mode: ${{ matrix.build-mode }}
@@ -100,6 +100,6 @@ jobs:
100100
exit 1
101101
102102
- name: Perform CodeQL Analysis
103-
uses: github/codeql-action/analyze@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
103+
uses: github/codeql-action/analyze@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
104104
with:
105105
category: "/language:${{matrix.language}}"

.github/workflows/go-test-coverage.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ jobs:
1212
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1313

1414
- name: Set up Go
15-
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
15+
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
16+
with:
17+
go-version: 1.25
1618

1719
- name: Generate test coverage
1820
run: go test ./... -coverprofile=./cover.out -covermode=atomic -coverpkg=./...

.github/workflows/go.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@ jobs:
3535
strategy:
3636
fail-fast: false
3737
matrix:
38-
go-version: [ 1.24, 1.25 ]
38+
go-version: [ 1.25, 1.26 ]
3939
os: [ ubuntu-latest, macos-latest, windows-latest ]
4040
module: ${{ fromJson(needs.get_modules.outputs.modules) }}
4141
runs-on: ${{ matrix.os }}
4242
name: Test ${{ matrix.module }} (Go ${{ matrix.go-version }}, ${{ matrix.os }})
4343
steps:
4444
- name: Install Go
45-
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
45+
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
4646
with:
4747
go-version: ${{ matrix.go-version }}
4848
cache: false

.github/workflows/golangci-lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ jobs:
4545
module: ${{ fromJSON(needs.detect-modules.outputs.modules) }}
4646
steps:
4747
- name: Setup Go
48-
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
48+
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
4949
with:
50-
go-version: '1.24'
50+
go-version: '1.25'
5151
- name: Checkout repository
5252
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5353
- name: golangci-lint

.golangci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: "2"
22
run:
3-
go: "1.24"
3+
go: "1.25"
44
issues-exit-code: 1
55
tests: true
66
allow-parallel-runners: false
@@ -80,7 +80,11 @@ linters:
8080
min-complexity: 15
8181
gosec:
8282
excludes:
83-
- G115
83+
- G115 # Integer overflow conversion - too many false positives
84+
- G117 # Exported field names matching secret patterns (false positives for Options structs)
85+
- G101 # Hardcoded credentials detection (false positives in test files with example data)
86+
- G703 # Path traversal taint analysis (false positives for legitimate file operations)
87+
- G705 # XSS taint analysis (false positives for stdout/stderr output)
8488
lll:
8589
line-length: 140
8690
tab-width: 1

.windsurf/rules/standards.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# VFS Development Standards
2+
3+
All development on this repository MUST follow the comprehensive guidelines documented in `AGENTS.md` at the repository root.
4+
5+
Key requirements include:
6+
- All new code requires tests with testify/suite
7+
- Use mockery v3 with EXPECT() pattern (no manual mocks)
8+
- All PRs must update CHANGELOG.md under [Unreleased]
9+
- Follow Go version compatibility policy (latest and latest-1 minor versions)
10+
- Run golangci-lint before committing
11+
- Use table-driven tests where possible
12+
- Handle all errors explicitly with wrapped context
13+
14+
See AGENTS.md for complete details on:
15+
- Testing requirements and coverage thresholds (80% total, 63% package, 52% file)
16+
- Code quality and style standards
17+
- CHANGELOG and PR process (including section headings and breaking change rules)
18+
- Go version policy and upgrade procedures
19+
- GitHub Actions maintenance (SHA pinning, 10-day rule)
20+
- Module management for monorepo structure

0 commit comments

Comments
 (0)