- Complete project structure with Next.js frontend - GraphQL API backend with Apollo Server - Portal application with NextAuth - Crossplane Proxmox provider - GitOps configurations - CI/CD pipelines - Testing infrastructure (Vitest, Jest, Go tests) - Error handling and monitoring - Security hardening - UI component library - Documentation
2.0 KiB
2.0 KiB
Contributing to Phoenix Sankofa Cloud
Thank you for your interest in contributing to Phoenix Sankofa Cloud! This document provides guidelines and instructions for contributing.
Code of Conduct
- Be respectful and inclusive
- Welcome newcomers and help them learn
- Focus on constructive feedback
- Respect different viewpoints and experiences
Getting Started
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/Sankofa.git - Create a branch:
git checkout -b feature/your-feature-name - Make your changes
- Commit your changes:
git commit -m "Add your feature" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request
Development Setup
See DEVELOPMENT.md for detailed setup instructions.
Pull Request Process
- Ensure your code follows the project's style guidelines
- Add tests for new features
- Ensure all tests pass:
pnpm test - Update documentation as needed
- Ensure your branch is up to date with the main branch
- Submit your PR with a clear description
Coding Standards
TypeScript/JavaScript
- Use TypeScript for all new code
- Follow the existing code style
- Use meaningful variable and function names
- Add JSDoc comments for public APIs
- Avoid
anytypes - use proper typing
React Components
- Use functional components with hooks
- Keep components small and focused
- Extract reusable logic into custom hooks
- Use proper prop types or TypeScript interfaces
Git Commits
- Use clear, descriptive commit messages
- Follow conventional commits format when possible
- Keep commits focused on a single change
Testing
- Write tests for all new features
- Ensure existing tests still pass
- Aim for >80% code coverage
- Test both success and error cases
Documentation
- Update README.md if needed
- Add JSDoc comments for new functions
- Update API documentation for backend changes
- Keep architecture docs up to date
Questions?
Feel free to open an issue for questions or reach out to the maintainers.