Thank you for your interest in contributing to Org-supertag! This guide will help you understand how to participate in project development.
- Fork the project to your GitHub account
- Clone your fork locally
git clone https://github.com/your-username/org-supertag.git
- Create a new feature branch
git checkout -b feature/your-feature-name
- Commit your changes
- Push to your fork
- Create a Pull Request
- Naming Conventions
- Use meaningful English names
- Avoid abbreviations (except widely accepted ones)
- Function names use
org-supertag-
prefix - Variable names use
org-supertag-
prefix
- Comment Standards
- Each function needs detailed docstrings
- Complex code blocks need explanatory comments
- Write comments in English
- Formatting Standards
- Use 2 spaces for indentation
- Pay attention to bracket alignment
- Maintain clear code block separation
(defun org-supertag-example-function (arg1 arg2)
"A clear description of what this function does.
ARG1 is the first argument, it should be a string.
ARG2 is the second argument, it should be a number.
Return a cons cell (ARG1 . ARG2)."
;; Input validation
(unless (stringp arg1)
(error "ARG1 must be a string"))
(unless (numberp arg2)
(error "ARG2 must be a number"))
;; Main logic
(cons arg1 arg2))
<type>(<scope>): <subject> <body> <footer>
- feat
- New features
- fix
- Bug fixes
- docs
- Documentation updates
- style
- Code style adjustments
- refactor
- Code refactoring
- test
- Test-related changes
- chore
- Build process or auxiliary tool changes
feat(behavior): Add new behavior trigger - Add :on-schedule trigger type - Support scheduled trigger based on org-agenda - Add related documentation and tests Closes #123
- Write test cases for new features
- Use
ert
framework - Test files are placed in the
tests
directory
- Ensure main features are covered by tests
- Include tests for normal and abnormal cases
- Add boundary condition tests
(ert-deftest org-supertag-test-example ()
"Test `org-supertag-example-function'."
(should (equal (org-supertag-example-function "test" 1)
'("test" . 1)))
(should-error (org-supertag-example-function 1 "test")))
- All public APIs need detailed docstrings
- Include parameter descriptions and return value descriptions
- Provide usage examples
- Update README.org and README_CN.org
- Add new feature demos in DEMO.org
- Keep the English and Chinese documentation synchronized
- Follow Semantic Versioning
- Format: Major Version.Minor Version.Patch Version
- Update version number
- Update CHANGELOG
- Create release tag
- Update documentation
- Use provided issue template
- Provide detailed description of the problem or suggestion
- Provide reproduction steps (if applicable)
- Keep polite and professional
- Provide constructive feedback
- Respond to comments and questions in a timely manner
- Respect all contributors
- Keep professional and friendly communication
- Welcome different perspectives and suggestions
- Focus on technical discussions, avoid unrelated topics
Org-supertag is licensed under the MIT license.
For any questions, please contact:
- GitHub Issues
- Email: [email protected]
Thank you for your contribution!