]> git.giacomolli.uk - onechat/blobdiff - .agents/skills/go-code/SKILL.md
Send the compaction view in block messages
[onechat] / .agents / skills / go-code / SKILL.md
index a9e705b7d1c53ecae9d952b35def3a5d4859dcf2..3d9e3f31d8b9c0cd299341119392139031046074 100644 (file)
@@ -15,6 +15,14 @@ description: Go style rules. Use before you write or review Go code.
   methods in one file. Give a separate responsibility its own type.
 - When code in one file gets a user in another file for an unrelated
   purpose, move it to a file named for its function in the same change.
   methods in one file. Give a separate responsibility its own type.
 - When code in one file gets a user in another file for an unrelated
   purpose, move it to a file named for its function in the same change.
+- Start each package-level name that belongs to one feature or
+  integration with the name of that feature. Start the names of its
+  files with the same name. Keep a name generic only when more than one
+  feature uses it.
+- Write type names with a capital letter, so that a variable can have
+  the name of its type. Write all other package-level names in lower
+  case.
+- Write all the letters of an initialism in one case.
 - Put entry points first, then each struct's methods as a group, then
   standalone utility functions. Do not put a utility function between
   the methods of one type.
 - Put entry points first, then each struct's methods as a group, then
   standalone utility functions. Do not put a utility function between
   the methods of one type.
@@ -84,5 +92,8 @@ description: Go style rules. Use before you write or review Go code.
   input.
 - In a test file, put constants immediately after the imports, then the
   tests, then supporting types, methods, and helpers.
   input.
 - In a test file, put constants immediately after the imports, then the
   tests, then supporting types, methods, and helpers.
+- Keep a helper that only one test file uses in that file. Put a helper
+  that more than one test file uses in a file without tests. Name that
+  file for what it holds, and end the name with `_helper_test.go`.
 - Supply valid required dependencies in tests. Do not make a dependency
   optional only to make a test simpler.
 - Supply valid required dependencies in tests. Do not make a dependency
   optional only to make a test simpler.