Welcome Contributors!
Thank you for your interest in contributing to Polaris IDE! This guide will help you get started with contributing code, documentation, and bug reports.Getting Started
Fork the repository
Visit github.com/code-with-antonio/polaris and click the “Fork” button.
Set up development environment
Follow the Setup Guide to install dependencies and configure environment variables.
Code Standards
TypeScript Guidelines
Use strict TypeScript
Use strict TypeScript
- Enable
strictmode intsconfig.json - Avoid
anytypes - useunknownor proper types - Use type inference where possible
- Define explicit return types for functions
Component patterns
Component patterns
Use functional components with TypeScript:
Convex operations
Convex operations
All database operations must:
- Verify authentication first
- Use proper indexes
- Handle errors gracefully
Error handling
Error handling
- Use descriptive error messages
- Log errors to Sentry in production
- Show user-friendly messages in UI
Code Style
- Formatting
- Naming
- Imports
- Comments
- Use ESLint for code quality
- 2 spaces for indentation
- Single quotes for strings
- Semicolons required
- Trailing commas in multiline
Testing
Unit Tests
All new features should include unit tests. Aim for >80% code coverage.
E2E Tests
Pull Request Process
Commit your changes
Use conventional commit messages:Types:
feat- New featurefix- Bug fixdocs- Documentationrefactor- Code restructuringtest- Testschore- Maintenance
Create Pull Request
- Go to the original repository
- Click “New Pull Request”
- Select your fork and branch
- Fill out the PR template:
Development Workflow
Feature Development
Common Contribution Areas
CodeMirror Extensions
Add new editor features:
- Language support
- Custom themes
- Editor widgets
- Keybindings
AI Features
Enhance AI capabilities:
- New AI tools
- Prompt improvements
- Model integrations
- Context optimization
UI Components
Improve user interface:
- shadcn/ui components
- Layouts and panels
- Responsive design
- Accessibility
Documentation
Help others learn:
- Guides and tutorials
- API documentation
- Code examples
- Video walkthroughs
Community Guidelines
Code of Conduct
Code of Conduct
- Be respectful and inclusive
- Welcome newcomers
- Focus on constructive feedback
- Report inappropriate behavior
Getting Help
Getting Help
- Check existing issues first
- Use GitHub Discussions for questions
- Join the Discord community
- Tag maintainers when needed
Issue Reporting
Issue Reporting
When reporting bugs:
- Search existing issues
- Use the bug report template
- Include reproduction steps
- Provide environment details
- Add screenshots/videos if helpful
Recognition
Contributors are recognized in:CONTRIBUTORS.mdfile- Release notes
- GitHub contributor graph
- Special mentions in announcements
First-time contributors receive a special welcome and guidance from maintainers!
Next Steps
Setup Guide
Set up your development environment
Architecture
Understand the system design
Custom Extensions
Build CodeMirror extensions
Background Jobs
Work with Trigger.dev tasks