CI / Test on Python 3.13 (push) Successful in 55s
Task: MIL-003#1 Task: MIL-003#2 Refs #14 Refs #15 Refs #16 Refs #17 Refs #18
44 lines
1.2 KiB
Markdown
44 lines
1.2 KiB
Markdown
# Development
|
|
|
|
🌐 **English** · [Dansk](Development-da) · [Bahasa Melayu](Development-ms)
|
|
|
|
Set up the project first ([Install](Install)). The `dev` extra installs pytest, ruff, mypy and import-linter.
|
|
|
|
## Run the tests
|
|
|
|
```bash
|
|
python -m pytest
|
|
```
|
|
|
|
## Run the checks that CI runs
|
|
|
|
```bash
|
|
python -m ruff check .
|
|
python -m mypy
|
|
lint-imports
|
|
```
|
|
|
|
## Build the source documentation
|
|
|
|
```bash
|
|
doxygen Doxyfile
|
|
```
|
|
|
|
Open `build/html/index.html`. Install Doxygen from [doxygen.nl](https://www.doxygen.nl/) or your package manager.
|
|
|
|
## Code layout
|
|
|
|
| Folder | Content |
|
|
| --- | --- |
|
|
| `src/nato_alphabet/domain/` | The spelling rule, with no input or output |
|
|
| `src/nato_alphabet/application/` | The use case and its ports |
|
|
| `src/nato_alphabet/adapters/` | The CSV reader and the console |
|
|
| `src/nato_alphabet/constants.py` | Every literal of the program |
|
|
| `tests/` | pytest tests, mirroring `src/` |
|
|
|
|
Dependencies point inward: adapters know the application, the application knows the domain. import-linter enforces it.
|
|
|
|
## Pull requests
|
|
|
|
One branch and one pull request per milestone; CI must be green. The project follows the SQA and QC framework in `framework/`; see `docs/` for the plan and the review records.
|