We welcome contributions! Here's how to get started quickly.
# Clone and setup
git clone https://github.com/BlackBeltTechnology/pandino.git
cd pandino
pnpm install
# Build all packages
pnpm build
# Run tests
pnpm test- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes following our coding standards
- Test your changes:
pnpm test - Commit with conventional commits:
feat: add amazing feature - Push and create a Pull Request
| Type | Examples |
|---|---|
| π Bug fixes | Fix service registration race conditions |
| β¨ Features | New built-in services, bundle lifecycle improvements |
| π Documentation | README improvements, code examples |
| π§ Tooling | Build improvements, test utilities |
| β‘ Performance | Bundle startup optimizations |
- Tests required - New features need unit tests
- Conventional commits - Use
feat:,fix:,docs:, etc. - Code linter - We use OXC (runs automatically)
- Code formatting - We use Biome (runs automatically)
# Run all tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Run tests with coverage
pnpm test:coverage
# Test specific package
pnpm --filter @pandino/pandino testpackages/
βββ pandino/ # Core framework
βββ react-hooks/ # React integration
βββ example/ # Demo application
Include:
- Environment - Node.js version, OS, package versions
- Steps to reproduce - Minimal code example
- Expected vs actual behavior
- Error messages - Full stack traces
- π Issues - For bugs and feature requests
- π§ Email - For security issues: norbert.herczeg@blackbelt.hu
By contributing, you agree your contributions will be licensed under the Eclipse Public License - v 2.0.
Thanks for making Pandino better! π