Thank you for your interest in contributing to ArmorEditor! This document provides guidelines and information for contributors.
- Node.js 16+
- npm or yarn
- Git
# Clone the repository
git clone https://github.com/technicults/armor-editor.git
cd armor-editor
# Install dependencies
npm install
# Start development
npm run dev
# Build the project
npm run build- Fork the repository on GitHub
- Clone your fork locally
- Add upstream remote:
git remote add upstream https://github.com/technicults/armor-editor.git
git checkout -b feature/your-feature-name
# or
git checkout -b fix/issue-description- Write clean, readable code
- Follow existing code style
- Add tests for new features
- Update documentation as needed
# Run tests
npm test
# Build and test
npm run build
npm run test:integrationgit add .
git commit -m "feat: add new feature description"
git push origin feature/your-feature-name- Open a PR against the main branch
- Provide clear description of changes
- Link related issues
- Ensure CI passes
- Use TypeScript for all new code
- Provide proper type definitions
- Avoid
anytypes when possible
- Use 2 spaces for indentation
- Use semicolons
- Use single quotes for strings
- Max line length: 100 characters
- Use camelCase for variables and functions
- Use PascalCase for classes and interfaces
- Use UPPER_CASE for constants
- Use descriptive names
- Write unit tests for all new functions
- Use Jest testing framework
- Aim for 80%+ code coverage
- Test framework integrations
- Test AI provider integrations
- Test real-world scenarios
- Test complete user workflows
- Test cross-browser compatibility
- Test mobile responsiveness
- Add JSDoc comments for public APIs
- Document complex algorithms
- Include usage examples
- Update feature lists
- Add new configuration options
- Update examples
- Document all public methods
- Include parameter types
- Provide usage examples
- Use the bug report template
- Provide minimal reproduction case
- Include browser/environment details
- Add screenshots if applicable
- Use the feature request template
- Explain the use case
- Provide implementation suggestions
- Consider backward compatibility
feat: add new featurefix: resolve issue descriptiondocs: update documentationtest: add test coveragerefactor: improve code structure
- Clear description of changes
- Link to related issues
- Breaking changes noted
- Testing instructions
- All PRs require review
- Address reviewer feedback
- Maintain clean commit history
- Squash commits if needed
- Follow Semantic Versioning (SemVer)
- Major: Breaking changes
- Minor: New features
- Patch: Bug fixes
Our release process is fully automated via GitHub Actions:
- Push to main branch - triggers automatic build and tests
- GitHub Actions handles:
- Version bumping
- Changelog updates
- Build generation
- npm publishing
- GitHub release creation
No manual release steps needed!
- Be respectful and inclusive
- Welcome newcomers
- Provide constructive feedback
- Focus on the code, not the person
- Use GitHub issues for bugs/features
- Use discussions for questions
- Be clear and concise
- Provide context and examples
- GitHub Issues: Bug reports and features
- GitHub Discussions: Questions and ideas
- Email: [email protected]
Contributors will be recognized in:
- README.md contributors section
- Release notes
- GitHub contributors page
Thank you for contributing to ArmorEditor!