diff --git a/.gitignore b/.gitignore index 15e9f45..9be833f 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,3 @@ debian/*.debhelper.log debian/*.debhelper debian/*.substvars debian/python3-damaris/ - -# Agent metadata -AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..2c7f68f --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,19 @@ +# python3-damaris + +## GUI Purpose and Operation +This is the front end part of GUI for controlling NMR spectrometers. On "Start", the experiment script executes and creates XML job files. A backend, not in this code, executes these jobs sequentially adn writes the results as XML files. The front end consumes these result files using the result script. + +## Guidelines +1. Use the .venv python3 environment +5. Old code was ported from gtk2 and python2.7. This code has to work on python 3.11 and above, as well as GTK3 +2. Be aware the targeted Debian versions are bookworm, trixie, and forky. +3. Only use packages and libraries available in Debian bookworm, trixie, and forky. Make sure that the code is compatible with all of these versions. +3. Do not commit changes (with git) or write commit messages without asking the user. +4. Try to minimize code changes, do not use elaborate checks for defensive programming. Ask the user if something should be tested with unit tests. +6. Use the python unittest module for unit tests, not pytest +7. Functions for the experiment script belong to the src/damaris/experiments/Experiment.py file +8. Functions for the result script belong in the files in the src/damaris/data/ folder +9. The gitea workflow can be found at .gitea/workflows/debian-build.yml +10. to not edit anything in "build", it is regenerated +11. Use sphinx for documentation, autodoc and autosummary is used for references of all classes, functions and modules. +12. If a new function/method is created document a short usage the doc/api_reference.rst and a longer explanation in doc/manual.rst