Kihagyás

Execution Environment — Dependencies (selection, evaluation & rationale)

  1. Create an issue in your GitLab project.
  2. Copy and paste the checklist below into the issue description.
  3. Work through the checklist.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
- [ ] **Define how you will select and evaluate dependencies.***Create `/docs/deps.md` describing your **selection criteria**: maintenance, license, popularity, ecosystem fit, performance, and long-term stability.*

- [ ] **Question:** Which libraries or frameworks suit your project best?  
  → *You must **evaluate and justify** each major dependency. Consider alternatives and record your reasoning in `/docs/deps.md` or a linked issue.*

- [ ] **Choose freely — examples below are only references.**  
  💡 *You are **not limited** to this list; select what fits your goals and stack.*  
  **Python examples:**  
  - `pandas` → structured data processing  
  - `rich` → readable CLI output/logs  
  - `tqdm` → progress bars  
  - `pytest`, `pytest-cov` → testing  
  - `black`, `ruff`, `mypy` → formatting, linting, type checks  
  **Java examples:**  
  - `slf4j` + `logback` → logging  
  - `jackson-databind` → JSON  
  - `JUnit`, `Mockito` → testing  

- [ ] **Question:** Why did you choose these?  
  → *Add a one-line rationale next to each dependency in `/docs/deps.md` (e.g., “`rich` — improves CLI readability for demo use”).*

- [ ] **Pin and lock versions.***Commit lockfiles (`poetry.lock`, `package-lock.json`, `gradle.lockfile`, etc.) for reproducibility. Do not edit them manually.*

- [ ] **Provide installation instructions (cross-OS).***In `README` → “Install & Run”, include exact commands for Windows/macOS/Linux.*

- [ ] **Question:** How will you manage updates and removals?  
  → *Write a short policy in `/docs/deps_policy.md` (approval process, update frequency, testing before merge).*

- [ ] **Verify with a “Fresh Clone” test.***Open an issue “Dependencies Verified”: one teammate clones the repo, installs dependencies from scratch, runs tests, and posts output.*

- [ ] **Performance and footprint awareness.***If a dependency is large (e.g., `pandas`, `Spring`), justify why it’s necessary and note alternatives considered.*

- [ ] **Keep it evolving.***You can replace or remove libraries as your design matures — document each change briefly in `/docs/deps_changelog.md` with “before → after → why.”*