Contribute to Core
Learn how to contribute to IrisOS core development and help improve the framework.
Getting Started
Prerequisites
Node.js 20.x or higher
pnpm (recommended) or npm
Git
TypeScript knowledge
Familiarity with AI/LLM concepts
Development Setup
# Fork the repository on GitHub
# Then clone your fork
git clone https://github.com/YOUR_USERNAME/irisos.git
cd irisos
# Add upstream remote
git remote add upstream https://github.com/IrisOS-xyz/irisos.git
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run tests
pnpm testDevelopment Workflow
1. Create a Feature Branch
2. Make Your Changes
Follow the project structure:
3. Write Tests
All new features must include tests:
4. Run Tests
5. Lint and Format
6. Commit Your Changes
Follow Conventional Commits:
Commit types:
feat: New featurefix: Bug fixdocs: Documentation changestest: Adding or updating testsrefactor: Code refactoringperf: Performance improvementschore: Maintenance tasksci: CI/CD changes
7. Push and Create Pull Request
Pull Request Guidelines
PR Title
Use conventional commit format:
PR Description Template
Code Style Guide
TypeScript Guidelines
Naming Conventions
File Organization
Testing Guidelines
Test Structure
Test Coverage
Aim for:
80%+ overall coverage
100% for critical paths
Edge cases covered
Error conditions tested
Documentation Guidelines
Code Documentation
README Updates
When adding features, update relevant README files:
Adding New Features
API Endpoints
Plugin System
Performance Guidelines
Optimization Tips
Memory Management
Security Guidelines
Input Validation
API Key Handling
Review Process
What Reviewers Look For
Code Quality
Follows style guide
Well-structured and readable
Proper error handling
Tests
Adequate test coverage
Tests pass consistently
Edge cases covered
Documentation
Clear comments
Updated README
API documentation
Performance
No obvious performance issues
Resource cleanup
Scalability considerations
Security
Input validation
No exposed secrets
Proper authentication
Addressing Review Comments
Release Process
Versioning
We follow Semantic Versioning:
Major (1.0.0 → 2.0.0): Breaking changes
Minor (1.0.0 → 1.1.0): New features, backward compatible
Patch (1.0.0 → 1.0.1): Bug fixes
Changelog
Update CHANGELOG.md for significant changes:
Getting Help
Where to Ask Questions
Discord: IrisOS Discord - #contributors channel
GitHub Discussions: For design discussions
GitHub Issues: For bug reports and feature requests
Resources
Recognition
Contributors are recognized in:
CONTRIBUTORS.mdfileRelease notes
Project README
IrisOS website (for significant contributions)
Code of Conduct
We are committed to providing a welcoming and inclusive environment. Please:
Be respectful and constructive
Welcome newcomers
Focus on what is best for the community
Show empathy towards others
Next Steps
Thank You!
Thank you for contributing to IrisOS! Your contributions help make IrisOS better for everyone.
Last updated