4141
4242<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
4343[ ![ All Contributors] ( https://img.shields.io/badge/all_contributors-18-orange.svg?style=flat-square )] ( #contributors- )
44- <!-- ALL-CONTRIBUTORS-BADGE:END -->
44+ <!-- ALL-CONTRIBUTORS-BADGE:END -->
4545</p >
4646
4747<p align =" center " >Python API for Photoshop.</p >
@@ -72,7 +72,7 @@ pip install photoshop_python_api
7272```
7373
7474
75- Since it uses COM (Component Object Model) connect Photoshop, it can be used
75+ Since it uses COM (Component Object Model) connect Photoshop, it can be used
7676in any DCC software with a python interpreter.
7777
7878
@@ -183,8 +183,8 @@ Contributions of any kind are welcome!
183183how to get Photoshop program ID
184184-------------------------------
185185``` PS>
186- Get-ChildItem "HKLM:\SOFTWARE\Classes" |
187- ?{ ($_.PSChildName -match "^[a-z]+\.[a-z]+(\.\d+)?$") -and ($_.GetSubKeyNames() -contains "CLSID") } |
186+ Get-ChildItem "HKLM:\SOFTWARE\Classes" |
187+ ?{ ($_.PSChildName -match "^[a-z]+\.[a-z]+(\.\d+)?$") -and ($_.GetSubKeyNames() -contains "CLSID") } |
188188 ?{ $_.PSChildName -match "Photoshop.Application" } | ft PSChildName
189189```
190190![ get_program_id] ( https://i.imgur.com/UwPN7qq.png )
@@ -208,3 +208,89 @@ Useful links
208208- http://www.tonton-pixel.com/scripts/utility-scripts/get-equivalent-id-code/index.html
209209- https://github.com/Adobe-CEP/Samples/tree/master/PhotoshopEvents
210210- https://evanmccall.wordpress.com/2015/03/09/how-to-develop-photoshop-tools-in-python
211+
212+
213+ ## 🛠️ Development Guide
214+
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.
216+
217+ ### 📋 Quick Start for Contributors
218+
219+ ``` bash
220+ # Clone the repository
221+ git clone https://github.com/loonghao/photoshop-python-api.git
222+ cd photoshop-python-api
223+
224+ # Install dependencies with Poetry
225+ poetry install
226+
227+ # Install pre-commit hooks
228+ pre-commit install
229+
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 `
264+
265+ - ** Branching Strategy** :
266+ - Main branch: ` main ` - Always stable and deployable
267+ - Feature branches: ` feature/<feature-name> `
268+ - Bug fixes: ` fix/<bug-description> `
269+ - Documentation: ` docs/<doc-description> `
270+
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
280+
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
284+
285+ ### 🤝 Contributing Process
286+
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
295+
296+ Thank you for contributing to the Photoshop Python API project! 🎉
0 commit comments