Initial release: cd-browser v0.1.0

This commit is contained in:
2026-03-14 17:21:49 +01:00
commit f03417f2f2
39 changed files with 2351 additions and 0 deletions

181
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,181 @@
# Contributing
Thank you for your interest in contributing to this project.
This repository is intended to be a clean, reusable, and professional Python project template. Contributions should preserve that goal.
## General Principles
- Keep the template generic and adaptable.
- Prefer clarity over cleverness.
- Avoid unnecessary complexity.
- Follow the existing project structure and conventions.
- Write all code, comments, docstrings, and documentation in English.
## Development Setup
It is recommended to use the provided Makefile.
### First-time setup
```bash
make dev
# Contributing
Thank you for your interest in contributing to this project.
This repository is intended to be a **clean, reusable, and professional Python project template**.
All contributions should aim to **improve the template without making it specific to a single project**.
The goal is to keep this repository:
- simple
- professional
- maintainable
- widely reusable
---
# General Principles
When contributing, please follow these principles:
- Keep the template **generic and adaptable**.
- Prefer **clarity over cleverness**.
- Avoid unnecessary complexity.
- Follow the existing **project structure and conventions**.
- Keep the repository **easy to understand for new developers**.
- Write all **code, comments, docstrings, and documentation in English**.
This repository should remain a **solid starting point for many different types of Python projects**.
---
# Development Setup
It is recommended to use the provided **Makefile** to set up the development environment.
## First-time setup
```bash
make dev
```
This command will:
- create the `.venv` virtual environment
- install project dependencies
- install development tools
- configure `pre-commit` hooks
---
# Development Workflow
Typical workflow when working on the project:
```bash
make fix
make quality
make run
```
Command summary:
| Command | Description |
|-------|-------------|
| `make dev` | bootstrap development environment |
| `make install` | reinstall dependencies |
| `make fix` | auto-format and fix code issues |
| `make quality` | run formatting, linting, type checks, and tests |
| `make ci` | simulate CI validation |
| `make doctor` | show environment and tool versions |
| `make run` | run the application |
---
# Code Standards
All contributions should follow these standards:
- Python **3.11+**
- Use **type hints** where appropriate
- Write **clean and modular code**
- Prefer **readable code over clever shortcuts**
- Avoid dead code
- Use **consistent docstrings** for public APIs
Tools used in this project:
- **black** → formatting
- **ruff** → linting
- **mypy** → static typing
- **pytest** → testing
---
# Quality Checks
Before submitting changes, run:
```bash
make fix
make quality
pre-commit run --all-files
```
All checks should pass before committing.
---
# Documentation
If you modify project structure, development workflow, or setup instructions, please update the relevant documentation:
- `README.md`
- `CHANGELOG.md`
- `instructions-agent.md`
Clear documentation is as important as clean code.
---
# Commit Messages
Use clear and concise commit messages.
Examples:
```
Add make doctor command
Improve README template usage instructions
Add environment configuration example
Fix formatting issues
```
Good commit messages make the project history easier to understand.
---
# Scope of Contributions
Good contributions include:
- improving the project structure
- improving development workflow
- improving documentation
- improving tooling and automation
- fixing template inconsistencies
- simplifying developer experience
Please avoid turning this repository into a **project-specific application**.
This repository should remain a **general-purpose Python template**.
---
# Acknowledgements
This template was created by **Saky**, drawing on many years of professional software engineering experience and with the assistance of modern AI development tools.
Contributions that improve the template while preserving its simplicity are always welcome.