|
1 | 1 | # General Rules for Automation API |
2 | | - |
3 | | - - when start a task, try to find if there are related items in backlogs. Read them to know the current status about the project. |
4 | | - - if no related items found. Plan your action and create the plan in backlogs/ |
| 2 | + - before start a task, try to find if there are related items in backlogs. Read them to know the current status about the project. |
| 3 | + - if no related items found, plan your action and create the plan in backlogs/. Read the README.md file in the project folder. |
5 | 4 | - An item in backlogs/ should have 2 sections: |
6 | | - 1. the plan |
7 | | - 2. summarization of each edit session about what has been done. |
| 5 | + 1. the overview, the plan, the todo list. |
| 6 | + 2. summarization of what has been done. |
8 | 7 | - after a task is done, update the backlog and README.md/DEV.md in the project folder. (automation_api/README.md / automation_api/DEV.md) |
9 | | - - at current stage, don't keep backward compatibility, breaking changes are fine. |
| 8 | + - breaking changes are fine, we don't need to keep backward compatibility. |
10 | 9 |
|
11 | 10 | # How to test the gm-eval command |
12 | | -- Remind me (the human user) about I should update the configuration speadsheet before start. |
13 | 11 | - create a temp folder in project root |
14 | | -- in the temp folder, run `gm-eval download` and then `gm-eval run` |
| 12 | +- in the temp folder, run the gm-eval commands as you need |
| 13 | +- double check the downloaded ai_eval_sheets. If they contains many data (more than 5 questions and 5 prompts), stop and confirm if you can continue first. |
| 14 | + |
| 15 | +# Environment |
| 16 | +- Use Python version specified in .python-version |
| 17 | +- Always work within the virtual environment |
| 18 | +- use uv for virtual environment |
| 19 | +- use poethepoet for tasks |
| 20 | +- use pytest for tests |
| 21 | +- Keep pyproject.toml updated when adding new dependencies |
| 22 | + |
| 23 | +# Code Quality |
| 24 | +- We use pre-commit hooks for code quality checks |
| 25 | + - Run `pre-commit install` to set up the hooks (only needed for new env) |
| 26 | + - Hooks will run automatically on git commit |
| 27 | + - You can also run manually with `pre-commit run --all-files` |
| 28 | +- use snake_case for variable names |
| 29 | +- use all uppercase for constants |
| 30 | +- prefer functional programming style |
| 31 | +- write meaningful comments, avoid comments that are redundant or unnecessary or just "user told me to do it" |
0 commit comments