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
+28-18Lines changed: 28 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ just bench
38
38
During development, certain commands will fail because you don't have
39
39
access to the internet.
40
40
41
-
The script `.codex/internet_resources/download.sh` is executed before
41
+
The script `.agents/download_internet_resources.sh` is executed before
42
42
your development session starts while your computer is still connected
43
43
to the internet.
44
44
@@ -49,7 +49,7 @@ can always propose a PR that modifies the download.sh script instead
49
49
of completing your main task.
50
50
51
51
Downloading development dependencies may also fail due to the lack of
52
-
internet connectivity. We are trying to maintain the script `.codex/build_all_targets.sh`
52
+
internet connectivity. We are trying to maintain the script `.agents/codex-setup`
53
53
that is also executed before your development session starts while
54
54
your computer is still connected to the internet. It tries to run
55
55
all build commands that need development dependencies in order to
@@ -63,29 +63,39 @@ the file system (i.e. depending on the programming language, the
63
63
operating system and the package manager being used, they should
64
64
be in their standard location).
65
65
66
+
# Keeping notes
67
+
68
+
In the `.agents/codebase-insights.txt` file, we try to maintain useful tips that may help
69
+
you in your development tasks. When you discover something important or surprising about
70
+
the codebase, add a remark in a comment near the relevant code or in the codebase-insights
71
+
file. ALWAYS remove older remarks if they are no longer true.
72
+
73
+
You can consult this file before starting your coding tasks.
74
+
66
75
# Code quality guidelines
67
76
68
-
-Strive to achieve high code quality.
69
-
-Write secure code.
70
-
-Make sure the code is well tested and edge cases are covered. Design the code for testability.
71
-
-Write defensive code and make sure all potential errors are handled.
72
-
-Strive to write highly reusable code with routines that have high fan in and low fan out.
73
-
-Keep the code DRY.
77
+
-ALWAYS strive to achieve high code quality.
78
+
-ALWAYS write secure code.
79
+
-ALWAYS make sure the code is well tested and edge cases are covered. Design the code for testability and be extremely thorough.
80
+
-ALWAYS write defensive code and make sure all potential errors are handled.
81
+
-ALWAYS strive to write highly reusable code with routines that have high fan in and low fan out.
82
+
-ALWAYS keep the code DRY.
74
83
- Aim for low coupling and high cohesion. Encapsulate and hide implementation details.
84
+
- When creating executable, ALWAYS make sure the functionality can also be used as a library.
85
+
To achieve this, avoid global variables, raise/return errors instead of terminating the program, and think whether the use case of the library requires more control over logging and metrics from the application that integrates the library.
75
86
76
87
# Code commenting guidelines
77
88
78
-
- Document public APIs and complex modules.
89
+
- Document public APIs and complex modules using standard code documentation conventions.
90
+
- Comment the intention behind you code extensively. Omit comments only for very obvious
91
+
facts that almost any developer would know.
79
92
- Maintain the comments together with the code to keep them meaningful and current.
80
-
-Comment intention and rationale, not obvious facts. Write self-documenting code.
81
-
- When implementing specific formats, standards or other specifications, make sure to
82
-
link to the relevant spec URLs.
93
+
-When the code is based on specific formats, standards or well-specified behavior of
94
+
other software, always make sure to include relevant links (URLs) that provide the
95
+
necessary technical details.
83
96
84
97
# Writing git commit messages
85
98
86
-
The first line of the commit message should follow the "conventional commits" style:
87
-
https://www.conventionalcommits.org/en/v1.0.0/
88
-
89
-
In the remaining lines, provide a short description of the implemented functionality.
90
-
Provide sufficient details for the justification of each design decision if multiple
91
-
approaches were considered.
99
+
- You MUST use multiline git commit messages.
100
+
- Use the convential commits style for the first line of the commit message.
101
+
- Use the summary section of your final response as the remaining lines in the commit message.
0 commit comments