Skip to content

Commit 9eff376

Browse files
Merge pull request #3675 from sosiouxme/20260623-agent-updates
expand agent instructions
2 parents 8363070 + ad10620 commit 9eff376

10 files changed

Lines changed: 67 additions & 14 deletions

File tree

.apm/instructions/backend.instructions.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,8 @@ applyTo: "**/*.go"
55

66
* When adding or updating APIs, **use HATEOAS** in responses to support discoverability and consistent client interaction.
77
* Follow idiomatic Go practices.
8+
* Use `k8s.io/apimachinery/pkg/util/sets` (e.g. `sets.NewString()`) to deduplicate or collect unique strings. Do not use `map[string]bool` as a hand-rolled set.
9+
* Prefer structured logging where it makes sense; particularly for names and IDs, and often for
10+
counts, a log.WithField() call is preferred over formatting values into a string.
811
* After making changes, always run `gofmt -w` on modified files to ensure proper formatting.
912
* When modifying any data provider (BigQuery or PostgreSQL), ensure **parity between both implementations**. Changes to query logic, filtering, or returned data in one provider must be reflected in the other.

.apm/instructions/docs.instructions.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@ applyTo: "**"
1818
purpose, data flow, and key code locations; keep them accurate as
1919
the implementation evolves. If you add a new major feature, create a
2020
new doc in `docs/features/`.
21-
* Documentation and code belong in the same PR never treat a docs update
21+
* Documentation and code belong in the same PR; never treat a docs update
2222
as a follow-up task.
23+
* Do not use em dashes when writing docs. Use commas, parentheses, or periods instead.

.apm/instructions/testing.instructions.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,11 @@ applyTo: "**/*_test.go"
44
---
55

66
* Use `go vet` and `go test ./pkg/...` to validate changes before resorting to a full e2e run.
7-
* Run `make e2e 2>&1 | tee e2e-test.log` to verify your changes don't break end-to-end tests. You **MUST** read the log file (`e2e-test.log`) for results. Do not re-run e2e just to grep for different things — all output is already in the log file.
7+
* Run `make e2e 2>&1 | tee e2e-test.log` to verify your changes don't break end-to-end tests. You **MUST** read the log file (`e2e-test.log`) for results. Do not re-run e2e just to grep for different things. All output is already in the log file.
8+
* Do not mock storage clients (BigQuery, GCS, Postgres, etc.) when constructing golang unit tests.
9+
Go does not make it easy to substitute mocks for concrete SDK clients, and mock-heavy tests tend
10+
to verify the mock implementation rather than real behavior. Instead, structure code to separate
11+
pure logic from client calls. Unit test the logic functions directly (validation, data
12+
transformation, result aggregation and analysis). Enable testing against real storage systems with
13+
functional tests that skip unless the user supplies connection credentials via environment
14+
variables (see `releasesync_functional_test.go` for the pattern).

.claude/rules/backend.md

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.claude/rules/testing.md

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.cursor/rules/backend.mdc

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.cursor/rules/testing.mdc

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

AGENTS.md

Lines changed: 14 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CLAUDE.md

Lines changed: 14 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apm.lock.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,13 @@ local_deployed_file_hashes:
104104
.claude/commands/sippy-generate-release-views.md: sha256:eb4c9eeeea2ab2a90e8a8839147d8a1a309ea6ce3dafd397c6d2485c93068a9a
105105
.claude/commands/sippy-update-ga-release-views.md: sha256:4a5589bacc05127e427a2de4d34a8f13e05e297bdf6ebf7473c9e71f47a6b4f4
106106
.claude/commands/sippy-update-job-variant.md: sha256:f88742dddeec5024931959a8330fdce362ffdd9b8825e808830ac346605cbd16
107-
.claude/rules/backend.md: sha256:c57f9ef479340d977f06266779cacc8cd0a67cf045a58d30757a0c494354081a
107+
.claude/rules/backend.md: sha256:b1bd6bacccc8bfc8ab2c060496fede3bdcece46b59cf218cd7cddc3617ead4c5
108108
.claude/rules/config.md: sha256:96c5e42c039230f1e4e7f9ba56d04e6f76f23deeecdd858634c440d6029a6a83
109109
.claude/rules/dev-commands.md: sha256:eb32bdc640add2044138807572ea1afb73ee1bba038f5098032a89987a7ddc04
110110
.claude/rules/frontend.md: sha256:ff22046c5b951769218bbdf36499e67c70896811b8ef161ca6d3729a3423997d
111111
.claude/rules/general.md: sha256:997f68e86cb43485ec5f108be3417f9bbb43ae1faffd660d598f18260f5df3ce
112112
.claude/rules/mcp.md: sha256:ddfe965e7cf8cddbba1374c6ae582a20ac0af17c958bf10e1a4edff6ff2ad0b8
113-
.claude/rules/testing.md: sha256:57834092f6732d17f8c1812d25290cfc1cfbbbeb6eae1561ba2240973c651866
113+
.claude/rules/testing.md: sha256:52bfc6e67b38d17b767d34c480530cd14c700ef8018d5c70c2deaa7133717904
114114
.cursor/commands/agentic-followup.md: sha256:e7002eb10bcec06fe7e12924e52b3991572f25e2884873d7297243bc5e9720f0
115115
.cursor/commands/agentic-solve.md: sha256:080b152d6089be34d7cd2fac0845b312e99cae9039fc8353eeccab4b1ce78663
116116
.cursor/commands/sippy-dev-app.md: sha256:656276ed961940c137dde32ecdb0501427d4d811502a27125ba073adc770d266
@@ -124,13 +124,13 @@ local_deployed_file_hashes:
124124
.cursor/commands/sippy-generate-release-views.md: sha256:eb4c9eeeea2ab2a90e8a8839147d8a1a309ea6ce3dafd397c6d2485c93068a9a
125125
.cursor/commands/sippy-update-ga-release-views.md: sha256:4a5589bacc05127e427a2de4d34a8f13e05e297bdf6ebf7473c9e71f47a6b4f4
126126
.cursor/commands/sippy-update-job-variant.md: sha256:f88742dddeec5024931959a8330fdce362ffdd9b8825e808830ac346605cbd16
127-
.cursor/rules/backend.mdc: sha256:fb466b896d76ea1730c23d6c3fc783adf2cd5502c1cbb36e5b3d30c01531e4c1
127+
.cursor/rules/backend.mdc: sha256:5ff740fc76c25ee64beb7f768399da6ef6510ecca8147e5c2f81fbb110043084
128128
.cursor/rules/config.mdc: sha256:d6e2195399bbb26a3fef7e54bd01862ffce39d89dce8aabdb0b89c89028192eb
129129
.cursor/rules/dev-commands.mdc: sha256:3dc8a3ef5cbb22ebb09b7fe3785f24a32ab2baa4488c5514c9c6210b0af6c4eb
130130
.cursor/rules/frontend.mdc: sha256:497f39372724f1ae127181fe3dac9ea9a95a51c532b68ccfee6080832cf9c556
131131
.cursor/rules/general.mdc: sha256:5bc6e1e12d53d85656248c9dc1239c74bcc0df29d5987f3b08e3d79e3df413b7
132132
.cursor/rules/mcp.mdc: sha256:c02472afd46e4c89f71d4487dcd5da98b0c1bcbcf7f9cbc4d7ed4e7d3a206ec1
133-
.cursor/rules/testing.mdc: sha256:e5ce80313a812750404d45355b462c2e3a6458f5bc20ad7996a5da1b169a4703
133+
.cursor/rules/testing.mdc: sha256:12ea7763599eb56fdd92ae09a9fed19495b17673ee34701803a6eae7ac50d3e8
134134
.gemini/commands/agentic-followup.toml: sha256:2488d008e80c8827e365bfa1c63ba7e4ad1aa1a8141233cf72cf05aaae96f2f0
135135
.gemini/commands/agentic-solve.toml: sha256:09df5f8279bba3c08e780d9bcc0907308a11a19071008561b6870c8bc65a63e4
136136
.gemini/commands/sippy-dev-app.toml: sha256:fc28174eeab4e440694a823bd838d429241997a018d8a13f32e0f67ca4d973c5

0 commit comments

Comments
 (0)