Skip to content

Commit a89b994

Browse files
author
hallong
committed
docs: update development guide with modern structure and emojis
1 parent d6c28cd commit a89b994

File tree

1 file changed

+68
-30
lines changed

1 file changed

+68
-30
lines changed

README.md

Lines changed: 68 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -210,49 +210,87 @@ Useful links
210210
- https://evanmccall.wordpress.com/2015/03/09/how-to-develop-photoshop-tools-in-python
211211

212212

213-
Development Standards
214-
--------------------
213+
## 🛠️ Development Guide
215214

216-
This project follows these development standards to maintain code quality and consistency:
215+
Welcome to the development guide for the Photoshop Python API project! This section outlines our development practices and standards to ensure code quality and consistency.
217216

218-
### Code Style
217+
### 📋 Quick Start for Contributors
219218

220-
- **Python**: We follow the [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html) with some modifications:
221-
- Line length: 120 characters (configured in `.flake8` and `pyproject.toml`)
222-
- Docstrings: Google style (configured in `.flake8`)
223-
- Quotes: Double quotes as default (configured in `.flake8`)
219+
```bash
220+
# Clone the repository
221+
git clone https://github.com/loonghao/photoshop-python-api.git
222+
cd photoshop-python-api
224223

225-
- **Formatting Tools**:
226-
- [Black](https://black.readthedocs.io/): For code formatting
227-
- [isort](https://pycqa.github.io/isort/): For import sorting
228-
- [flake8](https://flake8.pycqa.org/): For style enforcement
224+
# Install dependencies with Poetry
225+
poetry install
229226

230-
### Git Workflow
227+
# Install pre-commit hooks
228+
pre-commit install
231229

232-
- **Commit Messages**: We use [Conventional Commits](https://www.conventionalcommits.org/) format
233-
- Format: `<type>(<scope>): <description>`
234-
- Types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`
235-
- Example: `feat(api): add new layer manipulation method`
230+
# Run tests
231+
pytest
232+
```
233+
234+
### 🎨 Code Style & Quality
235+
236+
We maintain high code quality standards through automated tools and consistent style guidelines:
237+
238+
- **Style Guide**: We follow the [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html) with project-specific adjustments:
239+
- Line length: 120 characters max
240+
- Docstrings: Google style format
241+
- Quotes: Double quotes preferred
242+
243+
- **Quality Tools**:
244+
- [Black](https://black.readthedocs.io/) - Code formatting
245+
- [isort](https://pycqa.github.io/isort/) - Import organization
246+
- [flake8](https://flake8.pycqa.org/) - Style enforcement
247+
- [pre-commit](https://pre-commit.com/) - Automated checks before commits
248+
249+
### 🔄 Git Workflow
250+
251+
We use a structured workflow to maintain a clean and organized repository:
252+
253+
- **Commit Messages**: Follow [Conventional Commits](https://www.conventionalcommits.org/) format
254+
255+
```text
256+
<type>(<scope>): <description>
257+
258+
[optional body]
259+
260+
[optional footer(s)]
261+
```
262+
263+
Common types: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`
236264

237265
- **Branching Strategy**:
266+
- Main branch: `main` - Always stable and deployable
238267
- Feature branches: `feature/<feature-name>`
239268
- Bug fixes: `fix/<bug-description>`
240269
- Documentation: `docs/<doc-description>`
241270

242-
### Development Environment
271+
### 🧪 Testing
272+
273+
We value thorough testing to ensure reliability:
274+
275+
- **Framework**: We use `pytest` for all tests
276+
- **Coverage**: Aim for high test coverage on new features
277+
- **Run Tests**: `pytest` or `poetry run pytest`
278+
279+
### 📦 Development Environment
243280

244-
- **Dependencies**: Managed with [Poetry](https://python-poetry.org/)
245-
- **Pre-commit Hooks**: Configured in `.pre-commit-config.yaml`
246-
- **Testing**: Use `pytest` for running tests
281+
- **Python Versions**: We support Python 3.8+ (see `pyproject.toml` for specifics)
282+
- **Dependency Management**: [Poetry](https://python-poetry.org/) for consistent environments
283+
- **Virtual Environment**: Poetry automatically creates and manages virtual environments
247284

248-
### Contributing
285+
### 🤝 Contributing Process
249286

250-
1. Fork the repository
251-
2. Create your feature branch
252-
3. Install development dependencies: `poetry install`
253-
4. Install pre-commit hooks: `pre-commit install`
254-
5. Make your changes and ensure tests pass
255-
6. Commit your changes using conventional commit format
256-
7. Push to your branch
257-
8. Create a Pull Request
287+
1. **Fork & Clone**: Fork the repository and clone your fork
288+
2. **Branch**: Create a feature branch with a descriptive name
289+
3. **Develop**: Make your changes following our code style guidelines
290+
4. **Test**: Ensure all tests pass and add new tests for new features
291+
5. **Commit**: Use conventional commit format for clear history
292+
6. **Push & PR**: Push your branch and create a Pull Request
293+
7. **Review**: Address any feedback from code reviews
294+
8. **Merge**: Once approved, your PR will be merged
258295

296+
Thank you for contributing to the Photoshop Python API project! 🎉

0 commit comments

Comments
 (0)