mirror of
https://github.com/ChristianLempa/boilerplates.git
synced 2026-08-24 10:04:44 -05:00
65 lines
2.0 KiB
Markdown
65 lines
2.0 KiB
Markdown
# Contributing
|
|
|
|
## Local setup
|
|
|
|
```bash
|
|
python3 -m venv .venv
|
|
source .venv/bin/activate
|
|
python3 -m pip install --upgrade pip
|
|
python3 -m pip install -e ".[test]" ruff
|
|
```
|
|
|
|
## Running the CLI
|
|
|
|
```bash
|
|
python3 -m cli
|
|
python3 -m cli --log-level DEBUG compose list
|
|
```
|
|
|
|
## Validation gates
|
|
|
|
Run the relevant checks before finishing changes. These are release gates, not optional cleanup.
|
|
|
|
```bash
|
|
ruff check --fix .
|
|
ruff format .
|
|
python3 -m pytest
|
|
```
|
|
|
|
If `ruff` is not installed in the active environment, install it before running the gates.
|
|
|
|
For production-like boilerplate testing before a release, see `WARP-LOCAL.md` if it exists locally. It is intentionally not tracked in git and may describe local Docker contexts, test servers, and release-readiness checklists.
|
|
|
|
## GitHub workflow
|
|
|
|
This repository uses GitHub issues, branches, pull requests, and releases.
|
|
|
|
Before GitHub-facing work such as issues, branches, PRs, merges, tags, or releases, read:
|
|
|
|
- `AGENTS.md`
|
|
- this contribution guide
|
|
- `RELEASE.md` for release-related work
|
|
|
|
## Naming conventions
|
|
|
|
- Branches and PRs: `feature/2314-add-feature`, `problem/1249-fix-bug`, `release/x.x.x`
|
|
- Commit messages: `type(scope): subject`, for example `fix(compose): correct variable parsing`
|
|
- Issues should have clear titles and descriptions, link related issues/PRs, and use appropriate labels such as `problem`, `feature`, `discussion`, or `question`.
|
|
|
|
## Standard commands
|
|
|
|
Standard module commands are auto-registered for all modules:
|
|
|
|
- `list` - list templates
|
|
- `search <query>` - search templates by ID
|
|
- `show <id>` - show template details
|
|
- `generate <id>` - generate from a template; supports `--dry-run`, `--var`, `--var-file`, `--no-interactive`, and destination options
|
|
- `validate [template_id]` - validate one or all templates
|
|
- `defaults` - manage config defaults with `get`, `set`, `rm`, `clear`, and `list`
|
|
|
|
Core repository commands include:
|
|
|
|
- `repo update` - sync git-based libraries
|
|
- `repo list` - list configured libraries
|
|
- `repo add` / `repo remove` - manage configured libraries
|