Thank you for your interest in contributing to the Black History Month Innovation Summit (BHM-website)! This document provides guidelines and information for contributors.
- Node.js 18 or higher
- npm or yarn package manager
- Git
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/BHM-website.git cd BHM-website -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
If Push or Create Pull Request in GitHub Desktop opens or targets a different organization or repository:
-
Re-add the repo so GitHub Desktop picks up the correct remote:
- In GitHub Desktop: File → Remove repository (removes it from the list only; files stay on disk).
- File → Add Local Repository and choose this project folder (
BHM-website). - GitHub Desktop will use the existing Git remotes; pushes and "Create Pull Request" should now target Compass-Detroit/BHM-website.
-
Confirm remotes in Terminal (optional):
git remote -v
You should see
origin(and optionallyupstream) pointing tohttps://github.com/Compass-Detroit/BHM-website.git. If not:git remote set-url origin https://github.com/Compass-Detroit/BHM-website.git
Then remove and re-add the repo in GitHub Desktop as in step 1.
All pull requests are automatically checked for:
- Code Quality: ESLint checks for code style and potential errors
- Code Formatting: Prettier ensures consistent code formatting
- Build Verification: Ensures the application builds successfully
- Accessibility: Automated accessibility testing with axe-core and pa11y
- Security: npm audit checks for security vulnerabilities
Before submitting a PR, please ensure:
- Code follows the project's coding standards
- All automated checks pass
- Code is properly commented where necessary
- No console.log statements left in the code
- Error handling is implemented where appropriate
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix- Write clean, readable code
- Follow the existing code style
- Add comments for complex logic
- Test your changes locally
# Run linting
npm run lint
# Check formatting
npm run format:check
# Run accessibility tests
npm run test:a11y
# Build the application
npm run buildWe use conventional commits. Your commit message should follow this format:
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasksci: CI/CD changesbuild: Build system changes
Examples:
git commit -m "feat(speakers): add speaker bio modal"
git commit -m "fix(navbar): resolve mobile menu accessibility issue"
git commit -m "docs(readme): update installation instructions"git push origin feature/your-feature-nameThen create a pull request on GitHub using our PR template.
We are committed to making the Black History Month Innovation Summit website accessible to everyone. Please ensure:
- All interactive elements are keyboard accessible
- Focus indicators are visible and clear
- Tab order is logical and intuitive
- Images have appropriate alt text
- Form labels are properly associated
- Headings follow a logical hierarchy
- Interactive elements have descriptive names
- Color contrast meets WCAG AA standards (4.5:1 for normal text)
- Text can be resized up to 200% without loss of functionality
- Information is not conveyed by color alone
# Run automated accessibility tests
npm run test:a11y
# Run pa11y tests
npm run test:a11y:pa11y- Use functional components with hooks
- Use meaningful variable and function names
- Keep components small and focused
- Use PropTypes for prop validation
- Follow the existing ESLint configuration
- Use Tailwind CSS for styling
- Follow the existing design system
- Use semantic HTML elements
- Keep styles organized and maintainable
- Keep related files together
- Use descriptive file and folder names
- Follow the existing project structure
- Use the PR template - Fill out all relevant sections
- Ensure all checks pass - The CI pipeline must pass before merging
- Request reviews - Tag appropriate reviewers
- Address feedback - Respond to review comments promptly
- Keep PRs focused - One feature or fix per PR
- Write clear descriptions - Explain what changed and why
When reporting issues, please use our issue templates:
- Bug Report: For reporting bugs and issues
- Feature Request: For suggesting new features
- Accessibility Issue: For reporting accessibility problems
- Be respectful and inclusive
- Help others learn and grow
- Provide constructive feedback
- Follow the GDG Code of Conduct
- GitHub Discussions: For general questions and discussions
- Issues: For bug reports and feature requests
Releases are managed by the maintainers. When your PR is merged:
- The changes are automatically deployed
- You'll be credited in the release notes
- The website will be updated with your contributions
Thank you for contributing to the Black History Month Innovation Summit website! Your contributions help make our event more accessible and engaging for the community.
Note: This project is maintained by the Compass Detroit team. For questions about the project or this contributing guide, please open an issue or start a discussion.