Understanding the Project's Structure 
General Info About the Project 📖 
This is a terminal application that allows developers to generate logos (maybe a better term would be banner) for their projects. It uses the following technologies for the development process and for the build pipeline:
- PDM for development scripts and managing (dev)dependencies.
- Ruff for linting and formatting
- Pyright for type checking
- Pytest for unit tests
You can install PDM with the following command:
bash
curl -sSL https://pdm-project.org/install-pdm.py | python3 -The project also uses Vitepress for generating the documentation website.
Files and directories 📂 
Configuration Files: ⚙
- ruff.toml: Ruff configuration file (for linting and formatting)
- pyproject.toml: Python module configuration
Source: 🔢
- src/octologo/colors/: Contains color schemes (.toml files).
- src/octologo/fonts/: Contains font files that can be used in the app.
- src/octologo/styles/: Contains available logo styles.
- src/octologo/__main__.py: Application entry point.
Other: 📄
- assets/: Assets for the GitHub repo only.
- tests/: Unit test files (pytest).
- docs/: Documentation site (Vitepress)
PDM scripts 
- format: Checks for formatting errors and fixes them if possible.
- format-check: Checks for formatting errors and exists with error code if any is found.
- lint: Checks for linting errors and fixes them if possible.
- lint-check: Check for linting errors and exits with error code if any is found.
- check-types: Check for type errors with Pyright.
- tests: Run all unit tests.