You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+17-9Lines changed: 17 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -288,15 +288,13 @@ be `v<X.Y.Z>` and must match the `version` field in
288
288
289
289
1. Verifies tag ↔ version parity
290
290
2. Builds, packages, and verifies VSIX contents
291
-
3. Publishes to VS Code Marketplace via `VSCE_PAT` secret
292
-
4. Publishes to Open VSX via `OVSX_PAT` secret
293
-
5. Attaches the VSIX to a GitHub Release
291
+
3. Publishes to Open VSX via `OVSX_TOKEN` (`ovsx publish` on the built VSIX).
292
+
Legacy secret name `OVSX_PAT` is still accepted. Missing token or publish
293
+
failure fails the job — Open VSX is the canonical distribution channel.
294
+
4. Attaches the VSIX to a GitHub Release
294
295
295
-
Both tokens are optional — missing tokens produce a CI warning but don't
296
-
fail the job. The GitHub Release always happens.
297
-
298
-
Publisher is `ccashwell`. Do **not** change the publisher without
299
-
coordinating the Azure DevOps PAT.
296
+
VS Code Marketplace publish is not wired in CI yet. Publisher id is
297
+
`ccashwell` on Open VSX.
300
298
301
299
---
302
300
@@ -320,14 +318,24 @@ coordinating the Azure DevOps PAT.
320
318
321
319
---
322
320
323
-
## Agent preferences learned in prior sessions
321
+
## Learned User Preferences
324
322
325
323
- When reviewing code for findings, **resolve them immediately** — do not stop at "here's a list of issues."
326
324
- Commit scope should match logical change boundaries, not sweep everything into one `WIP` commit.
325
+
- When fixing an audit or review list, land **one commit per item** — do not batch unrelated fixes.
327
326
- Use the `continual-learning` workflow to persist durable facts across sessions — this document is the primary output.
328
327
- Prefer conventional-commit-style messages (`fix(scope): …`, `feat(scope): …`) with a short body explaining _why_.
329
328
- When a feature gets a second implementation (e.g. a new indexer backend), extract the shared helpers into a peer module before adding the variant — do not fork-then-diverge.
330
329
- Split unrelated fixes in a session into separate commits; don't sweep them into one "WIP".
330
+
- When the user needs to test fixes in an installed extension, run `pnpm package` for a VSIX — `pnpm build` alone does not produce one.
331
+
332
+
## Learned Workspace Facts
333
+
334
+
- File-level Solidity declarations (structs, enums, errors, free functions, UDVTs) live on `SoliditySourceUnit` outside `contracts`; providers must consult `sourceUnit.structs`, `freeFunctions`, etc., not only `getEnclosingContract`.
335
+
-`using for` library extension calls bind the receiver as the library function's first explicit parameter; inlay hints and signature help must resolve the receiver type via contract `using` directives and omit that parameter from labeled arguments.
336
+
- Webview `buildHtml` inline scripts must register DOM event listeners once at initialization — re-invoked render helpers must update DOM only, not call `addEventListener` again (stacked listeners leak memory).
337
+
- Filesystem watchers that trigger LSP round-trips (e.g. Test Explorer on `**/*.sol`) should debounce rapid create/change/delete bursts (~400ms) from fmt, multi-file saves, and codegen.
338
+
- Comments inside webview HTML template literals must not contain backticks; block comments must not contain `*/` substrings — both break parsing of the surrounding string or comment.
0 commit comments