42 lines
2.1 KiB
Markdown
42 lines
2.1 KiB
Markdown
# Repository Guidelines
|
|
|
|
## Project Structure & Module Organization
|
|
|
|
- `grezzo.sh` is the core library with shared helpers (e.g., `feat_needed`, `feat_missing`).
|
|
- `featlib/` contains feature installers, one tool per file (`pip.sh`, `docker.sh`, `npm.sh`, `rustup.sh`, `curl.sh`).
|
|
- `featlib/poetry/` holds Poetry-specific feature scripts (e.g., `django.sh`).
|
|
- Entry-point scripts live at the repo root (e.g., `python.sh`, `node_pip_docker_rust.sh`).
|
|
|
|
## Build, Test, and Development Commands
|
|
|
|
There is no build system; scripts are executed directly from the repo root.
|
|
|
|
- `bash python.sh` installs Python tooling via `pip`/`pyenv`.
|
|
- `bash node_pip_docker_rust.sh` installs Node, Pip/Poetry, Docker, and Rust tooling.
|
|
- `bash grezzo.sh` can be sourced by other scripts; it is not meant to be run standalone.
|
|
|
|
These scripts may call `sudo` and can modify shell configuration files (e.g., `$HOME/.bashrc.before`).
|
|
|
|
## Coding Style & Naming Conventions
|
|
|
|
- Language: Bash; keep the `#! /bin/bash --` shebang.
|
|
- Indentation: prefer 4 spaces (match existing files).
|
|
- Functions follow the pattern `feat_add_*`, `feat_needed`, and `*_feat_needed`.
|
|
- Use `this_script_path` to resolve relative includes and avoid `cd` assumptions.
|
|
|
|
## Testing Guidelines
|
|
|
|
No automated tests are present. Validate changes by running the relevant script end-to-end on a test machine and confirming installed tools are available (e.g., `docker --version`, `python --version`).
|
|
|
|
## Commit & Pull Request Guidelines
|
|
|
|
- Commit messages are short, descriptive, and currently in Italian (see `git log` examples like “aggiornamenti …”, “piccola modifica”).
|
|
- Do not add signatures or personal tags in commit messages.
|
|
- PRs should describe the target platforms (apt/pacman/apk/yum/zypper) and any system changes made (packages installed, files edited, required restarts).
|
|
- Include repro commands and any manual verification performed.
|
|
|
|
## Security & Configuration Tips
|
|
|
|
- Scripts can install packages system-wide and add APT repositories/keys; review changes carefully.
|
|
- Prefer testing in a VM or container and document any OS-specific behavior.
|