Thank you for your interest in contributing to the Rapid Development Platform Prototype! This document provides guidelines and information for contributors.
- Code of Conduct
- Getting Started
- How to Contribute
- Development Setup
- Coding Standards
- Pull Request Process
- Issue Reporting
- Feature Requests
- Documentation
This project adheres to a code of conduct that we expect all contributors to follow. Please be respectful, inclusive, and constructive in all interactions.
- Be respectful and inclusive
- Welcome newcomers and help them learn
- Focus on what's best for the community
- Show empathy towards other community members
- A modern web browser
- Basic knowledge of HTML, CSS, and JavaScript
- Git installed on your system
- A GitHub account
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/rapid-dev-platform-prototype.git cd rapid-dev-platform-prototype - Add the upstream repository:
git remote add upstream https://github.com/original-owner/rapid-dev-platform-prototype.git
We welcome several types of contributions:
- Bug Reports: Report issues and bugs
- Feature Requests: Suggest new features
- Code Contributions: Submit code improvements
- Documentation: Improve documentation
- Design: Enhance UI/UX design
- Testing: Help with testing and quality assurance
- Check Existing Issues: Look for existing issues or discussions
- Create an Issue: If no existing issue, create one to discuss your contribution
- Fork and Branch: Create a feature branch from
main - Make Changes: Implement your changes
- Test: Test your changes thoroughly
- Submit PR: Create a pull request with a clear description
-
Start a Local Server:
# Using Python python -m http.server 8000 # Using Node.js npx serve . # Using PHP php -S localhost:8000
-
Open in Browser: Navigate to
http://localhost:8000/prototypes/dashboard.html -
Make Changes: Edit files and refresh browser to see changes
prototypes/
├── css/ # Shared styles
├── js/ # JavaScript utilities
├── images/ # Image assets
└── *.html # Individual pages
- Use semantic HTML5 elements
- Include proper DOCTYPE and meta tags
- Use consistent indentation (2 spaces)
- Include alt attributes for images
- Use meaningful class and ID names
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Page Title</title>
</head>
<body>
<!-- Content -->
</body>
</html>- Use consistent indentation (2 spaces)
- Follow BEM methodology for class naming
- Use CSS custom properties for theming
- Include comments for complex styles
- Organize styles logically
/* Component styles */
.component {
display: flex;
align-items: center;
padding: 16px;
}
.component__element {
margin-right: 8px;
}
.component--modifier {
background-color: var(--primary-color);
}- Use modern ES6+ syntax
- Use consistent indentation (2 spaces)
- Include JSDoc comments for functions
- Use meaningful variable and function names
- Handle errors gracefully
/**
* Updates the breadcrumb navigation
* @param {string} currentPage - The current page name
*/
function updateBreadcrumb(currentPage) {
try {
const breadcrumbList = document.querySelector('.breadcrumb-list');
if (!breadcrumbList) return;
// Implementation
} catch (error) {
console.error('Error updating breadcrumb:', error);
}
}- Use kebab-case for file names
- Use descriptive names
- Include file type in name when appropriate
Examples:
user-profile.htmldata-management.jscomponent-styles.css
- Update Documentation: Update relevant documentation
- Test Changes: Test your changes thoroughly
- Check Responsiveness: Ensure changes work on all screen sizes
- Validate HTML/CSS: Use validators to check code quality
- Update Version: Update version numbers if applicable
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
- [ ] Tested on desktop
- [ ] Tested on tablet
- [ ] Tested on mobile
- [ ] Cross-browser testing
## Screenshots
Include screenshots if applicable
## Checklist
- [ ] Code follows project standards
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No console errors- Automated Checks: CI/CD checks must pass
- Code Review: At least one maintainer review required
- Testing: Changes must be tested
- Documentation: Documentation must be updated
- Approval: Maintainer approval required for merge
When reporting bugs, please include:
- Clear Title: Descriptive title
- Description: Detailed description of the issue
- Steps to Reproduce: Step-by-step reproduction steps
- Expected Behavior: What should happen
- Actual Behavior: What actually happens
- Environment: Browser, OS, device information
- Screenshots: If applicable
**Describe the bug**
A clear description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
What you expected to happen.
**Screenshots**
If applicable, add screenshots.
**Environment:**
- OS: [e.g. Windows 10]
- Browser: [e.g. Chrome 90]
- Version: [e.g. 1.0.0]
**Additional context**
Any other context about the problem.- Check Existing Issues: Search for similar requests
- Clear Description: Provide detailed description
- Use Cases: Explain why this feature is needed
- Mockups: Include mockups or wireframes if possible
- Implementation Ideas: Suggest implementation approach
**Feature Description**
A clear description of the feature.
**Problem Statement**
What problem does this feature solve?
**Proposed Solution**
How should this feature work?
**Alternatives Considered**
Other solutions you've considered.
**Additional Context**
Any other context or screenshots.- Use clear, concise language
- Include code examples
- Provide screenshots when helpful
- Keep documentation up-to-date
- Use consistent formatting
- README: Project overview and setup
- API Documentation: Function and method documentation
- User Guides: Step-by-step usage instructions
- Developer Guides: Technical implementation details
- Changelog: Version history and changes
- Test on multiple browsers
- Test on different screen sizes
- Test with different data sets
- Test edge cases and error conditions
- Include both manual and automated testing
- Desktop browser testing
- Mobile browser testing
- Responsive design testing
- Cross-browser compatibility
- Performance testing
- Accessibility testing
- Follow existing design system
- Maintain consistency with current UI
- Consider accessibility requirements
- Provide multiple design options
- Include design rationale
- Use standard design tools (Figma, Sketch, etc.)
- Export assets in appropriate formats
- Provide both light and dark mode versions
- Include responsive design considerations
- Document design decisions
- GitHub Issues: For bug reports and feature requests
- GitHub Discussions: For general questions and discussions
- Pull Request Comments: For code review discussions
- Bug Reports: Within 48 hours
- Feature Requests: Within 1 week
- Pull Requests: Within 3-5 business days
- General Questions: Within 1 week
Contributors will be recognized in:
- README: Listed as contributors
- Release Notes: Mentioned in relevant releases
- GitHub: Contributor statistics and activity
- Documentation: Credited for significant contributions
By contributing to this project, you agree that your contributions will be licensed under the same MIT License that covers the project.
Thank you for contributing to the Rapid Development Platform Prototype! Your contributions help make this project better for everyone.
Happy Contributing! 🚀