Thank you for your interest in contributing to OSS website! We welcome contributions from the community to foster and encourage Open Source
- Getting Started
- Development Setup
- Code Standards
- Making Changes
- Submitting Changes
- Reporting Issues
- Code Review Process
This is a modern web application built with:
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- React 19 - Latest React features
- Lucide React - Icon library
- Node.js (version 18 or higher)
- npm, yarn, or pnpm package manager
- Git
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/Website.git cd Website -
Install dependencies:
npm install # or yarn install # or pnpm install
-
Start the development server:
npm run dev # or yarn dev # or pnpm dev
-
Open your browser and visit http://localhost:3000
npm run dev- Start development server with Turbopacknpm run build- Build the application for productionnpm run start- Start the production servernpm run lint- Run ESLint to check for code issues
- Use TypeScript for all new code
- Define proper types and interfaces
- Avoid using
anytype unless absolutely necessary - Use strict mode configuration
- Follow the existing code style and conventions
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions small and focused on a single responsibility
- Use functional components with hooks
- Place components in the
app/components/directory - Use PascalCase for component names
- Export components as default exports
app/
├── components/ # Reusable UI components
├── globals.css # Global styles
├── layout.tsx # Root layout
├── page.tsx # Home page
└── [other-pages]/ # Additional pages
- Use Tailwind CSS classes for styling
- Follow mobile-first responsive design principles
- Use semantic HTML elements
- Ensure accessibility standards are met
- Check existing issues to see if your feature/bug is already being worked on
- Create a new issue to discuss major changes
- Fork the repository and create a new branch
Use descriptive branch names:
feature/add-contact-formfix/header-navigation-bugdocs/update-readmerefactor/optimize-images
Write clear, descriptive commit messages:
- Use present tense ("Add feature" not "Added feature")
- Keep the first line under 50 characters
- Add more detailed description if needed
Examples:
Add contact form component
- Create ContactForm component with validation
- Add form submission handling
- Include responsive design for mobile
-
Update your fork with the latest changes from main:
git checkout main git pull upstream main git checkout your-feature-branch git rebase main
-
Test your changes:
npm run build npm run lint
-
Push your changes:
git push origin your-feature-branch
-
Create a Pull Request on GitHub with:
- Clear title describing the change
- Detailed description of what was changed and why
- Reference any related issues
- Screenshots for UI changes
- Keep PRs focused on a single feature or fix
- Include tests if applicable
- Update documentation as needed
- Ensure all checks pass
- Be responsive to feedback during review
When reporting bugs, please include:
- Clear description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Browser and OS information
- Screenshots if applicable
For new features:
- Describe the problem you're trying to solve
- Explain your proposed solution
- Consider alternative approaches
- Discuss potential impact on existing functionality
- All changes require review before merging
- Reviewers will check for:
- Code quality and standards
- Functionality and testing
- Performance implications
- Security considerations
- Address feedback promptly and professionally
- Once approved, maintainers will merge the PR
- Open an issue for questions about the project
- Join our community discussions
- Check existing documentation and issues first
By contributing to this project, you agree that your contributions will be licensed under the same license as the project.
Thank you for contributing! 🎉