Contributing¶
Thank you for your interest in contributing to CMS Cultivator! This document provides guidelines for contributing to the project.
Getting Started¶
Prerequisites¶
- Git
- Python 3.x (for MkDocs documentation)
- Claude Code CLI (for testing commands)
- Basic knowledge of Markdown
Setting Up Development Environment¶
-
Fork the repository on GitHub
-
Clone your fork:
-
Install MkDocs (for documentation):
-
Test the plugin locally:
Making Changes¶
Adding a New Command¶
-
Create command file in
/commands/
: -
Add frontmatter at the top:
-
Write command documentation:
- Clear usage instructions
- Example outputs
- Drupal/WordPress-specific considerations
-
Integration with Kanopi tools (if applicable)
-
Test the command:
-
Add to documentation:
- Update
docs/commands/overview.md
- Add detailed guide if needed
Updating Existing Commands¶
-
Modify command file in
/commands/
-
Test thoroughly:
- Try different arguments
- Test with both Drupal and WordPress projects
-
Verify Kanopi tool integration
-
Update documentation if behavior changed
Improving Documentation¶
-
Edit files in
/docs/
-
Preview locally:
-
Build to verify:
Coding Standards¶
Command Files (.md
)¶
- Use clear, descriptive headings
- Include code examples with proper syntax highlighting
- Provide both Drupal and WordPress examples where applicable
- Document all arguments and focus options
- Include expected output examples
Documentation¶
- Write in clear, concise language
- Use proper Markdown formatting
- Include code examples with syntax highlighting
- Add admonitions for warnings/tips:
Frontmatter¶
description
: Brief one-line descriptionargument-hint
: Show optional arguments in square bracketsallowed-tools
: List all tools the command can use
Pull Request Process¶
-
Create a branch from
main
: -
Make your changes:
- Follow coding standards
- Add/update documentation
-
Test thoroughly
-
Commit your changes:
Use Conventional Commits:
- feat:
- New feature
- fix:
- Bug fix
- docs:
- Documentation changes
- refactor:
- Code refactoring
- test:
- Adding tests
- chore:
- Maintenance
-
Push to your fork:
-
Create Pull Request on GitHub:
- Provide clear description
- Reference any issues
-
Add screenshots if relevant
-
Address review feedback:
- Make requested changes
- Push updates to same branch
Testing Guidelines¶
Manual Testing¶
-
Install plugin locally:
-
Test command variations:
- Without arguments
- With different focus options
- In Drupal project
-
In WordPress project
-
Verify Kanopi integration:
- Test with
ddev composer
commands - Verify
ddev
custom commands work
Documentation Testing¶
Code of Conduct¶
Our Pledge¶
We are committed to providing a welcoming and inclusive environment for all contributors.
Expected Behavior¶
- Be respectful and considerate
- Provide constructive feedback
- Focus on what is best for the community
- Show empathy towards others
Unacceptable Behavior¶
- Harassment or discriminatory language
- Personal attacks
- Publishing others' private information
- Other unethical or unprofessional conduct
Getting Help¶
- GitHub Issues: Report bugs or request features
- GitHub Discussions: Ask questions or share ideas
- Documentation: Read the full docs
Recognition¶
Contributors will be recognized in:
- CHANGELOG.md
for significant contributions
- GitHub contributors page
- Project documentation (where applicable)
License¶
By contributing to CMS Cultivator, you agree that your contributions will be licensed under the GPL-2.0-or-later license.
Thank you for contributing to CMS Cultivator! 🎉