Thank you for your interest in contributing to BRICKS AI! We welcome contributions from the community to help improve and expand our AI-powered coding IDE.
- Code of Conduct
- Getting Started
- Development Setup
- How to Contribute
- Pull Request Process
- Development Guidelines
- Reporting Issues
This project adheres to a code of conduct to ensure a welcoming environment for all contributors. By participating, you agree to:
- Be respectful and inclusive
- Focus on constructive feedback
- Accept responsibility for mistakes
- Show empathy towards other contributors
- Help create a positive community
Before you begin, ensure you have the following installed:
- Node.js (version 18.0 or higher)
- npm or yarn package manager
- Git for version control
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/softenrj/bricks-ai.git cd bricks-ai -
Install dependencies:
npm install # or yarn install -
Set up environment variables:
- Copy
src/config/firebaseConfig.example.tstosrc/config/firebaseConfig.ts - Fill in your Firebase configuration values
- Copy
-
Start the development server:
npm run dev # or yarn dev -
Open your browser and navigate to
http://localhost:3000
We welcome various types of contributions:
- 🐛 Bug fixes - Fix existing issues
- ✨ Features - Add new functionality
- 📚 Documentation - Improve docs and guides
- 🎨 UI/UX - Enhance user interface and experience
- 🧪 Tests - Add or improve test coverage
- 🔧 Tools - Development tools and scripts
- Check the Issues tab
- Look for issues labeled
good first issueorhelp wanted - Comment on an issue to indicate you're working on it
-
Create a feature branch from
main:git checkout -b feature/your-feature-name
-
Make your changes following our development guidelines
-
Test your changes thoroughly
-
Commit your changes with descriptive messages:
git commit -m "feat: add new feature description" -
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request on GitHub:
- Provide a clear title and description
- Reference any related issues
- Include screenshots for UI changes
We follow conventional commit format:
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featuresfix: Bug fixesdocs: Documentation changesstyle: Code style changesrefactor: Code refactoringtest: Adding testschore: Maintenance tasks
- Use TypeScript for all new code
- Follow the existing code style and patterns
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions small and focused
src/
├── app/ # Next.js app directory
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ └── ... # Feature-specific components
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── store/ # Redux store and slices
├── types/ # TypeScript type definitions
└── utils/ # Helper utilities
- Write tests for new features
- Ensure existing tests pass
- Test both happy path and error scenarios
- Optimize bundle size
- Use React.memo for expensive components
- Implement proper loading states
- Avoid unnecessary re-renders
When reporting bugs or requesting features:
- Check existing issues to avoid duplicates
- Use issue templates when available
- Provide detailed information:
- Steps to reproduce
- Expected vs actual behavior
- Browser/OS information
- Screenshots if applicable
If you need help or have questions:
- 📧 Email: rjsharmase@gmail.com
- 💬 Discussions: Use GitHub Discussions for questions
- 🐛 Issues: Report bugs via GitHub Issues
By contributing to BRICKS AI, you agree that your contributions will be licensed under the same license as the project: the Apache License 2.0. See LICENSE for details.
Thank you for contributing to BRICKS AI! 🚀